﻿/* The Hungry Mile â€” game-scoped CSS escape hatch */
/* Scoped to :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) set by layout.tsx */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Lato:wght@300;400;700;900&family=Special+Elite&display=swap');

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) {
  --font-display: 'Playfair Display', 'Georgia', serif;
  --font-body: 'Lato', system-ui, sans-serif;
  --font-document: 'Special Elite', 'Courier New', monospace;

  /* Extended gold palette from the original HTML prototype */
  --gold: #C9933A;
  --gold-light: #E8B85A;
  --gold-dim: #C29143;
  --gold-faint: #5A4020;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) h1,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) h2,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) h3 {
  font-family: var(--font-display);
  letter-spacing: 0.06em;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) p,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) li {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.7;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .font-mono {
  font-family: var(--font-document);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) input,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) textarea {
  font-family: system-ui, -apple-system, sans-serif;
}

/* Gold gradient primary button â€” matches .btn-primary in the HTML prototype */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) button[class*="bg-primary"]:not(:disabled) {
  background: linear-gradient(135deg, #d4a85a 0%, #b8862e 40%, #c9933a 60%, #e8b85a 100%);
  box-shadow:
    inset 0 0 0 1px rgba(232, 184, 90, 0.3),
    0 4px 16px rgba(201, 147, 58, 0.2);
  color: #0E0700;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) button[class*="bg-primary"]:not(:disabled):hover {
  background: linear-gradient(135deg, #e8b85a 0%, #c9933a 40%, #d4a85a 60%, #f0cc7a 100%);
}

/* Decorative anchor separator used in chapter completion */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .anchor-sep::before,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .anchor-sep::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--gold-faint);
}

/* Evidence document styling â€” monospace lined-paper effect */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .evidence-doc {
  font-family: var(--font-document);
  position: relative;
  overflow: hidden;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .evidence-doc::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 24px,
    rgba(201, 147, 58, 0.5) 24px,
    rgba(201, 147, 58, 0.5) 25px
  );
  pointer-events: none;
}

