  /* ---- The Dig arcade, brand-spec only ---- */
  .dig-wrap { max-width: 1100px; margin: 0 auto; padding: 0 24px 80px; }
  .dig-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
  @media (max-width: 720px) { .dig-board { grid-template-columns: repeat(3, 1fr); } }
  .dig-bin { position: relative; aspect-ratio: 1/1; cursor: pointer; overflow: visible; transition: transform .12s ease; user-select: none; filter: drop-shadow(2px 3px 0 rgba(60,52,31,0.18)); }
  .dig-bin:nth-child(odd) { transform: rotate(-0.7deg); }
  .dig-bin:nth-child(even) { transform: rotate(0.6deg); }
  .dig-bin:hover { transform: translateY(-3px) rotate(0deg); }
  .dig-bin.shake { animation: binshake .3s ease; }
  @keyframes binshake { 0%,100%{transform:rotate(0)} 25%{transform:rotate(-1.6deg) translateX(-2px)} 75%{transform:rotate(1.6deg) translateX(2px)} }
  .dig-bin.wiggle { animation: binwiggle .5s ease; }
  @keyframes binwiggle { 0%,100%{transform:rotate(0)} 30%{transform:rotate(-1.2deg)} 60%{transform:rotate(1.2deg)} }
  .dig-bin.done { cursor: default; }
  .dig-bin .bin-inner { position: absolute; inset: 0; overflow: hidden; border: 2px solid #574F36; background: var(--raw-canvas); }
  .dig-layer { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; text-align: center; padding: 10px;
    background:
      repeating-linear-gradient(0deg, rgba(60,52,31,0.10) 0 2px, transparent 2px 24%),
      linear-gradient(180deg, #D9C9A6, #C8B68F);
    box-shadow: inset 0 0 0 6px rgba(60,52,31,0.12), inset 0 0 28px rgba(60,52,31,0.10);
    transition: transform .3s cubic-bezier(.5,-0.3,.7,1), opacity .3s ease; }
  .dig-layer::before, .dig-layer::after { content: ''; position: absolute; top: 8px; bottom: 8px; width: 7px; background: rgba(60,52,31,0.16); }
  .dig-layer::before { left: 8px; } .dig-layer::after { right: 8px; }
  .dig-layer.gone { transform: translateY(-115%) rotate(-7deg); opacity: 0; pointer-events: none; }
  .dig-layer .lot { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.16em; color: var(--pitch-pine); border: 1.5px solid var(--pitch-pine); padding: 2px 7px; opacity: 0.75; transform: rotate(-2deg); }
  .dig-layer .stencil { font-family: var(--font-label); font-size: 9px; letter-spacing: 0.22em; color: var(--pitch-pine); opacity: 0.5; text-transform: uppercase; }
  .dig-depth { position: absolute; bottom: 6px; right: 8px; display: flex; gap: 3px; z-index: 30; }
  .dig-depth i { width: 6px; height: 6px; background: var(--pitch-pine); opacity: 0.35; border-radius: 50%; }
  .dust { position: absolute; width: 7px; height: 7px; background: #C8B68F; border-radius: 50%; z-index: 40; pointer-events: none; animation: dust .55s ease-out forwards; }
  @keyframes dust { to { transform: translate(var(--dx), var(--dy)) scale(0.2); opacity: 0; } }
  .dig-reveal { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; text-align: center; padding: 10px; animation: revealpop .32s cubic-bezier(.2,1.6,.5,1); }
  @keyframes revealpop { from { transform: scale(0.6) rotate(-3deg); opacity: 0; } }
  .dig-reveal .tag { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.12em; background: var(--raw-canvas); color: var(--pitch-pine); border: 1.5px solid var(--pitch-pine); padding: 2px 9px; transform: rotate(2deg); position: relative; margin-top: 3px; }
  .dig-reveal .tag::before { content: ''; position: absolute; left: -5px; top: 50%; width: 7px; height: 7px; border: 1.5px solid var(--pitch-pine); border-radius: 50%; background: var(--raw-canvas); transform: translateY(-50%); }
  .haul-chip { display: inline-flex; align-items: center; gap: 6px; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; padding: 4px 9px; margin: 0 6px 6px 0; animation: chipdrop .35s cubic-bezier(.2,1.5,.5,1); }
  @keyframes chipdrop { from { transform: translateY(-14px) rotate(-4deg); opacity: 0; } }
  .haul-chip.real { border-color: var(--vintage-signal); color: var(--vintage-signal); }
  .shovel-row { display: inline-flex; gap: 4px; vertical-align: middle; }
  .shovel-row svg { width: 14px; height: 18px; transition: opacity .2s; }
  .shovel-row svg.used { opacity: 0.18; }
  .rank-stamp { display: inline-block; border: 3px double var(--desert-khaki); color: var(--desert-khaki); font-family: var(--font-label); letter-spacing: 0.18em; text-transform: uppercase; padding: 10px 18px; transform: rotate(-3deg); font-size: 15px; margin: 4px 0 10px; }
  .dig-reveal.find { background: var(--woodland-drab); color: var(--raw-canvas); }
  .dig-reveal.junk { background: var(--raw-canvas); color: var(--faded-fatigue); }
  .dig-reveal .nm { font-family: var(--font-display, Georgia); font-weight: bold; font-size: 14px; line-height: 1.2; }
  .dig-reveal .ds { font-size: 11px; opacity: 0.85; line-height: 1.3; }
  .dig-reveal .pr { font-family: var(--font-label); font-size: 13px; letter-spacing: 0.12em; color: var(--desert-khaki); }
  .dig-hud { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); padding: 14px 18px; margin: 18px 0; }
  .dig-hud .stat { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pitch-pine); }
  .dig-hud .stat strong { color: var(--vintage-signal); font-size: 16px; }
  .dig-haul { font-size: 13px; color: var(--faded-fatigue); min-height: 18px; }
  .dig-end { border: 1.5px solid var(--bunker-olive); background: var(--pitch-pine); color: var(--raw-canvas); padding: 28px; margin-top: 18px; display: none; }
  .dig-end h3 { color: var(--desert-khaki); font-size: 26px; margin-bottom: 8px; }
  .quiz-card { border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); padding: 28px; }
  .quiz-q { font-family: var(--font-display, Georgia); font-weight: bold; font-size: 22px; margin-bottom: 18px; }
  .quiz-opt { display: block; width: 100%; text-align: left; background: var(--raw-canvas-warm); border: 1.5px solid var(--bunker-olive); padding: 13px 16px; margin-bottom: 10px; font-size: 15px; cursor: pointer; font-family: inherit; color: var(--pitch-pine); transition: background .12s; }
  .quiz-opt:hover { background: var(--desert-khaki); }
  .floor-zone { cursor: pointer; }
  .floor-zone rect, .floor-zone polygon { fill: var(--raw-canvas-warm); stroke: var(--bunker-olive); stroke-width: 1.5; transition: fill .15s; }
  .floor-zone:hover rect, .floor-zone.on rect, .floor-zone:hover polygon, .floor-zone.on polygon { fill: var(--desert-khaki); }
  .floor-zone text { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; fill: var(--pitch-pine); text-transform: uppercase; }
  
  
  .play-section-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vintage-signal); margin-bottom: 10px; }
  .dig-reveal.real { background: var(--vintage-signal); color: var(--raw-canvas); }
  .dig-reveal.real .pr { color: var(--raw-canvas); }
  .dig-reveal.real .badge { font-family: var(--font-label); font-size: 8px; letter-spacing: 0.16em; border: 1px solid var(--raw-canvas); padding: 2px 5px; margin-bottom: 2px; }
  .real-find-banner { display: inline-flex; align-items: center; gap: 10px; border: 1.5px dashed var(--vintage-signal); color: var(--vintage-signal); font-family: var(--font-label); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; padding: 8px 14px; margin-top: 14px; }
  /* Ultra-rare gold find */
  .dig-reveal.gold { background: var(--desert-khaki-light); color: var(--pitch-pine); }
  .dig-reveal.gold .pr { color: var(--pitch-pine); }
  .dig-reveal.gold .badge { font-family: var(--font-label); font-size: 8px; letter-spacing: 0.16em; border: 1px solid var(--pitch-pine); padding: 2px 5px; margin-bottom: 2px; }
  .haul-chip.gold { border-color: #8A6D1F; color: #8A6D1F; background: #F3EAD0; }
  /* ---- Dig License (printable) ---- */
  #dig-license { display: none; }
  .license-inner { max-width: 720px; margin: 0 auto; border: 3px double var(--pitch-pine); padding: 40px; background: var(--raw-canvas); color: var(--pitch-pine); }
  .license-inner .lic-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; }
  .license-inner h2 { font-size: 38px; margin: 10px 0 4px; }
  .license-inner .lic-row { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--bunker-olive); padding: 10px 0; font-size: 14px; }
  @media print {
    body.printing-license > *:not(#dig-license) { display: none !important; }
    body.printing-license #dig-license { display: block !important; padding: 0; }
    body.printing-license { background: #fff; }
  }

  /* ===== THE DUFFEL ===== */
  .dig-duffel-wrap { display: flex; justify-content: center; margin-top: 22px; }
  .dig-duffel { width: 210px; max-width: 60vw; overflow: visible; filter: drop-shadow(2px 3px 0 rgba(60,52,31,0.18)); transform-origin: 50% 80%; }
  .dig-duffel.gulp { animation: dufgulp .45s ease; }
  @keyframes dufgulp { 30% { transform: scale(1.06, 0.93); } 65% { transform: scale(0.97, 1.04); } }
  .duffel-flyer { position: fixed; z-index: 9000; font-size: 26px; line-height: 1; margin: -13px 0 0 -13px; pointer-events: none; transition: transform .6s cubic-bezier(.3, .7, .4, 1), opacity .6s ease; will-change: transform; }
  .dig-haul { text-align: center; margin-top: 12px; }
  .haul-chip .hc-ic { font-size: 13px; line-height: 1; }
  .dig-fineprint { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faded-fatigue); margin-top: 16px; text-align: center; }
  @media (prefers-reduced-motion: reduce) {
    .duffel-flyer { display: none; }
    .dig-duffel.gulp { animation: none; }
  }

  /* Fineprint reads as a tag line; shrinks on small screens and wraps rather
     than clipping (the hunt's line is longer than the old dig copy). */
  .dig-fineprint { font-size: clamp(8px, 2.1vw, 10px); letter-spacing: 0.1em; line-height: 1.6; }

  /* ===== END SCREEN — the inventory tag payoff ===== */
  .dig-end { position: relative; border: 1.5px solid var(--desert-khaki); padding: 38px 42px 30px; }
  .dig-end::before { content: ""; position: absolute; inset: 9px; border: 1px dashed rgba(197, 170, 127, 0.4); pointer-events: none; }
  .dig-end > * { position: relative; }
  .end-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
  .end-eyebrow { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--desert-khaki); }
  .end-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 20px 44px; margin-top: 20px; }
  .end-rank { margin: 0; }
  .end-rank .rank-stamp { font-size: clamp(16px, 2.6vw, 24px); padding: 14px 22px; border-width: 4px; margin: 0 0 16px; }
  .end-verdict { font-family: var(--font-display); font-style: italic; font-size: 19px; line-height: 1.45; color: var(--raw-canvas); max-width: 44ch; margin: 0; }
  .end-stats { display: flex; gap: 34px; flex-wrap: wrap; margin-top: 24px; border-top: 1px dashed rgba(197, 170, 127, 0.4); padding-top: 18px; }
  .end-stat span { display: block; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--desert-khaki); margin-bottom: 5px; }
  .end-stat strong { font-family: var(--font-display); font-size: 27px; color: var(--raw-canvas); line-height: 1; }
  .end-duffel-label { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--desert-khaki); margin-bottom: 12px; }
  .end-chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .end-chip { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid rgba(245, 242, 235, 0.35); background: rgba(245, 242, 235, 0.07); color: var(--raw-canvas); font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; padding: 7px 11px; animation: chipdrop .35s cubic-bezier(.2, 1.5, .5, 1); }
  .end-chip .hc-ic { font-size: 14px; }
  .end-chip em { font-style: normal; color: var(--desert-khaki); }
  .end-chip.real { border-color: var(--vintage-signal); background: rgba(168, 87, 60, 0.22); }
  .end-chip.gold { border-color: #D4AF37; background: rgba(212, 175, 55, 0.14); }
  .end-chip.gold em { color: #E8D48A; }
  .end-empty { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(245, 242, 235, 0.6); }
  .end-callout { margin-top: 16px; border: 1.5px solid var(--vintage-signal); padding: 14px 16px; font-size: 14px; line-height: 1.55; color: var(--raw-canvas); }
  .end-callout .co-label { display: block; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vintage-signal); margin-bottom: 6px; }
  .end-callout.gold { border-color: #D4AF37; }
  .end-callout.gold .co-label { color: #E8D48A; }
  .end-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; border-top: 1px dashed rgba(197, 170, 127, 0.4); padding-top: 24px; }
  #dig-license-cta { margin-top: 16px; }
  .dig-end .end-fine { margin-top: 16px; font-size: 12.5px; color: rgba(245, 242, 235, 0.68); max-width: 62ch; }
  .dig-end p { color: var(--raw-canvas); }
  @media (max-width: 880px) {
    .dig-end { padding: 26px 22px 22px; }
    .end-grid { grid-template-columns: 1fr; }
    .end-stats { gap: 24px; }
  }

  /* ===== GAME 04: THE RUNNER ===== */
  .runner-frame { position: relative; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); margin-top: 14px; overflow: hidden; }
  #run-canvas { display: block; width: 100%; height: 440px; touch-action: pan-y; }
  @media (max-width: 640px) { #run-canvas { height: 350px; } }
  .runner-overlay { position: absolute; inset: 0; background: rgba(60, 52, 31, 0.82); display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; }
  .runner-overlay.hidden { display: none; }
  .run-ov-eyebrow { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--desert-khaki); margin-bottom: 12px; }
  .run-ov-title { font-family: var(--font-display); font-style: italic; font-size: clamp(19px, 2.6vw, 26px); color: var(--raw-canvas); max-width: 34ch; margin: 0 auto; line-height: 1.35; }
  .run-ov-sub { font-size: 13px; color: rgba(245, 242, 235, 0.75); margin-top: 10px; max-width: 52ch; }
  .runner-overlay .btn { margin-top: 20px; }

  /* Tagline: big enough that nobody misses it */
  .runner-tagline { font-family: var(--font-label); font-weight: 700; font-size: clamp(9px, 2.3vw, 23px); letter-spacing: 0.16em; text-transform: uppercase; color: var(--vintage-signal); text-align: center; line-height: 1.5; margin-top: 18px; }
  @media (max-width: 480px) { .runner-tagline { letter-spacing: 0.1em; } }

  /* Wipeout stamp: the thing that got you, loud */
  .run-ov-wipe { display: inline-block; font-family: var(--font-label); font-size: clamp(15px, 2.8vw, 24px); letter-spacing: 0.16em; text-transform: uppercase; color: var(--raw-canvas); background: var(--vintage-signal); border: 2px solid rgba(245, 242, 235, 0.85); padding: 10px 20px; transform: rotate(-1.2deg); margin: 14px 0 8px; box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.25); }

  /* ===== HOW-TO STRIPS — every game explains itself in one breath ===== */
  .howto { display: flex; align-items: baseline; gap: 14px; border: 1px dashed var(--bunker-olive); background: var(--raw-canvas); padding: 12px 16px; margin: 16px 0 0; max-width: 760px; }
  .howto .ht-label { flex-shrink: 0; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--vintage-signal); font-weight: bold; }
  .howto p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--pitch-pine); max-width: none; }
  @media (max-width: 560px) { .howto { flex-direction: column; gap: 6px; } }

