/* =========================================================
   THEME — this game's colours. EDIT THIS FILE (only) to re-skin the menu.
   The layout/logic come from the shared shell.css (never touch that).
   Change the values below to match your game's art, then you're done.

   ---- WHAT YOU SHOULD AND SHOULD NOT RECOLOUR ----
   RECOLOUR FREELY: --accent (the game's own colour — modal captions, the title cap) and the
   --panel / --nav family (the furniture the UI is built from).

   DO NOT RECOLOUR: --gold and --green. Those two are SEMANTIC across the whole portfolio —
   gold always means currency, green always means "this button plays a rewarded ad". A player
   who has met one of our games already knows what a green button does, and rewarded video is
   where the money comes from; a game that makes green mean something else is training them
   wrong and will cost itself views.

   The --pri-* / --go-* / --gd-* / --gh-* sets are BUTTON RAMPS: 1 = top of the face,
   2 = bottom of the face, 3 = the hard shadow underneath, ink = the label colour. Change
   1/2/3 together, or the button stops reading as a physical key you can press.
   ========================================================= */
/* 💚 UK4DEE GREEN — "PITCH & PUNCH" (Graham picked D from shell-themes.html, 2026-09-04,
   "a green version of the purple portal look, text white especially at the top").
   The channel brand: lime #b6e838 on black, white bold type. Structure mirrors the earlier portal
   theme exactly — same token slots, green family instead of purple. Tokens on :root because
   the master shell's nav/popups are card SIBLINGS.
   🔴 SEMANTICS KEPT: --green/--go-* (rewarded ad) stays EMERALD — distinct from the brand
   lime on purpose, or "green means watch-an-ad" dies in a green theme. --gold stays gold. */
:root{
  --accent:#c8f34e; --accent-dk:#9ed224; --accent-lt:#e2ff8f;

  /* ---- SEMANTIC: leave these alone ---- */
  --green:#2fbf6b; --green-dk:#1d8c4c;
  --gold:#ffce3a;  --gold-dk:#e8a417;

  /* ---- furniture: logo-tile black, white type ---- */
  --ink:#0a0d05; --panel:#161616; --panel-2:#0e0e0e; --tab:#242c11;
  --nav-line:#060606; --text:#ffffff;
  --nav1:#1d1d1d; --nav2:#0e0e0e;

  /* ---- button ramps ---- */
  --pri-1:#cdf655; --pri-2:#9ed224; --pri-3:#587a10; --pri-ink:#101206;  /* PLAY + active tab: BRAND LIME */
  --go-1:#5ee08d;  --go-2:#2fbf6b;  --go-3:#1d8c4c;  --go-ink:#08240f;   /* rewarded ad: emerald */
  --gd-1:#ffca4d;  --gd-2:#f0aa22;  --gd-3:#cf8d0b;  --gd-ink:#3b2f06;   /* currency */
  --gh-1:#262626;  --gh-2:#161616;  --gh-3:#060606;                      /* neutral */

  --text-scene:#ffffff;
}
/* The bar: WHITE wordmark (Graham) — raw lime can't carry white text, so the bar alone runs
   one shade deeper into the brand green. Everything else stays lime. */
/* The subscribe bar stays the shell's native YouTube RED (Graham, 2026-09-04) — no override.
   !important kept from the portal era (a brand script used to repaint the bar); harmless now
   without touching the brand file. */
#shSub{ background:#ff0033 !important; }

/* 📣 SUBTLE ATTENTION NUDGE on the subscribe text (Graham, 2026-09-08: "animate it a bit,
   nothing crazy, just subtle"). Only the INNER spans move — the bar element keeps the
   shell's own centering/scale transform untouched, and pointer-events stay none (DIDEU_01:
   signage, never a button). Most of the cycle is stillness; a quick little wiggle every
   ~5s. The body.game-paused blanket below freezes it under a host pause, so a paused
   screenshot stays genuinely still (C2/M5). */
#shSub .sub-l, #shSub .sub-h{ display:inline-block; animation:subNudge 5.2s ease-in-out infinite; }
#shSub .sub-h{ animation-delay:.09s; }
@keyframes subNudge{
  0%,86%,100%{ transform:none; }
  88%{ transform:scale(1.07) rotate(-2deg); }
  91%{ transform:scale(1.05) rotate(2deg); }
  94%{ transform:scale(1.08) rotate(-1deg); }
  97%{ transform:scale(1); }
}