/* Progress fill gradient */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) [class*="bg-primary"][role="progressbar"] {
  background: linear-gradient(90deg, #C9933A, #E8B85A);
}

/* â”€â”€ Lobby: parchment button (V4 treatment from UI prototype) â”€â”€ */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) {
  --parchment: url("data:image/jpeg;base64,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");
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .btn-parchment {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 18px 32px;
  border-radius: 5px;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  background-image: var(--parchment);
  background-size: cover;
  background-position: center 35%;
  color: #0E0700;
  border: 1px solid #1A0C00;
  box-shadow:
    inset  8px 0 16px -8px rgba(0,0,0,0.28),
    inset -8px 0 16px -8px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,215,110,0.30),
    0 6px 30px rgba(0,0,0,0.72),
    0 2px 0 #140900;
  filter: saturate(1.15) sepia(0.22) brightness(0.88);
  transition: transform 0.15s, filter 0.15s, box-shadow 0.15s;
  text-decoration: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .btn-parchment::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.14) 0%, transparent 18%),
    linear-gradient(0deg,   rgba(0,0,0,0.14) 0%, transparent 18%);
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .btn-parchment:hover {
  filter: saturate(1.2) sepia(0.22) brightness(0.94);
  box-shadow:
    inset 0 1px 0 rgba(255,215,110,0.38),
    0 10px 40px rgba(0,0,0,0.80),
    0 2px 0 #140900;
  transform: translateY(-1px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .btn-parchment:active {
  transform: translateY(1px);
  filter: saturate(1.15) sepia(0.22) brightness(0.84);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .btn-parchment:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}


/* â”€â”€ Lobby shell â€” template design (01-lobby.html) â”€â”€ */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(0,10,14,.55) 0%, rgba(0,9,12,.22) 24%, rgba(0,8,10,.66) 61%, rgba(0,6,8,.99) 100%),
    radial-gradient(circle at 50% 28%, rgba(16,68,85,.37), transparent 42%),
    url("/games/the-hungry-mile/arrival-background.png");
  background-size: cover;
  background-position: center center;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 18%, transparent 0 22%, rgba(0,0,0,.2) 43%, rgba(0,0,0,.7) 100%),
    linear-gradient(90deg, rgba(0,0,0,.68), transparent 18% 82%, rgba(0,0,0,.72)),
    linear-gradient(180deg, rgba(0,8,11,.18), rgba(0,6,8,.78) 72%, rgba(0,5,7,.98));
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
  opacity: .23;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell main {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  min-height: 100dvh;
  display: grid;
  align-content: end;
  margin-inline: auto;
  padding: clamp(34px,6dvh,72px) clamp(20px,6vw,72px) clamp(28px,4dvh,52px);
  box-sizing: border-box;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell main:has(.align-top) {
  align-content: start;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .content-stack {
  display: grid;
  gap: clamp(22px,3.8vw,34px);
  text-align: center;
  text-shadow: 0 2px 12px rgba(0,0,0,.85);
}

/* Page header */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .page-header {
  display: grid;
  gap: clamp(8px,1.7vw,14px);
  text-align: center;
  margin-bottom: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .align-top .page-header {
  margin-bottom: clamp(18px,3vw,28px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .eyebrow {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(.88rem,2.35vw,1.08rem);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #D4A044;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell h1 {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .07em;
  color: #fff1dc;
  font-size: clamp(1.72rem,6.7vw,3.35rem);
  line-height: 1.02;
  text-wrap: balance;
  filter: drop-shadow(0 5px 16px rgba(0,0,0,.8));
  text-shadow: 0 5px 16px rgba(0,0,0,.8);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .subhead {
  margin: 0 auto;
  max-width: 610px;
  color: rgba(255,246,230,.96);
  font-size: clamp(.98rem,2.65vw,1.15rem);
  line-height: 1.4;
  text-shadow: 0 2px 12px rgba(0,0,0,.85);
}

/* Panel */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .panel {
  position: relative;
  border: 1px solid rgba(238,158,55,.6);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(7,20,24,.88), rgba(4,13,16,.83)),
    radial-gradient(circle at 50% 0%, rgba(241,164,30,.16), transparent 38%);
  box-shadow: 0 18px 55px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.03);
  padding: clamp(18px,3.6vw,26px) clamp(18px,4.2vw,42px) clamp(20px,4vw,32px);
  text-align: left;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .panel-title {
  margin: 0 0 14px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem,3.1vw,1.35rem);
  text-transform: uppercase;
  color: #D4A044;
  letter-spacing: .14em;
}

/* Form inputs inside panel */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .form-grid {
  display: grid;
  gap: 14px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell label {
  display: grid;
  gap: 7px;
  font-size: .88rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #e8bd7e;
  font-weight: 800;
  font-family: 'Lato', system-ui, sans-serif;
  text-align: left;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell input {
  width: 100%;
  border: 1px solid rgba(232,174,91,.28);
  border-radius: 12px;
  background: rgba(0,7,9,.64);
  color: #fff3df;
  padding: 14px 15px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  font-family: 'Special Elite', 'Courier New', monospace;
  box-sizing: border-box;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell input:focus-visible {
  outline: 3px solid rgb(241,164,30);
  outline-offset: 3px;
}

/* Member list */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .member-list {
  display: grid;
  gap: 10px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .member-row {
  border: 1px solid rgba(232,174,91,.10);
  background: rgba(2,12,15,.34);
  border-radius: 12px;
  padding: 10px;
  color: rgba(255,241,219,.98);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  text-align: left;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .avatar {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(241,164,30,.13);
  border: 1px solid rgba(241,164,30,.36);
  color: #D4A044;
  font-weight: 800;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .member-row strong {
  display: block;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .form-hint {
  color: rgba(255,241,219,.92);
  font-size: clamp(1.1rem,3.2vw,1.3rem);
  line-height: 1.4;
  margin: 0;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
  min-width: 78px;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .status-pill.ready {
  color: #0b2b16;
  background: #9fe6b8;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .status-pill.waiting {
  color: #2a1700;
  background: #ffd78a;
}

/* Location card */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .location-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 15px 18px;
  border-radius: 16px;
  background: rgba(0,7,9,.58);
  border: 1px solid rgba(232,174,91,.18);
  text-align: left;
  backdrop-filter: blur(8px);
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .location-card svg {
  color: #e8bd7e;
  margin-top: 2px;
  flex-shrink: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .location-card strong {
  display: block;
  margin-bottom: 4px;
  color: #D4A044;
  font-family: 'Lato', system-ui, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .88rem;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .location-card p {
  margin: 0;
  color: rgba(255,246,232,.94);
  font-size: .98rem;
  line-height: 1.35;
  font-family: 'Lato', system-ui, sans-serif;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .location-card-image {
  display: block;
  width: 100%;
  margin-top: 12px;
  border-radius: 12px;
  border: 1px solid rgba(232,174,91,.22);
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
  object-fit: cover;
}

/* Primary CTA button */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  width: min(620px, 100%);
  margin: 0 auto;
  min-height: clamp(45px,7vw,53px);
  padding: 13px 15px;
  border: 1px solid rgba(246,186,94,.86);
  border-radius: 10px;
  color: #15110b;
  background:
    linear-gradient(180deg, rgba(255,246,219,.46), rgba(255,244,211,.16) 38%, rgba(118,79,36,.12) 100%),
    #d4b47f;
  box-shadow:
    0 0 0 1px rgba(42,25,7,.72),
    0 14px 30px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -2px 0 rgba(75,45,18,.22);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(0.8rem,3.15vw,1.22rem);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  overflow: hidden;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 46%, rgba(69,39,12,.09) 100%),
    url("/games/the-hungry-mile/paper-texture.png");
  background-size: cover, 520px 520px;
  background-position: center, center;
  opacity: .62;
  mix-blend-mode: multiply;
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 7px;
  border: 1px solid rgba(255,233,179,.2);
  box-shadow:
    inset 0 0 18px rgba(77,45,16,.16),
    inset 0 0 1px rgba(255,255,255,.24);
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta span,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta svg {
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 0 rgba(255,239,200,.38);
}
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta svg { width: 15px; height: 15px; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.06) saturate(1.01);
  box-shadow:
    0 0 0 1px rgba(255,218,145,.94),
    0 18px 38px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.52),
    inset 0 -2px 0 rgba(75,45,18,.22);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .primary-cta:active {
  transform: translateY(1px);
  filter: brightness(.96);
}

/* Ghost / secondary buttons */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .ghost-button,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .secondary-link {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  min-height: 44px;
  border: 1px solid rgba(232,174,91,.30);
  border-radius: 10px;
  background: rgba(0,7,9,.45);
  color: #fff3df;
  font-weight: 800;
  padding: 10px 16px;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: border-color .18s ease, background .18s ease;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .ghost-button:hover,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .secondary-link:hover {
  border-color: rgba(232,174,91,.70);
  background: rgba(232,174,91,.12);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .ghost-button:active,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .secondary-link:active {
  transform: translateY(1px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .button-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Field error */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .hm-field-error {
  color: #e07070;
  font-size: .85rem;
  margin: 0;
  font-family: 'Lato', system-ui, sans-serif;
  text-shadow: none;
}

/* Modal */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.75);
  padding: 16px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-modal-box {
  width: 100%;
  max-width: 360px;
  border: 1px solid rgba(238,158,55,.6);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(7,20,24,.97), rgba(4,13,16,.96));
  padding: 28px 24px;
  box-shadow: 0 24px 75px rgba(0,0,0,.7);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-modal-title {
  margin: 0 0 12px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.1rem;
  text-transform: uppercase;
  color: #D4A044;
  letter-spacing: .14em;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-modal-body {
  margin: 0 0 20px;
  color: rgba(255,246,230,.94);
  font-family: 'Lato', system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-modal-body strong {
  color: #fff3df;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-modal-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

/* Responsive */
@media (min-width: 900px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell main {
    padding-top: clamp(96px,14dvh,170px);
  }
}

@media (max-width: 650px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell main {
    padding-inline: 18px;
    padding-top: clamp(28px,5dvh,54px);
  }

  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell h1 {
    font-size: clamp(1.68rem,8.2vw,2.85rem);
  }

  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .member-row {
    grid-template-columns: auto 1fr;
  }

  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-lobby-shell .member-row .status-pill {
    grid-column: 2;
    justify-self: start;
  }
}


/* â”€â”€ Play shell â€” template design (02-intro.html) â”€â”€ */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(0,10,14,.55) 0%, rgba(0,9,12,.22) 24%, rgba(0,8,10,.66) 61%, rgba(0,6,8,.99) 100%),
    radial-gradient(circle at 50% 28%, rgba(60,54,110,.30), transparent 42%),
    url("/games/the-hungry-mile/arrival-background.png");
  background-size: cover;
  background-position: center center;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 18%, transparent 0 22%, rgba(0,0,0,.2) 43%, rgba(0,0,0,.7) 100%),
    linear-gradient(90deg, rgba(0,0,0,.68), transparent 18% 82%, rgba(0,0,0,.72)),
    linear-gradient(180deg, rgba(0,8,11,.18), rgba(0,6,8,.78) 72%, rgba(0,5,7,.98));
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
  opacity: .23;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell main {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  min-height: 100dvh;
  display: grid;
  align-content: end;
  margin-inline: auto;
  padding: clamp(34px,6dvh,72px) clamp(20px,6vw,72px) clamp(28px,4dvh,52px);
  box-sizing: border-box;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .content-stack {
  display: grid;
  gap: clamp(22px,3.8vw,34px);
  text-align: center;
  text-shadow: 0 2px 12px rgba(0,0,0,.85);
}

/* Shared typography â€” reuse lobby shell rules */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .page-header { display: grid; gap: clamp(8px,1.7vw,14px); text-align: center; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .eyebrow { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(.88rem,2.35vw,1.08rem); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#C9933A; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell h1 { margin:0; font-family:'Playfair Display',Georgia,serif; text-transform:uppercase; font-weight:800; letter-spacing:.07em; color:#fff1dc; font-size:clamp(1.72rem,6.7vw,3.35rem); line-height:1.02; text-wrap:balance; filter:drop-shadow(0 5px 16px rgba(0,0,0,.8)); text-shadow:0 5px 16px rgba(0,0,0,.8); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .subhead { margin:0 auto; max-width:610px; color:rgba(255,246,230,.96); font-size:clamp(.98rem,2.65vw,1.15rem); line-height:1.4; text-shadow:0 2px 12px rgba(0,0,0,.85); }

/* Time row â€” centred decorative line */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-time-row {
  display: inline-grid;
  grid-template-columns: minmax(42px,1fr) auto minmax(42px,1fr);
  align-items: center;
  gap: 18px;
  justify-self: center;
  width: min(360px, 78vw);
  color: rgba(255,248,234,.98);
  font-size: clamp(1.05rem,3.5vw,1.45rem);
  letter-spacing: .06em;
  font-weight: 500;
  font-family: 'Lato', system-ui, sans-serif;
  text-shadow: 0 2px 12px rgba(0,0,0,.85);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-time-row::before,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-time-row::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,174,91,.55));
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-time-row::after {
  background: linear-gradient(90deg, rgba(232,174,91,.55), transparent);
}

/* Panel â€” reuse lobby shell rules */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .panel { position:relative; border:1px solid rgba(238,158,55,.6); border-radius:10px; background: linear-gradient(180deg,rgba(7,20,24,.88),rgba(4,13,16,.83)), radial-gradient(circle at 50% 0%,rgba(241,164,30,.16),transparent 38%); box-shadow:0 18px 55px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.03); padding:clamp(18px,3.6vw,26px) clamp(18px,4.2vw,42px) clamp(20px,4vw,32px); text-align:left; text-shadow:none; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .panel-title { margin:0 0 14px; font-family:'Playfair Display',Georgia,serif; font-size:clamp(1rem,3.1vw,1.35rem); text-transform:uppercase; color:#C9933A; letter-spacing:.14em; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .panel p { margin:0; font-size:clamp(1.02rem,3.15vw,1.25rem); line-height:1.5; color:rgba(255,248,236,.98); }

/* How to Play â€” 3-column mini cards */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(8px,2vw,20px);
  margin-top: 4px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-mini-card {
  border: 1px solid rgba(232,174,91,.10);
  background: rgba(2,12,15,.34);
  border-radius: 12px;
  padding: 12px 8px;
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
  min-width: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-mini-card svg { color: #e8bd7e; flex: 0 0 auto; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-mini-card strong {
  display: block;
  color: #fff3df;
  font-weight: 800;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: clamp(.78rem,2.4vw,.95rem);
  line-height: 1.2;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-mini-card span {
  color: rgba(255,241,219,.88);
  font-size: clamp(.875rem,2.2vw,.98rem);
  line-height: 1.25;
  font-family: 'Lato', system-ui, sans-serif;
}

/* Location card (Estimated Time) â€” reuse lobby shell */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .location-card { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; padding:15px 18px; border-radius:16px; background:rgba(0,7,9,.58); border:1px solid rgba(232,174,91,.18); text-align:left; backdrop-filter:blur(8px); text-shadow:none; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .location-card svg { color:#e8bd7e; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .location-card strong { display:block; margin-bottom:4px; color:#C9933A; font-family:'Lato',system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; font-size:.88rem; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .location-card p { margin:0; color:rgba(255,246,232,.94); font-size:.98rem; line-height:1.35; font-family:'Lato',system-ui,sans-serif; text-shadow:none; }

/* Chapter list inside the panel */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-row {
  display: grid;
  grid-template-columns: 28px 1fr 20px;
  gap: 12px;
  align-items: center;
  border-radius: 10px;
  padding: 10px 12px;
  text-decoration: none;
  text-align: left;
  transition: background .18s ease, border-color .18s ease;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-locked {
  border: 1px solid rgba(232,174,91,.08);
  background: rgba(2,12,15,.20);
  opacity: 0.5;
  cursor: default;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-unlocked {
  border: 1px solid rgba(232,174,91,.22);
  background: rgba(2,12,15,.38);
  color: inherit;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-unlocked:hover {
  border-color: rgba(232,174,91,.55);
  background: rgba(232,174,91,.10);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-done {
  border: 1px solid rgba(159,230,184,.25);
  background: rgba(10,40,20,.40);
  color: inherit;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-done:hover {
  background: rgba(10,40,20,.55);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-num {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(241,164,30,.13);
  border: 1px solid rgba(241,164,30,.30);
  color: #D4A044;
  font-family: 'Lato', system-ui, sans-serif;
  font-weight: 800;
  font-size: .78rem;
  flex-shrink: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-info {
  display: grid;
  gap: 1px;
  min-width: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-subtitle {
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #e0b76b;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-title {
  font-family: 'Lato', system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff3df;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-location {
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .85rem;
  color: rgba(255,241,219,.60);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-done .hm-chapter-title { color: #9fe6b8; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-done .hm-chapter-num { border-color: rgba(159,230,184,.35); color: #9fe6b8; background: rgba(10,40,20,.40); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-status {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(232,174,91,.60);
  flex-shrink: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-done .hm-chapter-status { color: #9fe6b8; }

/* Host team panel inside chapter panel */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-team-panel {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(238,158,55,.18);
}

/* Shared with lobby shell â€” member list, avatar, pills, ghost button, primary CTA */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .member-list { display:grid; gap:10px; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .member-row { border:1px solid rgba(232,174,91,.10); background:rgba(2,12,15,.34); border-radius:12px; padding:10px; color:rgba(255,241,219,.98); display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; text-align:left; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .avatar { width:36px; height:36px; display:inline-grid; place-items:center; border-radius:999px; background:rgba(241,164,30,.13); border:1px solid rgba(241,164,30,.36); color:#C9933A; font-weight:800; font-family:'Lato',system-ui,sans-serif; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .member-row strong { color:#fff3df; font-family:'Lato',system-ui,sans-serif; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .form-hint { color:rgba(255,241,219,.92); font-size:clamp(1.1rem,3.2vw,1.3rem); line-height:1.4; margin:0; font-family:'Lato',system-ui,sans-serif; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .status-pill { display:inline-flex; align-items:center; gap:6px; justify-content:center; min-width:78px; min-height:44px; border:0; border-radius:999px; padding:6px 10px; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-family:'Lato',system-ui,sans-serif; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .status-pill.ready { color:#0b2b16; background:#9fe6b8; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .status-pill.waiting { color:#2a1700; background:#ffd78a; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-field-error { color:#e07070; font-size:.85rem; margin:0; font-family:'Lato',system-ui,sans-serif; text-shadow:none; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .ghost-button,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .secondary-link { position:relative; display:inline-flex; justify-content:center; align-items:center; gap:8px; text-decoration:none; cursor:pointer; min-height:44px; border:1px solid rgba(232,174,91,.30); border-radius:10px; background:rgba(0,7,9,.45); color:#fff3df; font-weight:800; padding:10px 16px; font-family:'Lato',system-ui,sans-serif; font-size:.88rem; letter-spacing:.06em; text-transform:uppercase; transition:border-color .18s ease,background .18s ease; text-shadow:none; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .ghost-button:hover,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .secondary-link:hover { border-color:rgba(232,174,91,.70); background:rgba(232,174,91,.12); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta { position:relative; display:inline-flex; justify-content:center; align-items:center; gap:8px; text-decoration:none; cursor:pointer; width:min(620px,100%); margin:0 auto; min-height:clamp(45px,7vw,53px); padding:13px 15px; border:1px solid rgba(246,186,94,.86); border-radius:10px; color:#15110b; background: linear-gradient(180deg,rgba(255,246,219,.46),rgba(255,244,211,.16) 38%,rgba(118,79,36,.12) 100%), #d4b47f; box-shadow:0 0 0 1px rgba(42,25,7,.72),0 14px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.46),inset 0 -2px 0 rgba(75,45,18,.22); font-family:'Playfair Display',Georgia,serif; font-size:clamp(0.8rem,3.15vw,1.22rem); font-weight:800; letter-spacing:.14em; text-transform:uppercase; overflow:hidden; transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; text-shadow:none; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta::before { content:""; position:absolute; inset:0; background-image: linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 46%,rgba(69,39,12,.09) 100%), url("/games/the-hungry-mile/paper-texture.png"); background-size:cover,520px 520px; background-position:center,center; opacity:.62; mix-blend-mode:multiply; pointer-events:none; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta::after { content:""; position:absolute; inset:4px; border-radius:7px; border:1px solid rgba(255,233,179,.2); box-shadow:inset 0 0 18px rgba(77,45,16,.16),inset 0 0 1px rgba(255,255,255,.24); pointer-events:none; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta span,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta svg { position:relative; z-index:1; text-shadow:0 1px 0 rgba(255,239,200,.38); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta svg { width:15px; height:15px; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta:hover { transform:translateY(-2px); filter:brightness(1.06) saturate(1.01); box-shadow:0 0 0 1px rgba(255,218,145,.94),0 18px 38px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.52),inset 0 -2px 0 rgba(75,45,18,.22); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .primary-cta:active { transform:translateY(1px); filter:brightness(.96); }

/* ── Play-shell bare-name aliases (play/page.tsx uses these class names) ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .time-row { display:inline-grid; grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr); align-items:center; gap:14px; justify-self:center; width:min(300px,78vw); color:rgba(255,248,234,.98); font-size:clamp(1rem,3vw,1.2rem); letter-spacing:.02em; font-weight:600; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .time-row::before { content:""; height:1px; background:linear-gradient(90deg,transparent,rgba(232,174,91,.55)); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .time-row::after  { content:""; height:1px; background:linear-gradient(90deg,rgba(232,174,91,.55),transparent); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(8px,2vw,16px); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .mini-card { border:1px solid rgba(232,174,91,.10); background:rgba(2,12,15,.34); border-radius:16px; padding:12px; color:rgba(255,241,219,.98); box-shadow:0 6px 18px rgba(0,0,0,.18); display:grid; gap:7px; justify-items:center; text-align:center; min-width:0; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .mini-card svg    { color:#e8bd7e; flex:0 0 auto; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .mini-card strong { display:block; color:#fff3df; font-weight:800; line-height:1.15; font-family:'Lato',system-ui,sans-serif; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .mini-card span   { color:rgba(255,241,219,.82); font-size:clamp(.8rem,2.5vw,.97rem); line-height:1.25; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-list { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:2px; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-row { display:grid; grid-template-columns:36px 1fr 28px; gap:12px; align-items:center; padding:10px 12px; border-radius:10px; text-decoration:none; color:rgba(255,241,219,.98); transition:background .15s ease; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell a.chapter-row:hover { background:rgba(232,174,91,.08); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-locked   { opacity:.42; cursor:default; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-done     { background:rgba(159,230,184,.06); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-unlocked { }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-num { width:28px; height:28px; display:inline-grid; place-items:center; border-radius:999px; background:rgba(241,164,30,.13); border:1px solid rgba(241,164,30,.36); color:#C9933A; font-family:'Lato',system-ui,sans-serif; font-size:.82rem; font-weight:800; flex-shrink:0; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-done .chapter-num { border-color:rgba(159,230,184,.35); color:#9fe6b8; background:rgba(10,40,20,.40); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-info     { display:grid; gap:1px; text-align:left; min-width:0; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-subtitle { display:block; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(232,174,91,.75); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-title    { display:block; font-family:'Lato',system-ui,sans-serif; font-size:clamp(.92rem,2.8vw,1.05rem); color:rgba(255,241,219,.98); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-done .chapter-title { color:#9fe6b8; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-status   { color:#C9933A; display:flex; align-items:center; justify-content:center; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-done .chapter-status { color:#9fe6b8; }

/* Responsive */
@media (min-width: 900px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell main { padding-top: clamp(96px,14dvh,170px); }
}

@media (max-width: 650px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell main { padding-inline:18px; padding-top:clamp(28px,5dvh,54px); }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell h1 { font-size:clamp(1.68rem,8.2vw,2.85rem); }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-grid-3 { gap:8px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-mini-card { padding:8px 5px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .hm-chapter-title { font-size:.95rem; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .grid-3 { gap:8px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .mini-card { padding:8px 5px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-play-shell .chapter-title { font-size:.95rem; }
}


/* ── Location shell — full-page template design (08-map) ── */
/* Owns the entire viewport: cinematic chapter-image bg, top bar,
   title header, centered map, collapsible directions, CTA stack.   */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(0,10,14,.55) 0%, rgba(0,9,12,.22) 24%, rgba(0,8,10,.66) 61%, rgba(0,6,8,.99) 100%),
    radial-gradient(circle at 50% 28%, rgba(25,88,100,.34), transparent 42%),
    var(--hm-chapter-bg, url("/games/the-hungry-mile/arrival-background.png"));
  background-size: cover;
  background-position: center center;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 18%, transparent 0 22%, rgba(0,0,0,.2) 43%, rgba(0,0,0,.7) 100%),
    linear-gradient(90deg, rgba(0,0,0,.68), transparent 18% 82%, rgba(0,0,0,.72)),
    linear-gradient(180deg, rgba(0,8,11,.18), rgba(0,6,8,.78) 72%, rgba(0,5,7,.98));
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
  opacity: .23;
}

/* ── Top bar ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-top-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 52px 1fr 48px;
  align-items: center;
  gap: 12px;
  padding: calc(14px + env(safe-area-inset-top, 0px)) clamp(12px,3vw,24px) 13px;
  background: linear-gradient(180deg, rgba(0,9,12,.88), rgba(0,9,12,.62));
  border-bottom: 1px solid rgba(199,126,42,.34);
  backdrop-filter: blur(10px);
  flex-shrink: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #e8bd7e;
  background: rgba(0,0,0,.13);
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-icon-btn:hover {
  transform: translateY(-1px);
  color: #fff3df;
  border-color: rgba(232,174,91,.55);
  background: rgba(232,174,91,.11);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-icon-btn:active { transform: translateY(1px) scale(.97); }

/* ── Scrollable main ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-main {
  position: relative;
  z-index: 11;
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(16px,3vw,24px);
  padding: clamp(20px,4dvh,36px) clamp(18px,5vw,48px) calc(clamp(20px,4vw,32px) + env(safe-area-inset-bottom, 0px));
  width: min(100%, 760px);
  margin-inline: auto;
}

/* ── Page header — location title ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-page-header {
  text-align: center;
  display: grid;
  gap: clamp(6px,1.4vw,10px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-page-header .eyebrow {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(.82rem,2.2vw,1rem);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #D4A044;
  text-shadow: 0 2px 8px rgba(0,0,0,.7);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-page-header h1 {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .07em;
  color: #fff1dc;
  font-size: clamp(1.55rem,6vw,3rem);
  line-height: 1.03;
  text-wrap: balance;
  text-shadow: 0 4px 14px rgba(0,0,0,.8);
  filter: drop-shadow(0 5px 16px rgba(0,0,0,.8));
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-page-header .subhead {
  margin: 0;
  color: rgba(255,246,230,.88);
  font-size: clamp(.92rem,2.4vw,1.08rem);
  line-height: 1.4;
  text-shadow: 0 2px 8px rgba(0,0,0,.7);
}

/* ── Map wrap — centered block, max 40dvh ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-map-wrap {
  position: relative;
  width: 100%;
  height: 40dvh;
  max-height: 40dvh;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(232,174,91,.22);
  flex-shrink: 0;
}

/* Directions toggle button floats above bottom of map */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-dir-toggle-row {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-dir-toggle-row > * { pointer-events: auto; }

/* ── Directions panel — below map, collapsible ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-directions {
  display: grid;
  gap: 12px;
}

/* ── Directions toggle button (floats over bottom of map) ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-directions-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1px solid rgba(246,186,94,.70);
  background: rgba(4,13,16,.88);
  color: #e8bd7e;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.55);
  backdrop-filter: blur(8px);
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-directions-btn:hover {
  border-color: rgba(246,186,94,.95);
  background: rgba(10,25,30,.92);
  transform: translateY(-1px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-directions-btn:active { transform: translateY(1px); }

/* ── CTA block ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-cta-block {
  display: grid;
  gap: 12px;
}

/* ── Back row ── */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-back-row {
  text-align: center;
}

/* ── Shared element styles (used inside the shell) ── */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .hm-grid-3 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(7px,1.8vw,16px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .hm-mini-card {
  border: 1px solid rgba(232,174,91,.10);
  background: rgba(2,12,15,.34);
  border-radius: 12px;
  padding: 10px 7px;
  display: grid;
  gap: 5px;
  justify-items: center;
  text-align: center;
  min-width: 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .hm-mini-card svg { color: #e8bd7e; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .hm-mini-card strong { display:block; color:#fff3df; font-weight:800; font-family:'Lato',system-ui,sans-serif; font-size:clamp(.72rem,2.2vw,.88rem); line-height:1.2; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .hm-mini-card span { color:rgba(255,241,219,.88); font-size:clamp(.68rem,2vw,.82rem); line-height:1.2; font-family:'Lato',system-ui,sans-serif; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .location-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(0,7,9,.58);
  border: 1px solid rgba(232,174,91,.18);
  text-shadow: none;
  backdrop-filter: blur(6px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .location-card svg { color:#e8bd7e; margin-top:2px; flex-shrink:0; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .location-card strong { display:block; margin-bottom:4px; color:#C9933A; font-family:'Lato',system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .location-card p { margin:0; color:rgba(255,246,232,.90); font-size:clamp(.92rem,2.6vw,1.05rem); line-height:1.4; font-family:'Lato',system-ui,sans-serif; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .location-distance { color: #f3e7c2; }

/* Primary CTA */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  width: 100%;
  min-height: clamp(41px,6.3vw,50px);
  padding: 11px 15px;
  border: 1px solid rgba(246,186,94,.86);
  border-radius: 10px;
  color: #15110b;
  background: linear-gradient(180deg,rgba(255,246,219,.46),rgba(255,244,211,.16) 38%,rgba(118,79,36,.12) 100%), #d4b47f;
  box-shadow: 0 0 0 1px rgba(42,25,7,.72), 0 14px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.46), inset 0 -2px 0 rgba(75,45,18,.22);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(0.77rem,2.8vw,1.12rem);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  overflow: hidden;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  text-shadow: none;
  box-sizing: border-box;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary::before,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 46%,rgba(69,39,12,.09) 100%), url("/games/the-hungry-mile/paper-texture.png");
  background-size: cover, 520px 520px;
  background-position: center, center;
  opacity: .62;
  mix-blend-mode: multiply;
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary::after,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 7px;
  border: 1px solid rgba(255,233,179,.2);
  box-shadow: inset 0 0 18px rgba(77,45,16,.16), inset 0 0 1px rgba(255,255,255,.24);
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary span,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary svg,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta span,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta svg { position: relative; z-index: 1; text-shadow: 0 1px 0 rgba(255,239,200,.38); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary svg,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta svg { width: 15px; height: 15px; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary:hover,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 0 0 1px rgba(255,218,145,.94), 0 18px 38px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.52), inset 0 -2px 0 rgba(75,45,18,.22); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-primary:active,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .primary-cta:active { transform: translateY(1px); filter: brightness(.96); }

/* Disabled CTA */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-disabled {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: clamp(58px,9vw,72px);
  padding: 16px 22px;
  border: 1px solid rgba(246,186,94,.22);
  border-radius: 10px;
  background: rgba(10,20,24,.55);
  color: rgba(255,241,219,.38);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.1rem,4vw,1.6rem);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: not-allowed;
  box-sizing: border-box;
  text-shadow: none;
}

/* Secondary / ghost */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-secondary,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .secondary-link,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .ghost-button {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(232,174,91,.30);
  border-radius: 10px;
  background: rgba(0,7,9,.45);
  color: #fff3df;
  font-weight: 800;
  padding: 12px 16px;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: border-color .18s ease, background .18s ease;
  text-shadow: none;
  box-sizing: border-box;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-secondary:hover,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .secondary-link:hover,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .ghost-button:hover { border-color: rgba(232,174,91,.70); background: rgba(232,174,91,.12); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-secondary:active,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .secondary-link:active,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .ghost-button:active { transform: translateY(1px); }

/* Hint / nudge text */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-hint {
  margin: 0;
  text-align: center;
  color: rgba(255,241,219,.65);
  font-family: 'Lato', system-ui, sans-serif;
  font-size: clamp(.88rem,2.5vw,1rem);
  line-height: 1.4;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-nudge {
  margin: 0;
  padding: 11px 14px;
  border-radius: 10px;
  border: 1px solid rgba(232,174,91,.28);
  background: rgba(60,35,0,.42);
  color: rgba(255,241,219,.88);
  font-family: 'Lato', system-ui, sans-serif;
  font-size: clamp(.9rem,2.6vw,1.02rem);
  line-height: 1.45;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-recheck {
  display: block;
  width: 100%;
  padding: 8px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: center;
  color: rgba(232,174,91,.60);
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: underline;
  transition: color .18s ease;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .cta-recheck:hover { color: rgba(232,174,91,.95); }

/* Progress dots */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .progress-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .progress-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,243,223,.22);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-shell .progress-dots span.active { background: #C9933A; }

/* Responsive */
@media (max-width: 650px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-top-bar { grid-template-columns: 44px 1fr 44px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-icon-btn { width: 44px; height: 44px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-main { padding-inline: 16px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-map-wrap { height: 40dvh; max-height: 40dvh; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-location-page-header h1 { font-size: clamp(1.45rem,7vw,2.4rem); }
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Chapter Shell â€” template design (03-arrival through 07-timeline)
   Mirrors the .app-shell treatment from styles.css, scoped per-game.
   Background uses --hm-chapter-bg (per-chapter image) set inline by
   ChapterShell.tsx; tint from --hm-theme-wash varies per step.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(0,10,14,.48) 0%, rgba(0,9,12,.28) 24%, rgba(0,8,10,.52) 61%, rgba(0,6,8,.88) 100%),
    radial-gradient(circle at 50% 28%, var(--hm-theme-wash, rgba(16,68,85,.35)), transparent 42%),
    var(--hm-chapter-bg, url("/games/the-hungry-mile/arrival-background.png"));
  background-size: cover;
  background-position: center center;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

/* Vignette layer */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 18%, transparent 0 22%, rgba(0,0,0,.10) 43%, rgba(0,0,0,.38) 100%),
    linear-gradient(90deg, rgba(0,0,0,.32), transparent 18% 82%, rgba(0,0,0,.36)),
    linear-gradient(180deg, rgba(0,8,11,.08), rgba(0,6,8,.42) 72%, rgba(0,5,7,.72));
  pointer-events: none;
}

/* Grid grain overlay */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
  opacity: .23;
}

/* â”€â”€ Top bar â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-top-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(14px + env(safe-area-inset-top, 0px)) clamp(18px,4vw,34px) 13px;
  background: linear-gradient(180deg, rgba(0,9,12,.88), rgba(0,9,12,.62));
  border-bottom: 1px solid rgba(199,126,42,.34);
  backdrop-filter: blur(10px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-meta {
  text-align: center;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-meta strong {
  display: block;
  font-family: 'Lato', system-ui, sans-serif;
  text-transform: uppercase;
  color: #D4A044;
  letter-spacing: .18em;
  font-size: clamp(1rem,3vw,1.35rem);
  line-height: 1.1;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-meta span {
  display: block;
  margin-top: 6px;
  font-size: clamp(.88rem,2.2vw,1.02rem);
  letter-spacing: .1em;
  color: rgba(255,246,230,.88);
}

/* â”€â”€ Main / content stack â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell main {
  position: relative;
  z-index: 11;
  width: min(100%, 760px);
  min-height: calc(100dvh - 76px);
  display: grid;
  align-content: end;
  margin-inline: auto;
  padding: clamp(34px,6dvh,72px) clamp(20px,6vw,72px) calc(28px + env(safe-area-inset-bottom, 0px));
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .content-stack {
  display: grid;
  gap: clamp(20px,3.6vw,32px);
  text-align: center;
  text-shadow: 0 1px 4px rgba(0,0,0,.95), 0 2px 14px rgba(0,0,0,.8);
}

/* â”€â”€ Page header â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .page-header {
  display: grid;
  gap: clamp(8px,1.7vw,14px);
  text-align: center;
  margin-bottom: clamp(16px,3.5vw,28px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .eyebrow {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(.86rem,2.3vw,1.06rem);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #D4A044;
  text-shadow: 0 1px 6px rgba(0,0,0,.9), 0 2px 18px rgba(0,0,0,.7);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell h1 {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .07em;
  color: #fff1dc;
  font-size: clamp(1.72rem,6.7vw,3.35rem);
  line-height: 1.02;
  text-wrap: balance;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,1)) drop-shadow(0 4px 16px rgba(0,0,0,.9));
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .subhead {
  margin: 0 auto;
  max-width: 610px;
  color: rgba(255,246,230,.96);
  font-size: clamp(.96rem,2.6vw,1.14rem);
  line-height: 1.4;
  text-shadow: 0 1px 6px rgba(0,0,0,.9), 0 2px 14px rgba(0,0,0,.7);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .time-row {
  display: inline-grid;
  grid-template-columns: minmax(42px,1fr) auto minmax(42px,1fr);
  align-items: center;
  gap: 18px;
  justify-self: center;
  width: min(360px,78vw);
  margin-top: -4px;
  color: rgba(255,248,234,.98);
  font-size: clamp(1.15rem,4vw,1.65rem);
  letter-spacing: .06em;
  font-weight: 500;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .time-row::before,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .time-row::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,174,91,.55));
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .time-row::after {
  background: linear-gradient(90deg, rgba(232,174,91,.55), transparent);
}

/* â”€â”€ Quote / blockquote â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell blockquote,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .quote {
  margin: 0 auto;
  max-width: 590px;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: clamp(1.35rem,4.2vw,2.1rem);
  line-height: 1.24;
  color: #fff5df;
  text-shadow: 0 4px 16px rgba(0,0,0,.96);
}

/* â”€â”€ Panel â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .panel {
  position: relative;
  border: 1px solid rgba(238,158,55,.6);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(7,20,24,.88), rgba(4,13,16,.83)),
    radial-gradient(circle at 50% 0%, rgba(241,164,30,.16), transparent 38%);
  box-shadow: 0 18px 55px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.03);
  padding: clamp(18px,3.6vw,26px) clamp(18px,4.2vw,42px) clamp(20px,4vw,32px);
  text-align: left;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .panel.center { text-align: center; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .panel-title {
  margin: 0 0 14px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem,3.1vw,1.35rem);
  text-transform: uppercase;
  color: #D4A044;
  letter-spacing: .14em;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .panel p {
  margin: 0 0 10px;
  font-size: clamp(1rem,3.1vw,1.3rem);
  line-height: 1.5;
  color: rgba(255,248,236,.98);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .panel p:last-child { margin-bottom: 0; }

/* Story panel */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .story-panel {
  text-align: left;
  display: grid;
  gap: 16px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .story-panel p {
  font-family: 'Lato', system-ui, sans-serif;
  font-size: clamp(1.2rem,3.5vw,1.45rem);
  line-height: 1.3;
}

/* â”€â”€ Section title â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .section-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  margin: 0 0 18px;
  font-family: 'Lato', system-ui, sans-serif;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .18em;
  color: #D4A044;
  font-size: clamp(.88rem,2.4vw,1.06rem);
  text-align: center;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .section-title::before,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .section-title::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(238,158,55,.54));
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .section-title::after {
  background: linear-gradient(90deg, rgba(238,158,55,.54), transparent);
}

/* â”€â”€ Mini-card 3-up grid â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(8px,2vw,28px);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .mini-card {
  border: 1px solid rgba(232,174,91,.10);
  background: rgba(2,12,15,.34);
  border-radius: 12px;
  padding: 10px;
  display: grid;
  gap: 7px;
  justify-items: center;
  text-align: center;
  min-width: 0;
  color: rgba(255,241,219,.98);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .mini-card svg { color: #e8bd7e; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .mini-card strong {
  display: block;
  color: #fff3df;
  font-weight: 800;
  line-height: 1.2;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: clamp(.78rem,2.3vw,.92rem);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .mini-card span {
  color: rgba(255,241,219,.88);
  font-size: clamp(.875rem,2.2vw,.98rem);
  line-height: 1.2;
}

/* â”€â”€ Location card â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .location-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 15px 18px;
  border-radius: 16px;
  background: rgba(0,7,9,.58);
  border: 1px solid rgba(232,174,91,.18);
  text-align: left;
  backdrop-filter: blur(8px);
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .location-card svg { color: #e8bd7e; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .location-card strong {
  display: block;
  margin-bottom: 4px;
  color: #D4A044;
  font-family: 'Lato', system-ui, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .88rem;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .location-card p {
  margin: 0;
  color: rgba(255,246,232,.92);
  font-size: clamp(1.1rem,3.2vw,1.3rem);
  line-height: 1.38;
  font-family: 'Lato', system-ui, sans-serif;
}

/* â”€â”€ Evidence layout â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .evidence-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 16px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .document {
  color: #21140c;
  border-radius: 12px;
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(255,248,222,.92), rgba(218,184,132,.92)),
    repeating-linear-gradient(5deg, rgba(70,42,16,.05) 0 1px, transparent 1px 12px);
  box-shadow: inset 0 0 0 1px rgba(73,45,16,.22), 0 18px 45px rgba(0,0,0,.35);
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .document h2 {
  font-family: 'Lato', system-ui, sans-serif;
  letter-spacing: .12em;
  margin: 0 0 12px;
  text-transform: uppercase;
  color: #21140c;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .document p {
  color: #2a1b0e;
  margin: 0 0 10px;
  line-height: 1.45;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: 1rem;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .evidence-card {
  border: 1px solid rgba(232,174,91,.10);
  background: rgba(2,12,15,.34);
  border-radius: 12px;
  padding: 10px;
  display: grid;
  gap: 8px;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .evidence-card strong { color: #C9933A; }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .evidence-card p { font-size: clamp(1.1rem,3.2vw,1.3rem); color: rgba(255,241,219,.92); font-family: 'Lato',system-ui,sans-serif; margin: 0; }

/* Form elements */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell label {
  display: grid;
  gap: 7px;
  font-size: .88rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #e8bd7e;
  font-weight: 800;
  font-family: 'Lato', system-ui, sans-serif;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell input,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell textarea {
  width: 100%;
  border: 1px solid rgba(232,174,91,.65);
  border-radius: 12px;
  background: rgba(0,7,9,.64);
  color: #fff3df;
  padding: 14px 15px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  font-family: 'Lato', system-ui, sans-serif;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .form-hint {
  color: rgba(255,241,219,.82);
  font-size: clamp(1.1rem,3.2vw,1.3rem);
  line-height: 1.4;
  font-family: 'Lato', system-ui, sans-serif;
  text-shadow: none;
}

/* â”€â”€ Timeline â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .timeline { display: grid; gap: 14px; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .timeline-card {
  border: 1px solid rgba(232,174,91,.10);
  background: rgba(2,12,15,.34);
  border-radius: 12px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 14px;
  align-items: start;
  text-shadow: none;
  text-align: left;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .timeline-card time {
  color: #D4A044;
  font-weight: 800;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .9rem;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .timeline-card strong {
  display: block;
  margin-bottom: 4px;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .92rem;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .timeline-card p {
  margin: 0;
  font-size: clamp(1.28rem,3.9vw,1.7rem);
  line-height: 1.3;
  color: rgba(255,241,219,.88);
  font-family: 'Lato', system-ui, sans-serif;
}

/* â”€â”€ Button row â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .button-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* â”€â”€ Primary CTA â€” gold parchment â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  width: min(620px,100%);
  margin: 0 auto;
  min-height: clamp(45px,7vw,53px);
  padding: 13px 15px;
  border: 1px solid rgba(246,186,94,.86);
  border-radius: 10px;
  color: #15110b;
  background:
    linear-gradient(180deg, rgba(255,246,219,.46), rgba(255,244,211,.16) 38%, rgba(118,79,36,.12) 100%),
    #d4b47f;
  box-shadow:
    0 0 0 1px rgba(42,25,7,.72),
    0 14px 30px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -2px 0 rgba(75,45,18,.22);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(0.8rem,3.15vw,1.22rem);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  overflow: hidden;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 46%, rgba(69,39,12,.09) 100%),
    url("/games/the-hungry-mile/paper-texture.png");
  background-size: cover, 520px 520px;
  background-position: center, center;
  opacity: .62;
  mix-blend-mode: multiply;
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 7px;
  border: 1px solid rgba(255,233,179,.2);
  box-shadow: inset 0 0 18px rgba(77,45,16,.16), inset 0 0 1px rgba(255,255,255,.24);
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta span,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta svg { position: relative; z-index: 1; text-shadow: 0 1px 0 rgba(255,239,200,.38); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta svg { width: 15px; height: 15px; }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta:hover { transform: translateY(-2px); filter: brightness(1.06) saturate(1.01); box-shadow: 0 0 0 1px rgba(255,218,145,.94), 0 18px 38px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.52), inset 0 -2px 0 rgba(75,45,18,.22); }
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .primary-cta:active { transform: translateY(1px); filter: brightness(.96); }

/* â”€â”€ Ghost / secondary â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .secondary-link,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .ghost-button {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  min-height: 50px;
  border: 1px solid rgba(232,174,91,.30);
  border-radius: 10px;
  background: rgba(0,7,9,.45);
  color: #fff3df;
  font-weight: 800;
  padding: 12px 16px;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: border-color .18s ease, background .18s ease;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .secondary-link:hover,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .ghost-button:hover { border-color: rgba(232,174,91,.70); background: rgba(232,174,91,.12); }

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .secondary-link:active,
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .ghost-button:active { transform: translateY(1px); }

/* â”€â”€ Progress dots â”€â”€ */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .progress-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .progress-dots span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,243,223,.22);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .progress-dots span.active { background: #C9933A; }

/* â”€â”€ Responsive â”€â”€ */
@media (min-width: 900px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell main { padding-top: clamp(96px,14dvh,170px); }
}

@media (max-width: 650px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell main { padding-inline: 18px; padding-top: clamp(28px,5dvh,54px); }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell h1 { font-size: clamp(1.68rem,8.2vw,2.85rem); }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .evidence-layout { grid-template-columns: 1fr; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .mini-card { padding: 8px 5px; gap: 6px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .timeline-card { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .grid-3 { gap: 7px; }
  :is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-chapter-shell .section-title { gap: 10px; letter-spacing: .12em; }
}


/* ════════════════════════════════════════════════════════════════
   THE HUNGRY MILE — DAYLIGHT THEME
   All rules scoped to [data-theme="hungry-mile-light"]
   Completely independent of the dark variant above.
   ════════════════════════════════════════════════════════════════ */

[data-theme="hungry-mile-light"] {
  --font-display: 'Playfair Display', 'Georgia', serif;
  --font-body: 'Lato', system-ui, sans-serif;
  --font-document: 'Special Elite', 'Courier New', monospace;
  --gold: #8B4E0A;
  --gold-light: #A8652A;
  --gold-dim: #8B4E0A;
  --gold-faint: #C4915A;
}

[data-theme="hungry-mile-light"] h1,
[data-theme="hungry-mile-light"] h2,
[data-theme="hungry-mile-light"] h3 {
  font-family: var(--font-display);
  letter-spacing: 0.06em;
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] p,
[data-theme="hungry-mile-light"] li {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.7;
}

[data-theme="hungry-mile-light"] .font-mono,
[data-theme="hungry-mile-light"] input,
[data-theme="hungry-mile-light"] textarea {
  font-family: var(--font-document);
  background: rgba(253,246,227,.9);
  border-color: rgba(196,145,90,.5);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] input:focus-visible,
[data-theme="hungry-mile-light"] textarea:focus-visible {
  outline-color: rgba(139,78,10,.4);
}

/* Sienna gradient primary button for light mode */
[data-theme="hungry-mile-light"] button[class*="bg-primary"]:not(:disabled) {
  background: linear-gradient(135deg, #a85c1a 0%, #8B4E0A 40%, #9e5c1a 60%, #b8702a 100%);
  box-shadow:
    inset 0 0 0 1px rgba(139,78,10,.3),
    0 4px 16px rgba(139,78,10,.2);
  color: #FDF6E3;
}

[data-theme="hungry-mile-light"] button[class*="bg-primary"]:not(:disabled):hover {
  background: linear-gradient(135deg, #b8702a 0%, #9e5c1a 40%, #a85c1a 60%, #c07830 100%);
}

/* Anchor separator */
[data-theme="hungry-mile-light"] .anchor-sep::before,
[data-theme="hungry-mile-light"] .anchor-sep::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--gold-faint);
}

/* Evidence doc — dark ink lines on parchment */
[data-theme="hungry-mile-light"] .evidence-doc::before {
  background-image: repeating-linear-gradient(
    transparent, transparent 27px, rgba(44,26,8,.12) 27px, rgba(44,26,8,.12) 28px
  );
}


/* ── Lobby shell ── */

[data-theme="hungry-mile-light"] .hm-lobby-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(245,237,216,.88) 0%, rgba(245,237,216,.65) 24%, rgba(245,237,216,.82) 61%, rgba(245,237,216,.98) 100%),
    var(--hm-chapter-bg, url("/games/the-hungry-mile/arrival-background.png"));
  background-size: cover;
  background-position: center center;
  color: #2C1A08;
  font-family: 'Playfair Display', Georgia, serif;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell::before { background: none; }
[data-theme="hungry-mile-light"] .hm-lobby-shell::after  { opacity: .06; }

[data-theme="hungry-mile-light"] .hm-lobby-shell .content-stack { text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-lobby-shell h1 {
  color: #2C1A08;
  text-shadow: none;
  filter: none;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .eyebrow   { color: #8B4E0A; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-lobby-shell .subhead   { color: rgba(44,26,8,1); text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-lobby-shell .panel {
  background: rgba(253,246,227,.92);
  border: 1px solid rgba(196,145,90,.5);
  box-shadow: 0 8px 32px rgba(44,26,8,.10);
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .panel-title { color: #4A2206; font-weight: 700; }

[data-theme="hungry-mile-light"] .hm-lobby-shell input {
  background: rgba(253,246,227,.9);
  border: 1px solid rgba(196,145,90,.5);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell input:focus-visible {
  outline: 3px solid rgb(139,78,10);
  outline-offset: 3px;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell label { color: #5C3410; }

[data-theme="hungry-mile-light"] .hm-lobby-shell .member-list { display: grid; gap: 10px; }

[data-theme="hungry-mile-light"] .hm-lobby-shell .member-row {
  border: 1px solid rgba(196,145,90,.25);
  background: rgba(253,246,227,.7);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .member-row strong { color: #2C1A08; }

[data-theme="hungry-mile-light"] .hm-lobby-shell .avatar {
  background: rgba(139,78,10,.12);
  border: 1px solid rgba(139,78,10,.35);
  color: #8B4E0A;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .form-hint { color: rgba(44,26,8,1); }

[data-theme="hungry-mile-light"] .hm-lobby-shell .location-card {
  background: rgba(253,246,227,.8);
  border: 1px solid rgba(196,145,90,.35);
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .location-card svg    { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-lobby-shell .location-card strong { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-lobby-shell .location-card p      { color: rgba(44,26,8,1); text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-lobby-shell .ghost-button,
[data-theme="hungry-mile-light"] .hm-lobby-shell .secondary-link {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(139,78,10,.35);
  color: #5C3410;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .ghost-button:hover,
[data-theme="hungry-mile-light"] .hm-lobby-shell .secondary-link:hover {
  border-color: rgba(139,78,10,.6);
  background: rgba(139,78,10,.10);
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .primary-cta {
  background: linear-gradient(135deg, #a85c1a 0%, #8B4E0A 40%, #9e5c1a 60%, #b8702a 100%);
  box-shadow: 0 0 0 1px rgba(139,78,10,.5), 0 8px 28px rgba(139,78,10,.25);
  color: #FDF6E3;
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .primary-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 0 0 1px rgba(139,78,10,.7), 0 18px 38px rgba(139,78,10,.3);
}

[data-theme="hungry-mile-light"] .hm-lobby-shell .hm-field-error { color: #7A1A0A; }


/* ── Play shell ── */

[data-theme="hungry-mile-light"] .hm-play-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(245,237,216,.88) 0%, rgba(245,237,216,.65) 24%, rgba(245,237,216,.82) 61%, rgba(245,237,216,.98) 100%),
    var(--hm-chapter-bg, url("/games/the-hungry-mile/arrival-background.png"));
  background-size: cover;
  background-position: center center;
  color: #2C1A08;
  font-family: 'Lato', system-ui, sans-serif;
}

[data-theme="hungry-mile-light"] .hm-play-shell::before { background: none; }
[data-theme="hungry-mile-light"] .hm-play-shell::after  { opacity: .06; }

[data-theme="hungry-mile-light"] .hm-play-shell .content-stack { text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-play-shell h1   { color: #2C1A08; text-shadow: none; filter: none; }
[data-theme="hungry-mile-light"] .hm-play-shell .eyebrow { color: #8B4E0A; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-play-shell .subhead { color: rgba(44,26,8,1); text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-time-row,
[data-theme="hungry-mile-light"] .hm-play-shell .time-row {
  color: rgba(44,26,8,.9);
}
[data-theme="hungry-mile-light"] .hm-play-shell .hm-time-row::before,
[data-theme="hungry-mile-light"] .hm-play-shell .hm-time-row::after,
[data-theme="hungry-mile-light"] .hm-play-shell .time-row::before,
[data-theme="hungry-mile-light"] .hm-play-shell .time-row::after {
  background: linear-gradient(90deg, transparent, rgba(139,78,10,.4));
}
[data-theme="hungry-mile-light"] .hm-play-shell .hm-time-row::after,
[data-theme="hungry-mile-light"] .hm-play-shell .time-row::after {
  background: linear-gradient(90deg, rgba(139,78,10,.4), transparent);
}

[data-theme="hungry-mile-light"] .hm-play-shell .panel {
  background: rgba(253,246,227,.92);
  border: 1px solid rgba(196,145,90,.5);
  box-shadow: 0 8px 32px rgba(44,26,8,.10);
}

[data-theme="hungry-mile-light"] .hm-play-shell .panel-title { color: #4A2206; font-weight: 700; }
[data-theme="hungry-mile-light"] .hm-play-shell .panel p     { color: rgba(44,26,8,1); }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-mini-card,
[data-theme="hungry-mile-light"] .hm-play-shell .mini-card {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(196,145,90,.25);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-mini-card svg,
[data-theme="hungry-mile-light"] .hm-play-shell .mini-card svg    { color: #8B4E0A; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-mini-card strong,
[data-theme="hungry-mile-light"] .hm-play-shell .mini-card strong  { color: #2C1A08; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-mini-card span,
[data-theme="hungry-mile-light"] .hm-play-shell .mini-card span    { color: rgba(44,26,8,.75); }

[data-theme="hungry-mile-light"] .hm-play-shell .location-card {
  background: rgba(253,246,227,.8);
  border: 1px solid rgba(196,145,90,.35);
}
[data-theme="hungry-mile-light"] .hm-play-shell .location-card svg    { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-play-shell .location-card strong { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-play-shell .location-card p      { color: rgba(44,26,8,1); text-shadow: none; }

/* Chapter list rows */
[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-row,
[data-theme="hungry-mile-light"] .hm-play-shell a.chapter-row {
  background: rgba(253,246,227,.65);
  border: 1px solid rgba(139,78,10,.30);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-unlocked:hover,
[data-theme="hungry-mile-light"] .hm-play-shell a.chapter-row:hover {
  background: rgba(139,78,10,.08);
  border-color: rgba(139,78,10,.4);
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-locked,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-locked {
  background: rgba(253,246,227,.35);
  border-color: rgba(196,145,90,.12);
  opacity: .55;
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-done,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-done {
  background: rgba(26,61,16,.10);
  border-color: rgba(26,61,16,.30);
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-num,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-num {
  background: rgba(139,78,10,.14);
  border: 1px solid rgba(139,78,10,.55);
  color: #6F3C07;
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-done .hm-chapter-num,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-done .chapter-num {
  border-color: rgba(26,61,16,.45);
  color: #1A3D10;
  background: rgba(26,61,16,.12);
}

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-subtitle,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-subtitle { color: #5C3410; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-title,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-title    { color: #2C1A08; font-family: 'Lato',system-ui,sans-serif; font-weight: 600; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-done .hm-chapter-title,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-done .chapter-title { color: #1A3D10; font-family: 'Lato',system-ui,sans-serif; font-weight: 600; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-status,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-status   { color: #8B4E0A; }

[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-done .hm-chapter-status,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-done .chapter-status { color: #1A3D10; }

[data-theme="hungry-mile-light"] .hm-play-shell .member-row {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(196,145,90,.25);
  color: #2C1A08;
}
[data-theme="hungry-mile-light"] .hm-play-shell .member-row strong { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-play-shell .avatar { background: rgba(139,78,10,.12); border: 1px solid rgba(139,78,10,.35); color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-play-shell .form-hint { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-play-shell .hm-field-error { color: #7A1A0A; }

[data-theme="hungry-mile-light"] .hm-play-shell .ghost-button,
[data-theme="hungry-mile-light"] .hm-play-shell .secondary-link {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(139,78,10,.35);
  color: #5C3410;
}
[data-theme="hungry-mile-light"] .hm-play-shell .ghost-button:hover,
[data-theme="hungry-mile-light"] .hm-play-shell .secondary-link:hover {
  border-color: rgba(139,78,10,.6);
  background: rgba(139,78,10,.10);
}

[data-theme="hungry-mile-light"] .hm-play-shell .primary-cta {
  background: linear-gradient(135deg, #a85c1a 0%, #8B4E0A 40%, #9e5c1a 60%, #b8702a 100%);
  box-shadow: 0 0 0 1px rgba(139,78,10,.5), 0 8px 28px rgba(139,78,10,.25);
  color: #FDF6E3;
}
[data-theme="hungry-mile-light"] .hm-play-shell .primary-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}


/* ── Location shell ── */

[data-theme="hungry-mile-light"] .hm-location-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(245,237,216,.72) 0%, rgba(245,237,216,.45) 24%, rgba(245,237,216,.78) 61%, rgba(245,237,216,.96) 100%),
    radial-gradient(circle at 50% 28%, rgba(139,78,10,.12), transparent 42%),
    var(--hm-chapter-bg, url("/games/the-hungry-mile/arrival-background.png"));
  background-size: cover;
  background-position: center center;
  color: #2C1A08;
  font-family: 'Lato', system-ui, sans-serif;
}

[data-theme="hungry-mile-light"] .hm-location-shell::before { background: none; }
[data-theme="hungry-mile-light"] .hm-location-shell::after  { opacity: .06; }

[data-theme="hungry-mile-light"] .hm-location-top-bar {
  background: rgba(245,237,216,.90);
  border-bottom: 1px solid rgba(196,145,90,.4);
  backdrop-filter: blur(10px);
}

[data-theme="hungry-mile-light"] .hm-location-icon-btn {
  color: #5C3410;
  background: rgba(245,237,216,.6);
  border-color: transparent;
}

[data-theme="hungry-mile-light"] .hm-location-icon-btn:hover {
  color: #2C1A08;
  border-color: rgba(139,78,10,.5);
  background: rgba(139,78,10,.10);
}

[data-theme="hungry-mile-light"] .hm-location-page-header .eyebrow { color: #8B4E0A; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-location-page-header h1       { color: #2C1A08; text-shadow: none; filter: none; }
[data-theme="hungry-mile-light"] .hm-location-page-header .subhead { color: rgba(44,26,8,1); text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-location-map-wrap { border: 1px solid rgba(196,145,90,.4); }

[data-theme="hungry-mile-light"] .hm-location-shell .location-card {
  background: rgba(253,246,227,.8);
  border: 1px solid rgba(196,145,90,.35);
}
[data-theme="hungry-mile-light"] .hm-location-shell .location-card svg    { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-location-shell .location-card strong { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-location-shell .location-card p      { color: rgba(44,26,8,1); text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-location-shell .location-distance    { color: #5C2E00; }

[data-theme="hungry-mile-light"] .hm-location-shell .ghost-button,
[data-theme="hungry-mile-light"] .hm-location-shell .secondary-link {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(139,78,10,.35);
  color: #5C3410;
}
[data-theme="hungry-mile-light"] .hm-location-shell .ghost-button:hover,
[data-theme="hungry-mile-light"] .hm-location-shell .secondary-link:hover {
  border-color: rgba(139,78,10,.6);
  background: rgba(139,78,10,.10);
}

[data-theme="hungry-mile-light"] .hm-location-shell .primary-cta {
  background: linear-gradient(135deg, #a85c1a 0%, #8B4E0A 40%, #9e5c1a 60%, #b8702a 100%);
  box-shadow: 0 0 0 1px rgba(139,78,10,.5), 0 8px 28px rgba(139,78,10,.25);
  color: #FDF6E3;
}

[data-theme="hungry-mile-light"] .hm-location-shell .cta-hint { color: rgba(44,26,8,.75); }

[data-theme="hungry-mile-light"] .hm-location-shell .progress-dots span       { background: rgba(44,26,8,.18); }
[data-theme="hungry-mile-light"] .hm-location-shell .progress-dots span.active { background: #8B4E0A; }

[data-theme="hungry-mile-light"] .hm-chapter-meta strong { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-chapter-meta span   { color: #8A6040; font-weight: 600; }


/* ── Chapter shell ── */

[data-theme="hungry-mile-light"] .hm-chapter-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(245,237,216,.85) 0%, rgba(245,237,216,.60) 24%, rgba(245,237,216,.80) 61%, rgba(245,237,216,.97) 100%),
    var(--hm-chapter-bg, none);
  background-size: cover;
  background-position: center center;
  color: #2C1A08;
  font-family: 'Lato', system-ui, sans-serif;
}

[data-theme="hungry-mile-light"] .hm-chapter-shell::before { background: none; }
[data-theme="hungry-mile-light"] .hm-chapter-shell::after  { opacity: .06; }

[data-theme="hungry-mile-light"] .hm-chapter-top-bar {
  background: rgba(245,237,216,.90);
  border-bottom: 1px solid rgba(196,145,90,.4);
  backdrop-filter: blur(10px);
}

[data-theme="hungry-mile-light"] .hm-chapter-shell .hm-location-icon-btn {
  color: #5C3410;
  background: rgba(245,237,216,.6);
}
[data-theme="hungry-mile-light"] .hm-chapter-shell .hm-location-icon-btn:hover {
  color: #2C1A08;
  border-color: rgba(139,78,10,.5);
  background: rgba(139,78,10,.10);
}

[data-theme="hungry-mile-light"] .hm-chapter-shell h1    { color: #2C1A08; text-shadow: none; filter: none; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .eyebrow  { color: #8B4E0A; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .subhead  { color: rgba(44,26,8,1); text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .section-title { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .content-stack { text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .time-row { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .time-row::before { background: linear-gradient(90deg, transparent, rgba(139,78,10,.45)); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .time-row::after  { background: linear-gradient(90deg, rgba(139,78,10,.45), transparent); }

[data-theme="hungry-mile-light"] .hm-chapter-shell .card,
[data-theme="hungry-mile-light"] .hm-chapter-shell .panel {
  background: rgba(253,246,227,.92);
  border: 1px solid rgba(196,145,90,.4);
  box-shadow: 0 4px 18px rgba(44,26,8,.08);
}

[data-theme="hungry-mile-light"] .hm-chapter-shell .panel-title { color: #4A2206; font-weight: 700; }

[data-theme="hungry-mile-light"] .hm-chapter-shell .panel p { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .story-panel p { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .evidence-card p { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .evidence-card strong { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .timeline-card p { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .timeline-card strong { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .timeline-card time { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .location-card p { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .location-card strong { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .location-card { background: rgba(245,237,216,.85); border-color: rgba(196,145,90,.3); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .mini-card { background: rgba(245,237,216,.7); border-color: rgba(196,145,90,.25); color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .mini-card strong { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-chapter-shell .mini-card span { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .timeline-card { background: rgba(245,237,216,.7); border-color: rgba(196,145,90,.25); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .evidence-card { background: rgba(245,237,216,.7); border-color: rgba(196,145,90,.25); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .blockquote,
[data-theme="hungry-mile-light"] .hm-chapter-shell .quote { color: rgba(44,26,8,1); text-shadow: none; }

[data-theme="hungry-mile-light"] .hm-chapter-shell .form-hint { color: rgba(44,26,8,1); }

[data-theme="hungry-mile-light"] .hm-chapter-shell input,
[data-theme="hungry-mile-light"] .hm-chapter-shell textarea {
  background: #ffffff;
  border-color: rgba(139,78,10,.75);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] .hm-chapter-shell .ghost-button,
[data-theme="hungry-mile-light"] .hm-chapter-shell .secondary-link {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(139,78,10,.35);
  color: #5C3410;
}
[data-theme="hungry-mile-light"] .hm-chapter-shell .ghost-button:hover,
[data-theme="hungry-mile-light"] .hm-chapter-shell .secondary-link:hover {
  border-color: rgba(139,78,10,.6);
  background: rgba(139,78,10,.10);
}

[data-theme="hungry-mile-light"] .hm-chapter-shell .primary-cta {
  background: linear-gradient(135deg, #a85c1a 0%, #8B4E0A 40%, #9e5c1a 60%, #b8702a 100%);
  box-shadow: 0 0 0 1px rgba(139,78,10,.5), 0 8px 28px rgba(139,78,10,.25);
  color: #FDF6E3;
}
[data-theme="hungry-mile-light"] .hm-chapter-shell .primary-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 0 0 1px rgba(139,78,10,.7), 0 18px 38px rgba(139,78,10,.3);
}

[data-theme="hungry-mile-light"] .hm-chapter-shell .progress-dots span        { background: rgba(44,26,8,.18); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .progress-dots span.active  { background: #8B4E0A; }


/* ── Modal (shared) ── */

[data-theme="hungry-mile-light"] .hm-modal-backdrop { background: rgba(44,26,8,.55); }

[data-theme="hungry-mile-light"] .hm-modal-box {
  background: #FDF6E3;
  border: 1px solid rgba(196,145,90,.5);
  color: #2C1A08;
}

[data-theme="hungry-mile-light"] .hm-modal-title              { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-modal-body               { color: rgba(44,26,8,1); }
[data-theme="hungry-mile-light"] .hm-modal-body strong        { color: #2C1A08; }

/* ── Complete shell — case-closed screen ── */

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(0,10,14,.60) 0%, rgba(0,9,12,.28) 24%, rgba(0,8,10,.72) 61%, rgba(0,6,8,.99) 100%),
    radial-gradient(circle at 50% 25%, rgba(120,90,18,.28), transparent 48%),
    url("/games/the-hungry-mile/arrival-background.png");
  background-size: cover;
  background-position: center center;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 18%, transparent 0 22%, rgba(0,0,0,.2) 43%, rgba(0,0,0,.7) 100%),
    linear-gradient(90deg, rgba(0,0,0,.68), transparent 18% 82%, rgba(0,0,0,.72)),
    linear-gradient(180deg, rgba(0,8,11,.18), rgba(0,6,8,.78) 72%, rgba(0,5,7,.98));
  pointer-events: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: soft-light;
  opacity: .23;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell main {
  position: relative;
  z-index: 1;
  width: min(100%, 680px);
  min-height: 100dvh;
  margin-inline: auto;
  padding: calc(clamp(48px,8dvh,80px) + env(safe-area-inset-top, 0px)) clamp(20px,6vw,52px) clamp(36px,6dvh,72px);
  box-sizing: border-box;
  display: grid;
  align-content: start;
  gap: clamp(24px,4vw,36px);
}

/* Top bar */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-top-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: calc(14px + env(safe-area-inset-top, 0px)) clamp(14px,3vw,28px) 13px;
  background: linear-gradient(180deg, rgba(0,9,12,.88), rgba(0,9,12,.0));
  pointer-events: none;
}
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-top-bar > * {
  pointer-events: auto;
}

/* Header block */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-eyebrow {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(.82rem, 2.2vw, 1rem);
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #C9933A;
  text-shadow: 0 2px 12px rgba(0,0,0,.85);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell h1 {
  margin: 6px 0 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 800;
  letter-spacing: .07em;
  color: #fff1dc;
  font-size: clamp(2rem, 7.5vw, 3.4rem);
  line-height: 1.02;
  text-wrap: balance;
  filter: drop-shadow(0 5px 18px rgba(0,0,0,.85));
  text-shadow: 0 5px 18px rgba(0,0,0,.85);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-message {
  margin: 0;
  color: rgba(255,246,230,.92);
  font-size: clamp(.98rem, 2.8vw, 1.12rem);
  line-height: 1.65;
  text-shadow: 0 2px 10px rgba(0,0,0,.75);
  white-space: pre-line;
}

/* Score panel */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-panel {
  border: 1px solid rgba(238,158,55,.55);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(7,20,24,.90), rgba(4,13,16,.86)),
    radial-gradient(circle at 50% 0%, rgba(201,147,58,.14), transparent 46%);
  box-shadow: 0 18px 55px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.03);
  padding: clamp(20px,4vw,32px) clamp(20px,4.5vw,36px);
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .score-label {
  margin: 0 0 6px;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(232,174,91,.75);
  font-weight: 800;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .score-value {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.6rem, 9vw, 4rem);
  font-weight: 900;
  color: #E8B85A;
  line-height: 1;
  letter-spacing: .04em;
  text-shadow: 0 4px 20px rgba(201,147,58,.35);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .score-rank {
  margin: 8px 0 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem, 3vw, 1.3rem);
  font-style: italic;
  color: rgba(255,246,230,.88);
  letter-spacing: .04em;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .score-divider {
  width: 100%;
  height: 1px;
  background: rgba(238,158,55,.22);
  border: none;
  margin: 18px 0;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .score-stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .stat-item {
  display: grid;
  gap: 4px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .stat-label {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(232,174,91,.65);
  font-family: 'Lato', system-ui, sans-serif;
  font-weight: 800;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .stat-value {
  font-size: clamp(1rem, 3vw, 1.25rem);
  font-weight: 700;
  color: #fff3df;
  font-family: 'Lato', system-ui, sans-serif;
}

/* Player leaderboard */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-leaderboard {
  display: grid;
  gap: 10px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-title {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(.88rem, 2.4vw, 1.05rem);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #C9933A;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-row {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(232,174,91,.12);
  background: rgba(2,12,15,.38);
  border-radius: 12px;
  padding: 12px 14px;
  text-shadow: none;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-row.rank-1 {
  border-color: rgba(232,174,91,.45);
  background: rgba(120,80,10,.22);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-rank-num {
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  color: rgba(232,174,91,.60);
  text-align: center;
}
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-row.rank-1 .leaderboard-rank-num {
  color: #E8B85A;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-name {
  font-family: 'Lato', system-ui, sans-serif;
  font-size: clamp(.9rem, 2.6vw, 1.02rem);
  font-weight: 700;
  color: rgba(255,241,219,.95);
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-score-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-score {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(.92rem, 2.8vw, 1.08rem);
  font-weight: 800;
  color: #E8B85A;
  letter-spacing: .04em;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-bar-track {
  width: 72px;
  height: 5px;
  border-radius: 999px;
  background: rgba(232,174,91,.12);
  overflow: hidden;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .leaderboard-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #C9933A, #E8B85A);
  transition: width .6s ease;
}

/* CTA row */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-ghost-btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  cursor: pointer;
  min-height: 48px;
  border: 1px solid rgba(232,174,91,.32);
  border-radius: 10px;
  background: rgba(0,7,9,.45);
  color: #fff3df;
  font-weight: 800;
  padding: 11px 18px;
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: border-color .18s ease, background .18s ease;
  text-shadow: none;
}
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-ghost-btn:hover {
  border-color: rgba(232,174,91,.65);
  background: rgba(232,174,91,.12);
}

/* Footer link */
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-footer {
  text-align: center;
  padding-top: 8px;
  text-shadow: none;
}
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-footer a {
  color: rgba(232,174,91,.55);
  font-family: 'Lato', system-ui, sans-serif;
  font-size: .80rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .18s ease;
}
:is([data-theme="hungry-mile"], [data-theme="hungry-mile-light"]) .hm-complete-shell .complete-footer a:hover {
  color: rgba(232,174,91,.9);
}

/* Light theme overrides for complete shell */
[data-theme="hungry-mile-light"] .hm-complete-shell {
  background-image:
    linear-gradient(180deg, rgba(252,243,220,.82) 0%, rgba(248,237,200,.55) 30%, rgba(244,228,178,.90) 100%),
    radial-gradient(circle at 50% 25%, rgba(201,147,58,.12), transparent 48%),
    url("/games/the-hungry-mile/arrival-background.png");
  color: #2C1A08;
}
[data-theme="hungry-mile-light"] .hm-complete-shell::before { display: none; }
[data-theme="hungry-mile-light"] .hm-complete-shell::after  { display: none; }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-eyebrow { color: #8B4E0A; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-complete-shell h1 { color: #2C1A08; filter: none; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-message { color: rgba(44,26,8,.85); text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-panel { background: rgba(253,246,227,.92); border-color: rgba(139,78,10,.35); box-shadow: 0 8px 30px rgba(44,26,8,.12); }
[data-theme="hungry-mile-light"] .hm-complete-shell .score-label  { color: rgba(139,78,10,.75); }
[data-theme="hungry-mile-light"] .hm-complete-shell .score-value  { color: #8B4E0A; text-shadow: none; }
[data-theme="hungry-mile-light"] .hm-complete-shell .score-rank   { color: rgba(44,26,8,.80); }
[data-theme="hungry-mile-light"] .hm-complete-shell .score-divider { background: rgba(139,78,10,.18); }
[data-theme="hungry-mile-light"] .hm-complete-shell .stat-label   { color: rgba(139,78,10,.65); }
[data-theme="hungry-mile-light"] .hm-complete-shell .stat-value   { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-title { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-row { background: rgba(253,246,227,.75); border-color: rgba(139,78,10,.18); }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-row.rank-1 { background: rgba(201,147,58,.15); border-color: rgba(139,78,10,.40); }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-rank-num { color: rgba(139,78,10,.55); }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-row.rank-1 .leaderboard-rank-num { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-name  { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-score { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-complete-shell .leaderboard-bar-track { background: rgba(139,78,10,.12); }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-ghost-btn { background: rgba(253,246,227,.7); border-color: rgba(139,78,10,.32); color: #5C3410; }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-ghost-btn:hover { background: rgba(139,78,10,.10); border-color: rgba(139,78,10,.6); }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-footer a { color: rgba(139,78,10,.55); }
[data-theme="hungry-mile-light"] .hm-complete-shell .complete-footer a:hover { color: rgba(139,78,10,.9); }
[data-theme="hungry-mile-light"] .hm-complete-top-bar { background: linear-gradient(180deg, rgba(252,243,220,.92), rgba(252,243,220,.0)); }

/* ── Missing light overrides — fills in all remaining hardcoded dark colours ── */

/* Chapter shell — label (was gold/invisible on parchment) */
[data-theme="hungry-mile-light"] .hm-chapter-shell label { color: #5C3410; text-shadow: none; }

/* Play shell — chapter location text (was pale-white) */
[data-theme="hungry-mile-light"] .hm-play-shell .hm-chapter-location,
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-location { color: rgba(44,26,8,.60); }

/* Location shell — directions toggle button (was near-black bg) */
[data-theme="hungry-mile-light"] .hm-directions-btn {
  background: rgba(245,237,216,.92);
  border: 1px solid rgba(139,78,10,.55);
  color: #5C3410;
  box-shadow: 0 8px 24px rgba(44,26,8,.18);
}
[data-theme="hungry-mile-light"] .hm-directions-btn:hover {
  background: rgba(253,246,227,.98);
  border-color: rgba(139,78,10,.8);
  color: #2C1A08;
}

/* Location shell — cta-secondary (was dark bg) */
[data-theme="hungry-mile-light"] .hm-location-shell .cta-secondary {
  background: rgba(253,246,227,.7);
  border: 1px solid rgba(139,78,10,.35);
  color: #5C3410;
}
[data-theme="hungry-mile-light"] .hm-location-shell .cta-secondary:hover {
  border-color: rgba(139,78,10,.6);
  background: rgba(139,78,10,.10);
}

/* Location shell — cta-disabled (was near-black bg with pale text) */
[data-theme="hungry-mile-light"] .hm-location-shell .cta-disabled {
  background: rgba(196,145,90,.18);
  border: 1px solid rgba(196,145,90,.35);
  color: rgba(44,26,8,.60);
}

/* Location shell — cta-nudge (dark brownish bg was invisible) */
[data-theme="hungry-mile-light"] .hm-location-shell .cta-nudge {
  background: rgba(253,246,227,.85);
  border: 1px solid rgba(196,145,90,.4);
  color: rgba(44,26,8,1);
}

/* Location shell — cta-recheck (gold text was low contrast on parchment) */
[data-theme="hungry-mile-light"] .hm-location-shell .cta-recheck { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-location-shell .cta-recheck:hover { color: #4A2206; }

/* Location shell — mini cards (were dark bg) */
[data-theme="hungry-mile-light"] .hm-location-shell .hm-mini-card {
  background: rgba(253,246,227,.8);
  border: 1px solid rgba(196,145,90,.28);
  color: #2C1A08;
}
[data-theme="hungry-mile-light"] .hm-location-shell .hm-mini-card svg    { color: #8B4E0A; }
[data-theme="hungry-mile-light"] .hm-location-shell .hm-mini-card strong { color: #2C1A08; }
[data-theme="hungry-mile-light"] .hm-location-shell .hm-mini-card span   { color: rgba(44,26,8,.75); }

/* Location shell — progress dots (was white-ish on light bg) */
[data-theme="hungry-mile-light"] .hm-location-shell .progress-dots span { background: rgba(44,26,8,.18); }

/* Chapter shell — blockquote / quote (was white text) */
[data-theme="hungry-mile-light"] .hm-chapter-shell blockquote,
[data-theme="hungry-mile-light"] .hm-chapter-shell .quote { color: rgba(44,26,8,1); text-shadow: none; }

/* Chapter shell — section-title decorative lines */
[data-theme="hungry-mile-light"] .hm-chapter-shell .section-title::before { background: linear-gradient(90deg, transparent, rgba(139,78,10,.45)); }
[data-theme="hungry-mile-light"] .hm-chapter-shell .section-title::after  { background: linear-gradient(90deg, rgba(139,78,10,.45), transparent); }

/* Chapter shell — location card (was dark glass bg) */
[data-theme="hungry-mile-light"] .hm-chapter-shell .location-card svg { color: #8B4E0A; }

/* Chapter shell — story panel (chapter location sub-label uses class .form-hint) */
[data-theme="hungry-mile-light"] .hm-chapter-shell .form-hint { color: rgba(44,26,8,1); }

/* Play shell — chapter location subtext */
[data-theme="hungry-mile-light"] .hm-play-shell .chapter-location { color: rgba(44,26,8,.60); }