/* ============================================================
   MOBILE PLAYABILITY POLISH  (Dig + Runner; Tycoon handles its own below)
   ============================================================ */
@media (max-width: 680px) {
  /* --- The Dig: roomier bins + no-zoom taps --- */
  .dig-bin { touch-action: manipulation; }
  .dig-board { gap: 10px; }
  .dig-hud { gap: 12px; padding: 12px 14px; }
  .dig-hud .btn { touch-action: manipulation; }
}

/* --- The Runner: a little more vertical room on phones --- */
@media (max-width: 640px) {
  #run-canvas { height: 380px; }
}
@media (max-width: 400px) {
  #run-canvas { height: 340px; }
}
  /* ---- Floor map: store selector "selected" state (added v1.0.8) ----
     The two store buttons are a toggle. The active store gets a solid green
     fill so visitors can see at a glance that Englewood is selected on load
     and that the buttons switch between stores. Pitch-pine green on cream
     reads as "this one's chosen", and hover/focus invites the switch. */
  #floor-store-englewood, #floor-store-pecos {
    transition: background .15s ease, color .15s ease, border-color .15s ease;
  }
  #floor-store-englewood.floor-store-sel,
  #floor-store-pecos.floor-store-sel {
    background: var(--woodland-drab);
    border-color: var(--woodland-drab);
    color: var(--raw-canvas);
  }
  /* The non-selected store reads as a clear, tappable alternative. */
  #floor-store-englewood:not(.floor-store-sel),
  #floor-store-pecos:not(.floor-store-sel) {
    background: transparent;
    color: var(--pitch-pine);
  }
  #floor-store-englewood:not(.floor-store-sel):hover,
  #floor-store-pecos:not(.floor-store-sel):hover,
  #floor-store-englewood:not(.floor-store-sel):focus-visible,
  #floor-store-pecos:not(.floor-store-sel):focus-visible {
    background: var(--desert-khaki-soft);
    border-color: var(--woodland-drab);
  }