/* 🟣 PAUSE FREEZE (SUBMISSION-FAILURES C2/M8): the master shell adds body.game-paused on a
   host pause; nothing may keep animating under an advert — a correctly-paused game must LOOK
   paused in a moderator's screenshot. Blanket, additive, with only the pause overlay exempt
   (C2a: exceptions written as ancestors resurrect things — this exempts one id, no children
   of the frozen world). */
body.game-paused *{ animation-play-state:paused !important; }
body.game-paused #shPaused, body.game-paused #shPaused *{ animation-play-state:running !important; }


/* ---- HUD CLEANUP (2026-08-30): the shell's in-run objective chip duplicated the game's own
   COINS readout, so it is hidden here. Theme-level presentation only — shell.js/shell.css stay
   byte-identical. ---- */
#shGhud .obj{ display:none !important; }
/* The bottom coaching hint earns its keep exactly once; body.veteran is set by the game from
   level 2 onward. */
body.veteran #shHint{ display:none !important; }

/* ---- GARAGE BUTTONS just above the nav bar (Graham, 2026-08-30). !important on purpose: the
   shell's liftPlayAbove() writes an inline bottom (262px with no upgrade stack), and a stylesheet
   !important is the one thing that outranks an inline style without editing shell.js.
   ⚠️ If this game ever declares CFG.upgrades, this override will sit the buttons ON the upgrade
   stack — revisit then. ---- */
#gameShell .gPlay{ bottom:88px !important; }

/* ---- PAINT BUTTON above the UNLOCK/PLAY stack (Graham, 2026-08-30). The shell parks it beside
   the car (bottom:396px, left:72%); this docks it centred just above the button group, which this
   game pins at bottom:88px. 212px clears the tallest group (UNLOCK + TEST DRIVE). ---- */
#gameShell .gPaint{ bottom:212px !important; left:auto !important; right:34px !important; transform:none !important; }

/* ---- The game LOGO replaces the shell's text title on the home screen (Graham's art,
   2026-08-30). The logo element lives in the game's own HUD col. ---- */
#gameShell .gTitle{ display:none !important; }

/* ---- Car NAME and the floating price line removed (Graham, 2026-08-30) — the logo owns the top
   band, and the cost lives ON the unlock button where the decision happens. ---- */
#gameShell .gName,#gameShell .gStatus{ display:none !important; }
/* the price injected into the unlock button by patchUnlockPrice() */
#shGGo .upr{ display:block; font-size:24px; line-height:1.1; margin-top:2px; }
#shGGo .upr img{ height:22px; width:auto; vertical-align:-4px; margin-right:5px; }

/* ---- Browse arrows lowered out of the screen's middle (Graham, 2026-08-30) — the shell puts
   them at top:44%; down here they flank the car's wheels instead of its roofline. ---- */
#gameShell .garrow{ top:58% !important; }

/* ---- Win card = the tally sheet (Graham, 2026-08-30): stars off, lines injected by
   patchWinCard(), COLLECT renamed NEXT LEVEL, small Home beneath. ---- */
#shWinStars{ display:none !important; }

/* ---- Run UI stripped further (Graham, 2026-08-30): the checkered progress flag and the quit
   button are gone from gameplay. A run now ends only by finishing or wrecking out; delete these
   two lines to bring either back. ---- */
#shGhud .gflag{ display:none !important; }
#shQuit{ display:none !important; }

/* ---- WALLET CHIPS ON THE TOP LINE (Graham, 2026-08-31): the coin + gem chips move up under
   the top bar, centred, and bigger. They normally sit small in the header row.
   Sibling selector, not :has() — the portal floor is old Android and :has() support there is
   not a bet worth taking. The coin chip is the first .chip in the header, the gem chip is
   the one directly after it. ---- */
#shHome header .chip{
  position:absolute; top:54px; left:12px;
  font-size:17px; padding:5px 15px 5px 8px; border-radius:999px; z-index:6;
}
/* 💎 THE GEM CURRENCY IS GONE (Graham, 2026-08-31: "we don't need it in this game") —
   the cash bill is the one currency. Chip and the store's +GEMS rewarded button hidden;
   missions are not enabled in this game so nothing else ever pays gems. */
#shHome header .chip + .chip{ display:none !important; }
#shShopGems{ display:none !important; }
#shHome header .chip img{ width:27px; height:27px; }