/* ==========================================================
   SURPLUS STORE TYCOON — Game 05 (mobile-first rewrite v1.0.9)
   Tap-first, low-text. Brand tokens come from main.css.
   ========================================================== */
#tycoon { padding: clamp(40px, 7vw, 88px) 0; background: var(--raw-canvas-warm); }
#tycoon, #tycoon * { box-sizing: border-box; }
#tycoon button { font-family: inherit; }
#tycoon .ty-wrap { max-width: 720px; margin: 0 auto; padding: 0 16px; }
#tycoon .ty-section-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vintage-signal); margin-bottom: 10px; }
#tycoon h2 { font-family: var(--font-display); font-size: clamp(26px, 6vw, 38px); margin: 0 0 8px; line-height: 1.15; }
#tycoon h2 em { color: var(--desert-khaki); }
#tycoon .ty-intro { color: var(--faded-fatigue); margin: 8px 0 0; font-size: 15px; }

/* ----- buttons ----- */
#tycoon .ty-btn {
  cursor: pointer; -webkit-appearance: none; appearance: none;
  font-family: var(--font-label); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 14px 20px; border: 1.5px solid var(--pitch-pine); background: transparent; color: var(--pitch-pine);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background .15s, color .15s, border-color .15s;
  touch-action: manipulation;
}
#tycoon .ty-btn:hover { background: var(--pitch-pine); color: var(--raw-canvas); }
#tycoon .ty-btn.signal { background: var(--vintage-signal); border-color: var(--vintage-signal); color: var(--raw-canvas); }
#tycoon .ty-btn.signal:hover { background: var(--pitch-pine); border-color: var(--pitch-pine); }
#tycoon .ty-btn.on-dark { color: var(--raw-canvas); border-color: rgba(245,242,235,0.6); }
#tycoon .ty-btn.on-dark:hover { background: var(--raw-canvas); color: var(--pitch-pine); }
#tycoon .ty-btn:disabled { opacity: 0.45; cursor: not-allowed; }
#tycoon .ty-btn:disabled:hover { background: var(--vintage-signal); color: var(--raw-canvas); }
#tycoon .ty-btn:focus-visible, #tycoon .ty-item:focus-visible, #tycoon .ty-step:focus-visible,
#tycoon .ty-shift:focus-visible, #tycoon .ty-mode:focus-visible, #tycoon .ty-price3 button:focus-visible {
  outline: 2.5px solid var(--vintage-signal); outline-offset: 2px;
}

/* ----- frame + screens ----- */
#tycoon .ty-frame { position: relative; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); margin-top: 18px; overflow: hidden; border-radius: 4px; }
#tycoon .ty-screen { display: none; }
#tycoon .ty-screen.on { display: block; }

/* ===== HUD (sticky, always glanceable) ===== */
#tycoon .ty-hud {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; gap: 12px;
  border-bottom: 1.5px solid var(--bunker-olive); background: var(--raw-canvas-warm);
  padding: 9px 12px;
}
#tycoon .ty-hud-day { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
#tycoon .ty-hud-pips { display: flex; gap: 3px; }
#tycoon .ty-hud-pips i { width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--bunker-olive); background: transparent; }
#tycoon .ty-hud-pips i.done { background: var(--woodland-drab); border-color: var(--woodland-drab); }
#tycoon .ty-hud-pips i.now { background: var(--vintage-signal); border-color: var(--vintage-signal); }
#tycoon .ty-hud-daynum { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pitch-pine); font-weight: 700; }
#tycoon .ty-hud-dow { font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--faded-fatigue); }
#tycoon .ty-hud-wx { display: flex; align-items: center; gap: 5px; margin-left: auto; }
#tycoon .ty-hud-wx-icon { width: 26px; height: 26px; display: block; flex-shrink: 0; }
#tycoon .ty-hud-wx-temp { font-family: var(--font-label); font-size: 14px; font-weight: 700; color: var(--pitch-pine); }
#tycoon .ty-hud-cashwrap { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
#tycoon .ty-hud-cash { font-family: var(--font-label); font-size: 17px; font-weight: 700; color: var(--vintage-signal); line-height: 1; }
#tycoon .ty-rep-bar { width: 64px; height: 6px; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); position: relative; }
#tycoon .ty-rep-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 50%; background: var(--woodland-drab); transition: width .5s ease, background .3s; }
#tycoon .ty-rep-fill.low { background: var(--vintage-signal); }

/* ===== START / SHIFT PICK ===== */
#tycoon .ty-overlay { background: rgba(60, 52, 31, 0.96); color: var(--raw-canvas); padding: clamp(24px, 6vw, 44px) 18px; text-align: center; }
#tycoon .ty-overlay { --desert-khaki: var(--desert-khaki-light); }
#tycoon .ty-ov-eyebrow { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--desert-khaki); margin-bottom: 10px; }
#tycoon .ty-ov-title { font-family: var(--font-display); font-style: italic; font-size: clamp(21px, 5.5vw, 30px); max-width: 22ch; margin: 0 auto 22px; line-height: 1.3; }
#tycoon .ty-mode-row { display: flex; gap: 8px; justify-content: center; margin: 0 auto 16px; max-width: 380px; }
#tycoon .ty-mode { flex: 1; cursor: pointer; -webkit-appearance: none; appearance: none; text-align: center; background: transparent; border: 1.5px dashed rgba(197,170,127,0.5); color: rgba(245,242,235,0.78); font-family: var(--font-body); font-size: 11px; line-height: 1.3; padding: 9px 10px; transition: border-color .12s, background .12s; touch-action: manipulation; }
#tycoon .ty-mode strong { display: block; font-family: var(--font-label); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--raw-canvas); margin-bottom: 2px; }
#tycoon .ty-mode.sel { border-style: solid; border-color: var(--vintage-signal); background: rgba(168,87,60,0.2); }
#tycoon .ty-mode.sel strong { color: var(--desert-khaki); }
#tycoon .ty-shift-row { display: flex; flex-direction: column; gap: 10px; max-width: 380px; margin: 0 auto; }
#tycoon .ty-shift { cursor: pointer; -webkit-appearance: none; appearance: none; background: transparent; border: 1.5px solid rgba(245,242,235,0.45); color: var(--raw-canvas); padding: 15px 18px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; transition: border-color .12s, background .12s, transform .12s; touch-action: manipulation; }
#tycoon .ty-shift:hover, #tycoon .ty-shift:active { border-color: var(--desert-khaki); background: rgba(245,242,235,0.08); }
#tycoon .ty-shift .sh-name { font-family: var(--font-display); font-size: 18px; }
#tycoon .ty-shift .sh-meta { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--desert-khaki); }
#tycoon .ty-how { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; margin: 22px auto 0; }
#tycoon .ty-how span { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,242,235,0.7); display: inline-flex; align-items: center; gap: 6px; }
#tycoon .ty-how b { color: var(--vintage-signal); background: var(--raw-canvas); width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }
#tycoon .ty-ov-best { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.08em; color: var(--desert-khaki); margin-top: 18px; min-height: 14px; }
#tycoon .ty-ov-fine { font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245,242,235,0.5); margin-top: 8px; }

/* ===== PLANNING ===== */
#tycoon .ty-plan-body { padding: 14px 12px 12px; }
#tycoon .ty-forecast { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 2px 12px; align-items: center; background: var(--raw-canvas-warm); border: 1px solid var(--bunker-olive); border-radius: 4px; padding: 12px 14px; }
#tycoon .ty-fc-icon { grid-row: 1 / 3; width: 46px; height: 46px; display: block; }
#tycoon .ty-fc-main { display: flex; align-items: baseline; gap: 8px; }
#tycoon .ty-fc-temp { font-family: var(--font-label); font-size: 22px; font-weight: 700; color: var(--pitch-pine); }
#tycoon .ty-fc-name { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vintage-signal); }
#tycoon .ty-fc-flavor { font-size: 12.5px; color: var(--faded-fatigue); line-height: 1.4; }
#tycoon .ty-fc-event { display: none; flex-direction: column; gap: 8px; margin-top: 10px; }
#tycoon .ty-chip { font-size: 12px; line-height: 1.45; color: var(--pitch-pine); border-left: 3px solid var(--desert-khaki); background: var(--raw-canvas-warm); padding: 8px 12px; }
#tycoon .ty-chip b { display: block; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vintage-signal); margin-bottom: 2px; }
#tycoon .ty-chip.deal { border-left-color: var(--vintage-signal); }

#tycoon .ty-rack-head { display: flex; align-items: baseline; justify-content: space-between; margin: 18px 0 4px; }
#tycoon .ty-rack-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pitch-pine); font-weight: 700; }
#tycoon .ty-rack-count { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--woodland-drab); }
#tycoon .ty-rack-count.flash { animation: ty-flash .5s ease; }
@keyframes ty-flash { 0%,100% { color: var(--woodland-drab); } 30% { color: var(--vintage-signal); transform: scale(1.08); } }
#tycoon .ty-rack-hint { font-size: 12px; color: var(--faded-fatigue); margin-bottom: 12px; line-height: 1.45; }
#tycoon .ty-rack { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

/* ZONE 1 — picker tiles: uniform height, no expansion, no blank gaps */
#tycoon .ty-tile { display: flex; align-items: center; gap: 9px; min-height: 64px; border: 1.5px solid var(--bunker-olive); border-radius: 5px; background: var(--raw-canvas); padding: 9px 10px; cursor: pointer; touch-action: manipulation; transition: border-color .12s, box-shadow .12s, opacity .12s, background .12s; }
#tycoon .ty-tile.dimmed { opacity: 0.45; }
#tycoon .ty-tile.picked { border-color: var(--woodland-drab); box-shadow: inset 0 0 0 1.5px var(--woodland-drab); background: rgba(71,92,62,0.06); }
#tycoon .ty-tile-ic { font-size: 24px; line-height: 1; flex-shrink: 0; }
#tycoon .ty-tile-meta { min-width: 0; flex: 1; }
#tycoon .ty-tile-name { display: block; font-family: var(--font-display); font-size: 14px; color: var(--pitch-pine); line-height: 1.1; }
#tycoon .ty-tile-deal { display: inline-block; font-family: var(--font-label); font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--raw-canvas); background: var(--vintage-signal); padding: 1px 5px; border-radius: 2px; margin-left: 5px; vertical-align: middle; }
#tycoon .ty-tile-sub { display: block; font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.04em; color: var(--faded-fatigue); margin-top: 4px; }
#tycoon .ty-tile-read { display: inline-block; font-weight: 700; padding: 1px 6px; border-radius: 9px; margin-left: 4px; }
#tycoon .ty-tile-read.hot { color: var(--vintage-signal); background: rgba(168,87,60,0.14); }
#tycoon .ty-tile-read.steady { color: var(--woodland-drab); background: rgba(71,92,62,0.12); }
#tycoon .ty-tile-read.slow { color: var(--faded-fatigue); background: rgba(90,85,66,0.12); }
#tycoon .ty-tile-pick { flex-shrink: 0; width: 20px; height: 20px; border: 1.5px solid var(--bunker-olive); border-radius: 50%; position: relative; }
#tycoon .ty-tile.picked .ty-tile-pick { background: var(--woodland-drab); border-color: var(--woodland-drab); }
#tycoon .ty-tile.picked .ty-tile-pick::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 9px; border: solid var(--raw-canvas); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* ZONE 2 — the floor: one compact control row per picked item, no gaps */
#tycoon .ty-floor-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pitch-pine); font-weight: 700; margin: 18px 0 8px; }
#tycoon .ty-floor { display: flex; flex-direction: column; gap: 10px; }
#tycoon .ty-floor-empty { font-size: 12.5px; color: var(--faded-fatigue); line-height: 1.45; border: 1px dashed var(--bunker-olive); border-radius: 5px; padding: 16px 14px; text-align: center; }
#tycoon .ty-fc-item { border: 1.5px solid var(--woodland-drab); border-radius: 5px; background: var(--raw-canvas); padding: 11px 13px 13px; }
#tycoon .ty-fc-itemhead { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
#tycoon .ty-fc-ic { font-size: 20px; line-height: 1; flex-shrink: 0; }
#tycoon .ty-fc-nm { flex: 1; min-width: 0; font-family: var(--font-display); font-size: 15px; color: var(--pitch-pine); }
#tycoon .ty-fc-held { font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--woodland-drab); flex-shrink: 0; }
#tycoon .ty-fc-remove { flex-shrink: 0; -webkit-appearance: none; appearance: none; cursor: pointer; background: transparent; border: 1px solid var(--bunker-olive); color: var(--faded-fatigue); font-family: var(--font-label); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 9px; border-radius: 4px; touch-action: manipulation; }
#tycoon .ty-fc-remove:hover, #tycoon .ty-fc-remove:active { border-color: var(--vintage-signal); color: var(--vintage-signal); }

/* shared control sub-styles (used inside the floor rows) */
#tycoon .ty-ctl-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#tycoon .ty-ctl-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--pitch-pine); }
#tycoon .ty-step-group { display: inline-flex; align-items: center; gap: 5px; }
#tycoon .ty-step { width: 40px; height: 40px; cursor: pointer; -webkit-appearance: none; appearance: none; border: 1.5px solid var(--pitch-pine); background: transparent; color: var(--pitch-pine); font-size: 16px; font-family: var(--font-label); border-radius: 4px; touch-action: manipulation; display: inline-flex; align-items: center; justify-content: center; }
#tycoon .ty-step:active { background: var(--pitch-pine); color: var(--raw-canvas); }
#tycoon .ty-step-val { min-width: 30px; text-align: center; font-family: var(--font-label); font-size: 16px; font-weight: 700; color: var(--pitch-pine); }
#tycoon .ty-ctl-stock { margin-left: auto; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--woodland-drab); }
#tycoon .ty-ctl-stock b { font-size: 14px; color: var(--pitch-pine); margin-left: 4px; }
#tycoon .ty-price3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 11px; }
#tycoon .ty-price3 button { cursor: pointer; -webkit-appearance: none; appearance: none; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas-warm); color: var(--pitch-pine); padding: 9px 4px; display: flex; flex-direction: column; align-items: center; gap: 2px; border-radius: 4px; touch-action: manipulation; transition: background .1s, border-color .1s, color .1s; }
#tycoon .ty-price3 button .p3-l { font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; }
#tycoon .ty-price3 button b { font-size: 14px; font-family: var(--font-label); }
#tycoon .ty-price3 button.sel { color: var(--raw-canvas); }
#tycoon .ty-price3 button.deal.sel { background: var(--woodland-drab); border-color: var(--woodland-drab); }
#tycoon .ty-price3 button.sticker.sel { background: var(--pitch-pine); border-color: var(--pitch-pine); }
#tycoon .ty-price3 button.stretch.sel { background: var(--vintage-signal); border-color: var(--vintage-signal); }
#tycoon .ty-it-line { font-size: 11.5px; color: var(--faded-fatigue); margin-top: 9px; min-height: 14px; }
#tycoon .ty-it-line .warn { color: var(--vintage-signal); }
#tycoon .ty-liq { display: block; width: 100%; margin-top: 10px; cursor: pointer; -webkit-appearance: none; appearance: none; border: 1px dashed var(--bunker-olive); background: transparent; color: var(--woodland-drab); font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; padding: 10px 8px; border-radius: 4px; touch-action: manipulation; }
#tycoon .ty-liq:active { background: rgba(71,92,62,0.1); }

/* sticky plan footer */
#tycoon .ty-plan-foot { position: sticky; bottom: 0; z-index: 15; display: flex; flex-direction: column; gap: 10px; background: var(--raw-canvas-warm); border-top: 1.5px solid var(--bunker-olive); padding: 12px; padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)); }
#tycoon .ty-foot-sums { display: flex; justify-content: space-between; gap: 14px; }
#tycoon .ty-foot-sums span { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--faded-fatigue); }
#tycoon .ty-foot-sums b { font-size: 15px; color: var(--pitch-pine); margin-left: 6px; }
#tycoon .ty-open { width: 100%; flex-direction: column; gap: 2px; padding: 13px; }
#tycoon .ty-open .od-label { font-size: 14px; }
#tycoon .ty-open .od-sub { font-size: 9.5px; letter-spacing: 0.12em; opacity: 0.85; }

/* ===== DAY RECAP ===== */
#tycoon .ty-recap { padding: 16px 13px; padding-bottom: max(16px, env(safe-area-inset-bottom, 0px)); }
#tycoon .ty-rc-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
#tycoon .ty-rc-wx { display: flex; align-items: center; gap: 6px; }
#tycoon .ty-rc-wx svg { width: 34px; height: 34px; }
#tycoon .ty-rc-wx .rc-wx-t { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pitch-pine); font-weight: 700; }
#tycoon .ty-rc-day { margin-left: auto; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faded-fatigue); }
#tycoon .ty-rc-note { font-size: 12.5px; font-style: italic; color: var(--vintage-signal); margin-bottom: 12px; line-height: 1.4; }
#tycoon .ty-rc-rows { display: flex; flex-direction: column; gap: 9px; }
#tycoon .ty-rc-empty { font-size: 13px; color: var(--faded-fatigue); text-align: center; padding: 24px 0; }
#tycoon .ty-rc-row { display: flex; align-items: center; gap: 11px; }
#tycoon .ty-rc-row .rc-ic { font-size: 22px; flex-shrink: 0; }
#tycoon .ty-rc-row .rc-body { flex: 1; min-width: 0; }
#tycoon .ty-rc-row .rc-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
#tycoon .ty-rc-row .rc-nm { font-family: var(--font-display); font-size: 14px; color: var(--pitch-pine); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#tycoon .ty-rc-row .rc-num { font-family: var(--font-label); font-size: 11px; color: var(--faded-fatigue); flex-shrink: 0; }
#tycoon .ty-rc-row .rc-num b { font-size: 14px; color: var(--woodland-drab); }
#tycoon .ty-rc-row .rc-track { height: 8px; background: var(--raw-canvas-warm); border: 1px solid var(--bunker-olive); border-radius: 5px; overflow: hidden; margin: 4px 0 3px; }
#tycoon .ty-rc-row .rc-fill { display: block; height: 100%; width: 0; background: var(--woodland-drab); transition: width .55s cubic-bezier(.2,.7,.3,1); }
#tycoon .ty-rc-row .rc-fill.out { background: var(--vintage-signal); }
#tycoon .ty-rc-row .rc-tag { font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--faded-fatigue); }
#tycoon .ty-rc-row .rc-rev { font-family: var(--font-label); font-size: 14px; font-weight: 700; color: var(--woodland-drab); flex-shrink: 0; }
#tycoon .ty-rc-closeout { margin-top: 12px; font-size: 12px; line-height: 1.4; padding: 8px 12px; border-left: 3px solid; }
#tycoon .ty-rc-closeout.good { color: var(--woodland-drab); border-color: var(--woodland-drab); background: rgba(71,92,62,0.08); }
#tycoon .ty-rc-closeout.bad { color: var(--vintage-signal); border-color: var(--vintage-signal); background: rgba(168,87,60,0.08); }
#tycoon .ty-rc-foot { display: flex; align-items: center; gap: 12px; margin-top: 16px; border-top: 1.5px solid var(--bunker-olive); padding-top: 14px; flex-wrap: wrap; }
#tycoon .ty-rc-profitwrap { display: flex; flex-direction: column; gap: 2px; }
#tycoon .ty-rc-profit-label { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faded-fatigue); }
#tycoon .ty-rc-profit { font-family: var(--font-label); font-size: 28px; font-weight: 700; color: var(--woodland-drab); line-height: 1; }
#tycoon .ty-rc-profit.loss { color: var(--vintage-signal); }
#tycoon .ty-rc-rep { font-family: var(--font-label); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 0; }
#tycoon .ty-rc-rep.up { color: var(--woodland-drab); }
#tycoon .ty-rc-rep.down { color: var(--vintage-signal); }
#tycoon .ty-next { margin-left: auto; }

/* ===== END SCREEN ===== */
#tycoon .ty-end { background: rgba(60, 52, 31, 0.96); --desert-khaki: var(--desert-khaki-light); color: var(--raw-canvas); padding: clamp(22px, 5vw, 36px) 18px; text-align: center; }
#tycoon .ty-end-head { display: flex; justify-content: space-between; gap: 10px; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--desert-khaki); margin-bottom: 16px; }
#tycoon .ty-stamp { display: inline-block; font-family: var(--font-label); font-size: clamp(15px, 4.5vw, 22px); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--raw-canvas); background: var(--vintage-signal); border: 2px solid rgba(245,242,235,0.85); padding: 9px 18px; transform: rotate(-1.2deg); box-shadow: 3px 3px 0 rgba(0,0,0,0.25); }
#tycoon .ty-verdict { font-size: 13.5px; color: rgba(245,242,235,0.85); max-width: 44ch; margin: 16px auto 0; line-height: 1.5; }
#tycoon .ty-end-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(245,242,235,0.18); border: 1px solid rgba(245,242,235,0.18); margin: 20px auto 0; max-width: 420px; }
#tycoon .ty-end-stat { background: rgba(60,52,31,0.6); padding: 12px 10px; display: flex; flex-direction: column; gap: 4px; }
#tycoon .ty-end-stat span { font-family: var(--font-label); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--desert-khaki); }
#tycoon .ty-end-stat strong { font-family: var(--font-label); font-size: 19px; color: var(--raw-canvas); }
#tycoon .ty-end-stat strong.loss { color: var(--vintage-signal); }
#tycoon .ty-cert-cta { margin-top: 16px; min-height: 0; }
#tycoon .ty-cert-cta:empty { margin-top: 0; }
#tycoon .ty-end-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
#tycoon .ty-end-fine { margin-top: 16px; font-size: 12px; color: rgba(245,242,235,0.65); }
#tycoon .ty-tagline { font-family: var(--font-label); font-weight: 700; font-size: clamp(9px, 2.6vw, 16px); letter-spacing: 0.14em; text-transform: uppercase; color: var(--vintage-signal); text-align: center; line-height: 1.5; margin-top: 18px; }

/* ===== larger screens: a few comfortable upgrades ===== */
@media (min-width: 620px) {
  #tycoon .ty-wrap { padding: 0 24px; }
  #tycoon .ty-rack { grid-template-columns: 1fr 1fr 1fr; }
  #tycoon .ty-floor { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  #tycoon .ty-plan-foot { flex-direction: row; align-items: center; justify-content: space-between; }
  #tycoon .ty-open { width: auto; min-width: 240px; }
  #tycoon .ty-end-actions { flex-direction: row; justify-content: center; flex-wrap: wrap; }
  #tycoon .ty-shift-row { flex-direction: row; }
  #tycoon .ty-shift { flex: 1; flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  #tycoon .ty-rc-row .rc-fill { transition: none; }
  #tycoon .ty-rack-count.flash { animation: none; }
}

/* ==========================================================
   GAME 03 — FIND THE FINDS (the hunt)  [added v1.0.10]
   Replaces the old bin-dig game. A timed search of an
   illustrated aisle. Brand tokens from main.css.
   ========================================================== */
.hunt { position: relative; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); border-radius: 4px; overflow: hidden; margin-top: 18px; }
.hunt * { box-sizing: border-box; }

/* HUD: clock + progress */
.hunt-hud { display: flex; align-items: center; gap: 14px; border-bottom: 1.5px solid var(--bunker-olive); background: var(--raw-canvas-warm); padding: 10px 14px; }
.hunt-clock { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.hunt-clock-num { font-family: var(--font-label); font-size: 18px; font-weight: 700; color: var(--pitch-pine); min-width: 44px; }
.hunt-clock-track { flex: 1; height: 8px; border: 1.5px solid var(--bunker-olive); background: var(--raw-canvas); position: relative; overflow: hidden; }
.hunt-clock-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 100%; background: var(--woodland-drab); transition: width 1s linear; }
.hunt-clock-fill.low { background: var(--vintage-signal); }
.hunt-found-wrap { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faded-fatigue); white-space: nowrap; }
.hunt-found-wrap strong { color: var(--woodland-drab); font-size: 14px; margin-left: 5px; }

/* body: scene + checklist */
.hunt-body { display: flex; flex-direction: column; }
.hunt-scene { position: relative; background: var(--raw-canvas); border-bottom: 1.5px solid var(--bunker-olive); }
.hunt-scene svg { display: block; width: 100%; height: auto; touch-action: manipulation; cursor: crosshair; }
.hunt-scene.shake { animation: hunt-shake .3s ease; }
@keyframes hunt-shake { 0%,100% { transform: translateX(0); } 20% { transform: translateX(-5px); } 60% { transform: translateX(5px); } }
.hunt-scene .hz-label { font-family: var(--font-label); font-size: 9px; letter-spacing: 0.14em; fill: var(--pitch-pine); opacity: 0.55; text-anchor: middle; text-transform: uppercase; }
.hunt-scene .hz-aisle { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.22em; fill: var(--vintage-signal); text-anchor: middle; text-transform: uppercase; }
.hunt-scene .hunt-marker { cursor: pointer; }
.hunt-scene .hunt-pin circle { fill: var(--woodland-drab); stroke: var(--raw-canvas); stroke-width: 2; }
.hunt-scene .hunt-pin .pin-check { fill: none; stroke: var(--raw-canvas); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.hunt-scene .hunt-pin.real circle { fill: var(--vintage-signal); }
.hunt-scene .hunt-pin { animation: hunt-pop .3s cubic-bezier(.2,1.6,.5,1); }
@keyframes hunt-pop { from { transform: scale(0); } to { transform: scale(1); } }
.hunt-scene .hunt-miss { font-family: var(--font-label); font-size: 16px; font-weight: 700; fill: var(--vintage-signal); animation: hunt-miss-rise .7s ease-out forwards; }
@keyframes hunt-miss-rise { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } 100% { opacity: 0; transform: translateY(-26px); } }

/* checklist */
.hunt-side { padding: 14px; }
.hunt-list-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--vintage-signal); margin-bottom: 10px; }
.hunt-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 7px; }
.hunt-item { display: flex; align-items: center; gap: 9px; border: 1px solid var(--bunker-olive); border-radius: 4px; background: var(--raw-canvas); padding: 8px 10px; transition: background .15s, border-color .15s, opacity .15s; }
.hunt-item .hi-check { flex-shrink: 0; width: 18px; height: 18px; border: 1.5px solid var(--bunker-olive); border-radius: 50%; position: relative; }
.hunt-item .hi-ic { font-size: 17px; line-height: 1; flex-shrink: 0; }
.hunt-item .hi-text { font-size: 12.5px; line-height: 1.3; color: var(--pitch-pine); }
.hunt-item.real { border-color: var(--vintage-signal); border-style: dashed; }
.hunt-item.real .hi-text { color: var(--vintage-signal); }
.hunt-item.got { background: var(--raw-canvas-warm); opacity: 0.7; }
.hunt-item.got .hi-text { text-decoration: line-through; color: var(--faded-fatigue); }
.hunt-item.got .hi-check { background: var(--woodland-drab); border-color: var(--woodland-drab); }
.hunt-item.got .hi-check::after { content: ""; position: absolute; left: 5px; top: 2px; width: 5px; height: 9px; border: solid var(--raw-canvas); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.hunt-item.got.real .hi-check { background: var(--vintage-signal); border-color: var(--vintage-signal); }

/* start + end overlays */
.hunt-start, .hunt-end { position: absolute; inset: 0; z-index: 10; background: rgba(60, 52, 31, 0.96); color: var(--raw-canvas); display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px 18px; }
.hunt-end { display: none; }
.hunt-end.on { display: flex; }
.hunt.playing .hunt-start { display: none; }
.hunt-start-inner, .hunt-end-inner { max-width: 440px; }
.hunt-start-eyebrow, .hunt-end-eyebrow { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--desert-khaki-light); margin-bottom: 12px; }
.hunt-start-title { font-family: var(--font-display); font-style: italic; font-size: clamp(20px, 5vw, 28px); line-height: 1.3; margin-bottom: 12px; }
.hunt-start-sub { font-size: 13.5px; color: rgba(245,242,235,0.8); line-height: 1.5; margin-bottom: 20px; }
.hunt-best-seed { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.08em; color: var(--desert-khaki-light); margin-top: 16px; min-height: 14px; }

/* end screen */
.hunt-stamp { display: inline-block; font-family: var(--font-label); font-size: clamp(16px, 4.5vw, 22px); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--raw-canvas); background: var(--vintage-signal); border: 2px solid rgba(245,242,235,0.85); padding: 9px 18px; transform: rotate(-1.2deg); box-shadow: 3px 3px 0 rgba(0,0,0,0.25); }
.hunt-verdict { font-size: 13.5px; color: rgba(245,242,235,0.85); line-height: 1.5; margin: 16px auto 0; max-width: 40ch; }
.hunt-real { border: 1.5px solid; border-radius: 4px; padding: 14px 16px; margin: 18px auto 0; max-width: 380px; }
.hunt-real.found { border-color: var(--desert-khaki-light); background: rgba(156,123,71,0.16); }
.hunt-real.missed { border-color: var(--vintage-signal); background: rgba(168,87,60,0.16); }
.hunt-real .hr-eyebrow { font-family: var(--font-label); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--desert-khaki-light); margin-bottom: 6px; }
.hunt-real.missed .hr-eyebrow { color: var(--vintage-signal); }
.hunt-real .hr-name { font-family: var(--font-display); font-size: 20px; color: var(--raw-canvas); line-height: 1.1; }
.hunt-real .hr-price { font-family: var(--font-label); font-size: 22px; font-weight: 700; color: var(--desert-khaki-light); margin-top: 4px; }
.hunt-real .hr-cta { font-size: 12.5px; color: rgba(245,242,235,0.85); line-height: 1.45; margin-top: 8px; }
.hunt-end-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(245,242,235,0.18); border: 1px solid rgba(245,242,235,0.18); margin: 20px auto 0; max-width: 360px; }
.hunt-end-stat { background: rgba(60,52,31,0.6); padding: 11px 8px; display: flex; flex-direction: column; gap: 4px; }
.hunt-end-stat span { font-family: var(--font-label); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--desert-khaki-light); }
.hunt-end-stat strong { font-family: var(--font-label); font-size: 17px; color: var(--raw-canvas); }
.hunt-cert-cta { margin-top: 16px; }
.hunt-cert-cta:empty { margin: 0; }
.hunt-end-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }

/* larger screens: scene + list side by side, roomier */
@media (min-width: 720px) {
  .hunt-body { flex-direction: row; }
  .hunt-scene { flex: 1.6; border-bottom: none; border-right: 1.5px solid var(--bunker-olive); }
  .hunt-side { flex: 1; }
  .hunt-end-actions { flex-direction: row; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .hunt-scene .hunt-pin, .hunt-scene .hunt-miss, .hunt-scene.shake { animation: none; }
  .hunt-clock-fill { transition: none; }
}
