/* Pokemon NNN 2026 — site skin: retro Gen-3 (FireRed/Emerald) "day" + "night".
   Loaded only while body.jg-skin-pokemon is set (includes/skin.php), after
   nnn-tokens.css and dark.css. EVERY rule is prefixed body.jg-skin-pokemon so it
   beats the footer-printed sheets (games/welcome/calendar/live) on specificity.
   Colours come from the --nnn-* tokens (they flip under html[data-jg-theme="dark"]);
   the skin-local --sk-* roles below flip in the night block. Night rules with
   !important exist only where dark.css itself uses !important.
   Firefox trap: ::-webkit-* / ::selection / :has() always sit in their own rule. */

/* ================================================================ roles */
body.jg-skin-pokemon {
	--sk-pat: rgba(42, 42, 42, .06);           /* page pattern ink */
	--sk-text: var(--nnn-text);
	--sk-muted: var(--nnn-muted);
	--sk-card: var(--nnn-card);
	--sk-card2: var(--nnn-card2);
	--sk-line: var(--nnn-line);
	--sk-frame: var(--nnn-frame);
	--sk-frame2: var(--nnn-frame2);
	--sk-inner: var(--nnn-line);               /* 3rd ring of the Gen-3 double frame */
	--sk-link: var(--nnn-blue);
	--sk-link-hover: var(--nnn-red);
	--sk-hot: var(--nnn-red);                  /* accent text: prices, counters, kickers */
	--sk-ghost-line: var(--nnn-frame);
	--sk-input: var(--nnn-card);
	--sk-hover-frame: var(--nnn-red);
	--sk-hover-shadow: var(--nnn-red2);
	--sk-hard: var(--nnn-line);                /* hard drop under frames/thumbs */
	--sk-ball-white: #FFFFFF;                  /* bottom half of the pokeball icon */
	--sk-nav-current: var(--nnn-hdr-text);
	--sk-select: var(--nnn-blue);
	--sk-yes: var(--nnn-blue);
	--sk-no: var(--nnn-line);
	--sk-tint: rgba(255, 210, 74, .30);        /* "this is you" row tint */
	--sk-card-shadow: inset 0 0 0 2px var(--sk-frame2), inset 0 0 0 4px var(--sk-inner), var(--nnn-shadow);
	--sk-card-shadow-hover: inset 0 0 0 2px var(--sk-frame2), inset 0 0 0 4px var(--sk-inner), 0 12px 26px rgba(32, 32, 32, .16);

	/* existing site variables → Pokemon palette (body beats :root / html[data-jg-theme]) */
	--jg-text: var(--nnn-text);
	--jg-muted: var(--nnn-muted);
	--jg-line: var(--nnn-line);
	--jg-card: var(--nnn-card);
	--jg-soft: var(--nnn-card2);
	--jg-pink: var(--nnn-red);
	--jg-pink-2: var(--nnn-yellow);
	--jg-purple: var(--nnn-blue);
	--jg-ink: var(--nnn-text);
	--jg-grad: linear-gradient(180deg, var(--nnn-red) 0%, var(--nnn-red2) 100%);

	/* Paid Memberships Pro (checkout / account sub-pages) */
	--pmpro--color--accent: var(--nnn-red);
	--pmpro--color--accent--variation: var(--nnn-red2);
	--pmpro--color--base: var(--nnn-card);
	--pmpro--color--base-2: var(--nnn-card2);
	--pmpro--color--contrast: var(--nnn-text);
	--pmpro--color--border: var(--nnn-line);
	--pmpro--color--border--variation: var(--nnn-line);
	--pmpro--base--border-radius: 10px;
	--pmpro--box-shadow: var(--nnn-shadow);

	color: var(--sk-text);
	/* cream + faint pokeball line-art (two staggered balls per 140px tile) */
	background-color: var(--nnn-bg) !important;
	background-image:
		radial-gradient(circle at 35px 35px, var(--sk-pat) 0 2.5px, transparent 3px 4.5px, var(--sk-pat) 5px 6.5px, transparent 7px),
		radial-gradient(ellipse 4.5px 1.6px at 23px 35px, var(--sk-pat) 98%, transparent 100%),
		radial-gradient(ellipse 4.5px 1.6px at 47px 35px, var(--sk-pat) 98%, transparent 100%),
		radial-gradient(circle at 35px 35px, transparent 15.5px, var(--sk-pat) 16px 18px, transparent 18.5px),
		radial-gradient(circle at 105px 105px, var(--sk-pat) 0 2.5px, transparent 3px 4.5px, var(--sk-pat) 5px 6.5px, transparent 7px),
		radial-gradient(ellipse 4.5px 1.6px at 93px 105px, var(--sk-pat) 98%, transparent 100%),
		radial-gradient(ellipse 4.5px 1.6px at 117px 105px, var(--sk-pat) 98%, transparent 100%),
		radial-gradient(circle at 105px 105px, transparent 15.5px, var(--sk-pat) 16px 18px, transparent 18.5px) !important;
	background-size: 140px 140px !important;
	background-repeat: repeat !important;
	background-position: 0 0 !important;
	background-attachment: scroll !important;
}
html[data-jg-theme="dark"] body.jg-skin-pokemon {
	--sk-pat: rgba(255, 255, 255, .055);
	--sk-link: var(--type-water);
	--sk-link-hover: var(--nnn-yellow);
	--sk-hot: var(--nnn-yellow);
	--sk-ghost-line: var(--nnn-frame2);
	--sk-input: var(--nnn-bg2);
	--sk-hover-frame: var(--nnn-yellow);
	--sk-hover-shadow: var(--nnn-orange);
	--sk-hard: var(--nnn-frame);
	--sk-ball-white: var(--nnn-text);
	--sk-nav-current: var(--nnn-yellow);
	--sk-yes: var(--type-water);
	--sk-no: var(--nnn-frame2);
	--sk-tint: rgba(255, 210, 74, .16);
	--sk-card-shadow-hover: inset 0 0 0 2px var(--sk-frame2), inset 0 0 0 4px var(--sk-inner), 0 12px 26px rgba(0, 0, 0, .45);
	--jg-purple: var(--type-water);
	--pmpro--color--accent--variation: var(--nnn-orange);

	color: var(--sk-text);
	/* navy + faint dots (beats dark.css body background !important) */
	background-color: var(--nnn-bg) !important;
	background-image: radial-gradient(circle at 3px 3px, var(--sk-pat) 0 1.3px, transparent 1.9px) !important;
	background-size: 22px 22px !important;
	background-repeat: repeat !important;
	background-position: 0 0 !important;
	background-attachment: scroll !important;
}
body.jg-skin-pokemon ::selection { background: var(--nnn-yellow); color: var(--nnn-frame); }

/* ================================================================ Elementor wrappers + content */
/* header/footer templates paint a pink gradient behind the bar and spacer */
body.jg-skin-pokemon .elementor-location-header,
body.jg-skin-pokemon .elementor-location-footer {
	background-color: transparent !important;
	background-image: none !important;
}
body.jg-skin-pokemon .elementor-widget-heading .elementor-heading-title,
body.jg-skin-pokemon .elementor-widget-text-editor,
body.jg-skin-pokemon .elementor-widget-text-editor p { color: var(--sk-text) !important; }
/* inline-coloured text-editor copy: only the old muted purple (#6b5580, the homepage
   "Every tier includes…" line) maps to muted; other inline colours are left to the
   rules above (a bare [style*="color"] also hit background-color etc.) */
body.jg-skin-pokemon .elementor-widget-text-editor :is(p, span, div, strong, em)[style*="6b5580" i] { color: var(--sk-muted) !important; }
body.jg-skin-pokemon .elementor-widget-text-editor a { color: var(--sk-link) !important; }
body.jg-skin-pokemon .elementor-widget-button .elementor-button {
	background: var(--nnn-red) !important;
	color: #fff !important;
	border: 2px solid var(--nnn-frame) !important;
	border-radius: 8px !important;
	box-shadow: 0 3px 0 var(--nnn-red2) !important;
}
body.jg-skin-pokemon .elementor-widget-button .elementor-button:hover { filter: brightness(1.06); transform: translateY(1px); box-shadow: 0 2px 0 var(--nnn-red2) !important; }

/* ================================================================ header */
body.jg-skin-pokemon .jg-hdr {
	background-color: var(--nnn-hdr);
	background-image: linear-gradient(180deg, rgba(255, 255, 255, .13) 0, rgba(255, 255, 255, 0) 55%);
	border-bottom: 3px solid var(--nnn-hdr-line);
	box-shadow: 0 2px 0 rgba(0, 0, 0, .14);
}
body.jg-skin-pokemon .jg-hdr-logotext { color: var(--nnn-yellow); font-family: var(--nnn-font-logo); font-weight: 400; letter-spacing: .02em; }
body.jg-skin-pokemon .jg-hdr-nav a { color: var(--nnn-hdr-text) !important; border-radius: 4px; }
body.jg-skin-pokemon .jg-hdr-nav a:hover {
	color: var(--nnn-hdr-text) !important;
	background: rgba(0, 0, 0, .16);
	text-decoration: underline !important;
	text-decoration-color: var(--nnn-yellow) !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: 5px;
}
body.jg-skin-pokemon .jg-hdr-nav a:focus-visible {
	color: var(--nnn-hdr-text) !important;
	background: rgba(0, 0, 0, .16);
	text-decoration: underline !important;
	text-decoration-color: var(--nnn-yellow) !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: 5px;
}
body.jg-skin-pokemon .jg-hdr-nav .current-menu-item > a {
	color: var(--sk-nav-current) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--nnn-yellow) !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: 5px;
}
body.jg-skin-pokemon .jg-hdr-icon { color: var(--nnn-hdr-text) !important; background: rgba(0, 0, 0, .18); }
body.jg-skin-pokemon .jg-hdr-icon:hover { background: var(--nnn-yellow); color: var(--nnn-frame) !important; }
body.jg-skin-pokemon .jg-hdr-theme { background: rgba(0, 0, 0, .18); color: var(--nnn-hdr-text); }
body.jg-skin-pokemon .jg-hdr-theme:hover { background: var(--nnn-yellow); }
body.jg-skin-pokemon .jg-hdr-classic { color: var(--nnn-hdr-text) !important; border-color: rgba(255, 255, 255, .45); }
body.jg-skin-pokemon .jg-hdr-classic:hover { border-color: var(--nnn-yellow); }
/* Account = yellow "START" pill; padding/size stay with site-ui.css media rules */
body.jg-skin-pokemon .jg-hdr-account {
	background: var(--nnn-yellow);
	color: var(--nnn-frame) !important;
	border: 2px solid var(--nnn-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 rgba(0, 0, 0, .32);
}
body.jg-skin-pokemon .jg-hdr-account:hover { filter: brightness(1.05); transform: translateY(1px); box-shadow: 0 2px 0 rgba(0, 0, 0, .32); }
/* Character Sheet pill (joigang-charsheet) = blue secondary */
body.jg-skin-pokemon .jgcs-header-btn {
	background: var(--nnn-blue);
	color: #fff !important;
	border: 2px solid var(--nnn-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--nnn-blue2);
}
body.jg-skin-pokemon .jgcs-header-btn:hover { filter: brightness(1.08); transform: translateY(1px); box-shadow: 0 2px 0 var(--nnn-blue2); }
body.jg-skin-pokemon .jgcs-header-drop {
	background: var(--sk-card);
	border: 3px solid var(--sk-frame);
	border-radius: 10px;
	box-shadow: var(--sk-card-shadow);
}
body.jg-skin-pokemon .jgcs-header-drop a { color: var(--sk-text) !important; }
body.jg-skin-pokemon .jgcs-header-drop a:hover { background: var(--sk-card2); color: var(--sk-hot) !important; }
@media (max-width: 1315px) {
	/* burger dropdown = a Gen-3 menu: same band as the bar, ▶ cursor on the hovered row */
	body.jg-skin-pokemon .jg-hdr-nav {
		background: var(--nnn-hdr);
		border-bottom: 3px solid var(--nnn-hdr-line);
		box-shadow: 0 8px 18px rgba(0, 0, 0, .25);
	}
	body.jg-skin-pokemon .jg-hdr-nav a { position: relative; padding-left: 26px; text-decoration: none !important; }
	body.jg-skin-pokemon .jg-hdr-nav a:hover { text-decoration: none !important; }
	body.jg-skin-pokemon .jg-hdr-nav a:focus-visible { text-decoration: none !important; }
	body.jg-skin-pokemon .jg-hdr-nav a:hover::before,
	body.jg-skin-pokemon .jg-hdr-nav .current-menu-item > a::before {
		content: "";
		position: absolute;
		left: 10px;
		top: 50%;
		width: 0;
		height: 0;
		margin-top: -6px;
		border-left: 8px solid var(--nnn-yellow);
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
	}
	body.jg-skin-pokemon .jg-hdr-nav .current-menu-item > a { text-decoration: none !important; }
	body.jg-skin-pokemon .jg-nav-social a { color: var(--nnn-hdr-text) !important; padding-left: 26px !important; }
}
@media (max-width: 700px) {
	body.jg-skin-pokemon .jg-nav-charsheet a { color: var(--sk-nav-current) !important; }
}

/* ================================================================ footer */
body.jg-skin-pokemon .jg-ftr {
	background-color: var(--nnn-hdr);
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .10) 0, rgba(0, 0, 0, 0) 40%);
	border-top: 3px solid var(--nnn-hdr-line);
}
body.jg-skin-pokemon .jg-ftr-line { color: var(--nnn-hdr-text); opacity: .92; }
body.jg-skin-pokemon .jg-ftr-line strong { color: var(--nnn-hdr-text); }
body.jg-skin-pokemon .jg-ftr-line a {
	color: var(--nnn-hdr-text) !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(255, 255, 255, .45) !important;
	text-underline-offset: 3px;
}
body.jg-skin-pokemon .jg-ftr-line a:hover { color: var(--nnn-hdr-text) !important; text-decoration-color: var(--nnn-yellow) !important; text-decoration-thickness: 2px; }
body.jg-skin-pokemon .jg-ftr-fine { opacity: .6; }

/* ================================================================ buttons */
/* A = red with a hard drop; B = blue; ghost = card with a frame. Base padding stays. */
body.jg-skin-pokemon .jg-l-cta,
body.jg-skin-pokemon .jg-btn-sm,
body.jg-skin-pokemon .jg-w-btn,
body.jg-skin-pokemon .jgvp-tier-cta,
body.jg-skin-pokemon .jgvp-tier.is-popular .jgvp-tier-cta,
body.jg-skin-pokemon .jg-matrix-cta a,
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-join,
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-golive,
body.jg-skin-pokemon .jgvp-btn-primary,
body.jg-skin-pokemon .jgvp-cta,
body.jg-skin-pokemon .jgvp-searchbar button,
body.jg-skin-pokemon .jgvp-filter-main button,
body.jg-skin-pokemon .jgvp-comment-form input[type="submit"],
body.jg-skin-pokemon .jgcs-btn,
body.jg-skin-pokemon .jgn-btn,
body.jg-skin-pokemon .jgn-patreon-cta,
body.jg-skin-pokemon .jg-signin .login input[type="submit"],
body.jg-skin-pokemon .jg-signin #loginform input[type="submit"],
body.jg-skin-pokemon .jg-cal-confirm-go,
body.jg-skin-pokemon .jg-pricing-sticky,
body.jg-skin-pokemon .jg-livepop-btn {
	background: var(--nnn-red);
	color: #fff !important;
	border: 2px solid var(--nnn-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--nnn-red2);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
	font-weight: 800;
	filter: none;
	transition: transform .08s, box-shadow .08s, filter .12s;
}
body.jg-skin-pokemon .jg-l-cta:hover,
body.jg-skin-pokemon .jg-btn-sm:hover,
body.jg-skin-pokemon .jg-w-btn:hover,
body.jg-skin-pokemon .jgvp-tier-cta:hover,
body.jg-skin-pokemon .jgvp-tier.is-popular .jgvp-tier-cta:hover,
body.jg-skin-pokemon .jg-matrix-cta a:hover,
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-join:hover,
body.jg-skin-pokemon .jgvp-btn-primary:hover,
body.jg-skin-pokemon .jgvp-cta:hover,
body.jg-skin-pokemon .jgvp-searchbar button:hover,
body.jg-skin-pokemon .jgvp-filter-main button:hover,
body.jg-skin-pokemon .jgvp-comment-form input[type="submit"]:hover,
body.jg-skin-pokemon .jgcs-btn:hover,
body.jg-skin-pokemon .jgn-btn:hover,
body.jg-skin-pokemon .jgn-patreon-cta:hover,
body.jg-skin-pokemon .jg-signin .login input[type="submit"]:hover,
body.jg-skin-pokemon .jg-signin #loginform input[type="submit"]:hover,
body.jg-skin-pokemon .jg-cal-confirm-go:hover,
body.jg-skin-pokemon .jg-livepop-btn:hover {
	filter: brightness(1.07);
	transform: translateY(1px);
	box-shadow: 0 2px 0 var(--nnn-red2);
}
body.jg-skin-pokemon .jg-l-cta:active,
body.jg-skin-pokemon .jg-btn-sm:active,
body.jg-skin-pokemon .jgvp-tier-cta:active,
body.jg-skin-pokemon .jgvp-cta:active,
body.jg-skin-pokemon .jgcs-btn:active { transform: translateY(3px); box-shadow: 0 0 0 var(--nnn-red2); }
/* the /livejoi go-live button keeps its pulse; only paint it */
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-golive:hover { filter: brightness(1.07); }
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-golive[hidden] { display: none !important; }

/* B button (secondary) */
body.jg-skin-pokemon .jgvp-btn:not(.jgvp-btn-primary),
body.jg-skin-pokemon .jgcs-req-btn {
	background: var(--nnn-blue);
	color: #fff !important;
	border: 2px solid var(--nnn-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--nnn-blue2);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
}
body.jg-skin-pokemon .jgvp-btn:not(.jgvp-btn-primary):hover,
body.jg-skin-pokemon .jgcs-req-btn:hover { filter: brightness(1.1); transform: translateY(1px); box-shadow: 0 2px 0 var(--nnn-blue2); background: var(--nnn-blue); border-color: var(--nnn-frame); }
body.jg-skin-pokemon .jgcs-req-btn.is-on { background: var(--sk-card2); color: var(--sk-link) !important; border-color: var(--sk-link); box-shadow: none; text-shadow: none; }

/* ghost */
body.jg-skin-pokemon .jg-l-cta-ghost,
body.jg-skin-pokemon .jg-btn-ghost,
body.jg-skin-pokemon .jg-w-btn-ghost,
body.jg-skin-pokemon .jgvp-cta-ghost,
body.jg-skin-pokemon .jgcs-btn-ghost,
body.jg-skin-pokemon .jgn-btn-ghost,
body.jg-skin-pokemon .jgn-btn[data-on="1"],
body.jg-skin-pokemon .jg-orders-more,
body.jg-skin-pokemon .jg-cal-confirm-no {
	background: var(--sk-card) !important;
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard);
	text-shadow: none;
}
body.jg-skin-pokemon .jg-l-cta-ghost:hover,
body.jg-skin-pokemon .jg-btn-ghost:hover,
body.jg-skin-pokemon .jg-w-btn-ghost:hover,
body.jg-skin-pokemon .jgvp-cta-ghost:hover,
body.jg-skin-pokemon .jgcs-btn-ghost:hover,
body.jg-skin-pokemon .jgn-btn-ghost:hover,
body.jg-skin-pokemon .jg-orders-more:hover,
body.jg-skin-pokemon .jg-cal-confirm-no:hover {
	background: var(--sk-card2) !important;
	color: var(--sk-hot) !important;
	border-color: var(--sk-hover-frame);
	box-shadow: 0 2px 0 var(--sk-hard);
}
body.jg-skin-pokemon .jg-l-cta-disabled {
	background: var(--sk-line) !important;
	color: var(--sk-muted) !important;
	border-color: var(--sk-line);
	box-shadow: none;
	text-shadow: none;
}
/* the PMPro "no access" box prints these with inline styles */
body.jg-skin-pokemon .jg-noaccess .jg-w-btn {
	background: var(--nnn-red) !important;
	color: #fff !important;
	border: 2px solid var(--nnn-frame) !important;
	border-radius: 8px !important;
	box-shadow: 0 3px 0 var(--nnn-red2) !important;
}
body.jg-skin-pokemon .jg-noaccess .jg-w-btn-ghost {
	background: var(--sk-card) !important;
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-ghost-line) !important;
	box-shadow: 0 3px 0 var(--sk-hard) !important;
}
body.jg-skin-pokemon .jg-noaccess { color: var(--sk-text); }
body.jg-skin-pokemon .jg-noaccess-tiers { color: var(--sk-muted); }
/* carousel arrows */
body.jg-skin-pokemon .jg-car-btn { background: var(--nnn-red); color: #fff; border: 2px solid var(--nnn-frame); box-shadow: 0 3px 0 var(--nnn-red2); }

/* ================================================================ Gen-3 framed cards */
body.jg-skin-pokemon .jg-card,
body.jg-skin-pokemon .jg-copycard,
body.jg-skin-pokemon .jg-l-step,
body.jg-skin-pokemon .jg-l-feature,
body.jg-skin-pokemon .jg-l-join,
body.jg-skin-pokemon .jg-l-sheetdemo,
body.jg-skin-pokemon .jg-ljc-full,
body.jg-skin-pokemon .jg-pricing-patreon,
body.jg-skin-pokemon .jg-matrix-wrap,
body.jg-skin-pokemon .jg-retain,
body.jg-skin-pokemon .jg-acct-nav,
body.jg-skin-pokemon .jg-acct-legacy,
body.jg-skin-pokemon .jg-ooo-slots,
body.jg-skin-pokemon .jgn-item,
body.jg-skin-pokemon .jgn-prefs,
body.jg-skin-pokemon .jgn-single-main,
body.jg-skin-pokemon .jgn-single-side,
body.jg-skin-pokemon .jg-cal-day,
body.jg-skin-pokemon .jg-cal-done,
body.jg-skin-pokemon .jg-cal-confirm,
body.jg-skin-pokemon .jgvp-tier,
body.jg-skin-pokemon .jgvp-fsgate,
body.jg-skin-pokemon .jgvp-handy,
body.jg-skin-pokemon .jgvp-playlist,
body.jg-skin-pokemon .jgvp-tagfilter-panel,
body.jg-skin-pokemon .jgvp-cta-list,
body.jg-skin-pokemon .jgcs-statcard,
body.jg-skin-pokemon .jgcs-ach,
body.jg-skin-pokemon .jgcs-girl,
body.jg-skin-pokemon .jgcs-lb-card,
body.jg-skin-pokemon .jgcs-breakdown,
body.jg-skin-pokemon .jgcs-optout,
body.jg-skin-pokemon .jgcs-fresh,
body.jg-skin-pokemon .jgcs-empty,
body.jg-skin-pokemon .jgcs-profile,
body.jg-skin-pokemon .pmpro_card,
body.jg-skin-pokemon .jg-livepop-card {
	background: var(--sk-card);
	border: 3px solid var(--sk-frame);
	border-radius: 10px;
	box-shadow: var(--sk-card-shadow);
	color: var(--sk-text);
}
/* slim rows: single frame + hard drop */
body.jg-skin-pokemon .jg-faq details,
body.jg-skin-pokemon .jg-fslib-row,
body.jg-skin-pokemon .jgn-latest {
	background: var(--sk-card);
	border: 2px solid var(--sk-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard);
	color: var(--sk-text) !important;
}
/* accent edges */
body.jg-skin-pokemon .jg-pricing-patreon,
body.jg-skin-pokemon .jgcs-fresh { border-left: 8px solid var(--nnn-red); }
body.jg-skin-pokemon .jgn-latest { border-left: 6px solid var(--nnn-red); }
body.jg-skin-pokemon .jg-card-upgrade,
body.jg-skin-pokemon .jg-retain,
body.jg-skin-pokemon .jg-signin-patreon,
body.jg-skin-pokemon .jgn-item.is-new,
body.jg-skin-pokemon .jg-w-upsell { border-color: var(--nnn-red); }
body.jg-skin-pokemon .jgcs-ach.is-done { border-color: var(--nnn-gold); }
/* nested boxes stay flat */
body.jg-skin-pokemon .jg-card .jgn-prefs,
body.jg-skin-pokemon .jgn-prefs-compact { background: none; border: 0; box-shadow: none; padding: 0; margin: 0; }
body.jg-skin-pokemon .jg-l-sheetdemo .jgcs { color: var(--sk-text); }
/* hover lifts keep the frame */
body.jg-skin-pokemon .jgcs-statcard:hover,
body.jg-skin-pokemon .jgcs-ach:hover,
body.jg-skin-pokemon .jgcs-girl:hover,
body.jg-skin-pokemon .jgvp-tier:hover { box-shadow: var(--sk-card-shadow-hover); }

/* ================================================================ type: headings, kickers, hero */
body.jg-skin-pokemon .jg-hero h1,
body.jg-skin-pokemon .jg-sec-h2,
body.jg-skin-pokemon .jg-l-h2,
body.jg-skin-pokemon .jg-l-final h2,
body.jg-skin-pokemon .jg-pricing-h2,
body.jg-skin-pokemon .jg-pricing-hero h1,
body.jg-skin-pokemon .jg-acct-hello,
body.jg-skin-pokemon .jg-fslib-head h1,
body.jg-skin-pokemon .jgvp-home-h1,
body.jg-skin-pokemon .jgvp-section-head h2,
body.jg-skin-pokemon .jgvp-title,
body.jg-skin-pokemon .jgvp-comments h3,
body.jg-skin-pokemon .jgcs-h2,
body.jg-skin-pokemon .jgcs-lb-head h1,
body.jg-skin-pokemon .jgn-single-title { color: var(--sk-text); }
body.jg-skin-pokemon .jg-hero h1 span {
	background: linear-gradient(135deg, var(--nnn-red) 10%, var(--nnn-orange) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-hero h1 span { background-image: linear-gradient(135deg, var(--nnn-yellow) 10%, var(--nnn-orange) 100%); }
body.jg-skin-pokemon .jg-hero p,
body.jg-skin-pokemon .jg-pricing-hero p,
body.jg-skin-pokemon .jg-fslib-head p,
body.jg-skin-pokemon .jg-ooo-contact { color: var(--sk-muted); }
/* section headings: a little pokeball in front (icon only — the text keeps the site font) */
body.jg-skin-pokemon .jg-sec-h2::before,
body.jg-skin-pokemon .jg-l-h2::before,
body.jg-skin-pokemon .jg-pricing-h2::before,
body.jg-skin-pokemon .jgvp-section-head h2::before,
body.jg-skin-pokemon .jgcs-h2::before {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	align-self: center;
	width: .78em;
	height: .78em;
	margin-right: .38em;
	vertical-align: -.04em;
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--nnn-frame);
	background:
		radial-gradient(circle at 50% 50%, var(--sk-ball-white) 0 15%, var(--nnn-frame) 16% 29%, transparent 30%),
		linear-gradient(180deg, var(--nnn-red) 0 43%, var(--nnn-frame) 43% 57%, var(--sk-ball-white) 57%);
}
body.jg-skin-pokemon .jgcs-h2 { gap: 0; }
body.jg-skin-pokemon .jgcs-h2 span { margin-left: 10px; }
/* pixel kickers: short labels only — never body copy, nav, or text with " $ @ + … – — */
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-head,
body.jg-skin-pokemon .jgvp-tier-flag,
body.jg-skin-pokemon .jgn-new,
body.jg-skin-pokemon .jgvp-badge,
body.jg-skin-pokemon .jgvp-desc-label,
body.jg-skin-pokemon .jgvp-fsgate-kicker,
body.jg-skin-pokemon .jgcs-level-lab,
body.jg-skin-pokemon .jg-livepop-dot,
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-live {
	font-family: var(--nnn-font-pixel);
	font-weight: 400;
	font-synthesis: none;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.jg-skin-pokemon .jg-l-sheetdemo-tag,
body.jg-skin-pokemon .jgn-latest-kicker,
body.jg-skin-pokemon .jgn-single-kicker,
body.jg-skin-pokemon .jgvp-fsgate-kicker,
body.jg-skin-pokemon .jg-copycard-title { color: var(--sk-hot) !important; }
body.jg-skin-pokemon .jgvp-desc-label { color: var(--sk-muted); font-size: 12px; }

/* shared link colour */
body.jg-skin-pokemon .jg-copycard a,
body.jg-skin-pokemon .jg-l-feature a,
body.jg-skin-pokemon .jg-l-join a,
body.jg-skin-pokemon .jg-pricing-patreon a,
body.jg-skin-pokemon .jg-card-links a,
body.jg-skin-pokemon .jg-orders a,
body.jg-skin-pokemon .jg-fslib-intro .jg-card-sub a,
body.jg-skin-pokemon .jg-retain a,
body.jg-skin-pokemon .jg-signin-links a,
body.jg-skin-pokemon .jg-welcome ul a,
body.jg-skin-pokemon .jg-welcome .jg-copycard a,
body.jg-skin-pokemon .jg-w-highlight,
body.jg-skin-pokemon .jg-w-highlight a,
body.jg-skin-pokemon .jg-cal-note a,
body.jg-skin-pokemon .jg-cal-tz,
body.jg-skin-pokemon .jgn-more,
body.jg-skin-pokemon .jgn-single-content a,
body.jg-skin-pokemon .jgvp-viewall,
body.jg-skin-pokemon .jgvp-note a,
body.jg-skin-pokemon .jgvp-fsgate-back,
body.jg-skin-pokemon .jgvp-comment-reply a,
body.jg-skin-pokemon .jgvp-desc-more,
body.jg-skin-pokemon .jgcs-optout a { color: var(--sk-link) !important; }
body.jg-skin-pokemon .jg-copycard a:hover,
body.jg-skin-pokemon .jg-l-feature a:hover,
body.jg-skin-pokemon .jg-l-join a:hover,
body.jg-skin-pokemon .jg-card-links a:hover,
body.jg-skin-pokemon .jg-signin-links a:hover,
body.jg-skin-pokemon .jgn-more:hover,
body.jg-skin-pokemon .jgn-single-content a:hover,
body.jg-skin-pokemon .jgvp-viewall:hover,
body.jg-skin-pokemon .jgvp-comment-reply a:hover { color: var(--sk-link-hover) !important; }
/* fallback for bare links (no class: WP/PMPro/plugin copy) instead of the theme's pink
   a { color: #c36 }. Specificity (0,0,2) on purpose: it beats the theme reset and
   never a component's own link rule (e.g. the dark /live stage keeps its accent). */
body:where(.jg-skin-pokemon) a:where(:not([class])) { color: var(--sk-link); }
body:where(.jg-skin-pokemon) a:where(:not([class])):hover { color: var(--sk-link-hover); }
/* …and the copy-card link colour above must not ink the welcome buttons inside those cards */
body.jg-skin-pokemon .jg-welcome .jg-copycard a.jg-w-btn:not(.jg-w-btn-ghost),
body.jg-skin-pokemon .jg-welcome .jg-copycard a.jg-w-btn:not(.jg-w-btn-ghost):hover,
body.jg-skin-pokemon .jg-copycard a.jg-w-btn:not(.jg-w-btn-ghost),
body.jg-skin-pokemon .jg-copycard a.jg-w-btn:not(.jg-w-btn-ghost):hover { color: #fff !important; }
body.jg-skin-pokemon .jg-welcome .jg-copycard a.jg-w-btn-ghost,
body.jg-skin-pokemon .jg-copycard a.jg-w-btn-ghost { color: var(--sk-text) !important; }
body.jg-skin-pokemon .jg-welcome .jg-copycard a.jg-w-btn-ghost:hover,
body.jg-skin-pokemon .jg-copycard a.jg-w-btn-ghost:hover { color: var(--sk-hot) !important; }

/* inputs inside our components */
body.jg-skin-pokemon .jg-signin .login input[type="text"],
body.jg-skin-pokemon .jg-signin .login input[type="password"],
body.jg-skin-pokemon .jg-pwcard input[type="password"],
body.jg-skin-pokemon .jgn-pref input[type="email"],
body.jg-skin-pokemon .jg-fslib-search,
body.jg-skin-pokemon .jg-handylink-row input,
body.jg-skin-pokemon .jg-ident-fields input[type="text"],
body.jg-skin-pokemon .jg-waifu-search,
body.jg-skin-pokemon .jgcs-girls-search,
body.jg-skin-pokemon .jgcs-prof-form textarea,
body.jg-skin-pokemon .jgcs-prof-form input[type="text"],
body.jg-skin-pokemon .jgvp-handy-row input[type="text"],
body.jg-skin-pokemon .jgvp-comment-form textarea {
	background: var(--sk-input);
	color: var(--sk-text);
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
}
body.jg-skin-pokemon .jg-signin .login input[type="text"]:focus,
body.jg-skin-pokemon .jg-signin .login input[type="password"]:focus,
body.jg-skin-pokemon .jg-pwcard input[type="password"]:focus,
body.jg-skin-pokemon .jgn-pref input[type="email"]:focus,
body.jg-skin-pokemon .jg-fslib-search:focus,
body.jg-skin-pokemon .jg-handylink-row input:focus,
body.jg-skin-pokemon .jg-ident-fields input[type="text"]:focus,
body.jg-skin-pokemon .jg-waifu-search:focus,
body.jg-skin-pokemon .jgcs-girls-search:focus,
body.jg-skin-pokemon .jgvp-handy-row input[type="text"]:focus,
body.jg-skin-pokemon .jgvp-comment-form textarea:focus { outline: none; border-color: var(--sk-hover-frame); }

/* ================================================================ Live JOI bar = Gen-3 dialogue box */
body.jg-skin-pokemon .jg-ljc-bar {
	background: var(--sk-card2);
	color: var(--sk-text);
	border: 3px solid var(--sk-frame);
	border-radius: 10px;
	box-shadow: var(--sk-card-shadow);
	padding: 9px 18px;
}
body.jg-skin-pokemon.home .jg-ljc-bar { border-radius: 0; border-left: 0; border-right: 0; }
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-live {
	display: inline-block;
	background: var(--nnn-red);
	color: #fff;
	border: 2px solid var(--nnn-frame);
	border-radius: 4px;
	padding: 3px 9px 2px;
	font-size: 13px;
	line-height: 1.2;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .3);
}
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-in { color: var(--sk-text); font-weight: 700; }
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-timer {
	font-family: var(--nnn-font-pixel);
	font-weight: 400;
	font-synthesis: none;
	font-size: 16px;
	letter-spacing: .04em;
	color: var(--sk-hot);
}
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-date { color: var(--sk-muted); opacity: 1; }
body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-join { padding: 5px 16px; }
/* blinking "more text" cursor of the GBA message box */
body.jg-skin-pokemon .jg-ljc-bar::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 7px solid var(--nnn-red);
	animation: jg-nnn-skin-blink 1s steps(2, jump-none) infinite;
}
@keyframes jg-nnn-skin-blink { 0% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	body.jg-skin-pokemon .jg-ljc-bar::after { animation: none; }
}
body.jg-skin-pokemon .jg-ljc-bar.is-live { background: var(--sk-card2); border-color: var(--nnn-red); }
@media (max-width: 640px) {
	body.jg-skin-pokemon .jg-ljc-bar { padding: 7px 10px; }
	body.jg-skin-pokemon .jg-ljc-bar::after { display: none; }
	body.jg-skin-pokemon .jg-ljc-bar .jg-ljc-timer { font-size: 14px; }
}
/* /livejoi card */
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-head { color: var(--sk-hot); font-size: 14px; }
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-timer-big {
	font-family: var(--nnn-font-pixel);
	font-weight: 400;
	font-synthesis: none;
	font-size: clamp(30px, 6vw, 50px);
	letter-spacing: .03em;
	background: none;
	-webkit-text-fill-color: currentColor;
	color: var(--sk-text);
	text-shadow: 3px 3px 0 var(--sk-hard);
}
body.jg-skin-pokemon .jg-ljc-full.is-live .jg-ljc-timer-big { background: none; -webkit-text-fill-color: currentColor; color: var(--nnn-red); }
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-char { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-char strong,
body.jg-skin-pokemon .jg-ljc-full .jg-ljc-next { color: var(--sk-text); }
/* site-wide LIVE NOW popup (its own inline <style> prints in the footer) */
body.jg-skin-pokemon .jg-livepop-card h3 { color: var(--sk-text); }
body.jg-skin-pokemon .jg-livepop-card p { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-livepop-x { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-livepop-x:hover { color: var(--sk-hot); }
body.jg-skin-pokemon .jg-livepop-dot { color: var(--nnn-red); }

/* ================================================================ video platform */
body.jg-skin-pokemon .jgvp-searchbar input[type="search"],
body.jg-skin-pokemon .jgvp-filter-main input[type="search"],
body.jg-skin-pokemon .jgvp-filter-main select,
body.jg-skin-pokemon .jgvp-tagsearch {
	background: var(--sk-input) !important;
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-ghost-line) !important;
	border-radius: 8px !important;
}
body.jg-skin-pokemon .jgvp-searchbar input[type="search"]:focus,
body.jg-skin-pokemon .jgvp-filter-main input[type="search"]:focus,
body.jg-skin-pokemon .jgvp-tagsearch:focus { border-color: var(--sk-hover-frame) !important; outline: none; }
body.jg-skin-pokemon .jgvp-searchbar button,
body.jg-skin-pokemon .jgvp-filter-main button { border-radius: 8px !important; }
body.jg-skin-pokemon .jgvp-tagfilter summary {
	background: var(--sk-input) !important;
	color: var(--sk-link) !important;
	border: 2px solid var(--sk-ghost-line) !important;
	border-radius: 8px;
}
body.jg-skin-pokemon .jgvp-tagfilter[open] summary { border-color: var(--sk-hover-frame) !important; }
body.jg-skin-pokemon .jgvp-tagfilter-list { background: var(--sk-card2); border: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jgvp-tagfilter-list label { color: var(--sk-text); }
body.jg-skin-pokemon .jgvp-tagfilter-list input { accent-color: var(--nnn-red); }
body.jg-skin-pokemon .jgvp-chip-inc { background: var(--sk-card2); color: var(--sk-link); border: 2px solid var(--sk-line); }
/* tag chips */
body.jg-skin-pokemon .jgvp-tag {
	background: var(--sk-card);
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-line);
	border-radius: 6px;
	padding: 3px 12px;
}
body.jg-skin-pokemon .jgvp-tag:hover { background: var(--nnn-blue); border-color: var(--nnn-blue2); color: #fff !important; }
body.jg-skin-pokemon .jgvp-tag-more { border-style: dashed; border-color: var(--nnn-red); }
/* scroll rows */
body.jg-skin-pokemon .jgvp-row,
body.jg-skin-pokemon .jgvp-hcar { scrollbar-color: var(--nnn-red) var(--sk-card2); }
body.jg-skin-pokemon .jgvp-row::-webkit-scrollbar-track { background: var(--sk-card2); }
body.jg-skin-pokemon .jgvp-row::-webkit-scrollbar-thumb { background: var(--nnn-red); }
body.jg-skin-pokemon .jgvp-hcar::-webkit-scrollbar-track { background: var(--sk-card2); }
body.jg-skin-pokemon .jgvp-hcar::-webkit-scrollbar-thumb { background: var(--nnn-red); }
body.jg-skin-pokemon .jgvp-tagfilter-list::-webkit-scrollbar-thumb { background: var(--nnn-red); }
body.jg-skin-pokemon .jgvp-playlist-items::-webkit-scrollbar-thumb { background: var(--nnn-red); }
/* video cards: framed thumbnail with a hard drop, red (night: yellow) on hover */
body.jg-skin-pokemon .jgvp-card { color: var(--sk-text) !important; border-radius: 8px; }
body.jg-skin-pokemon .jgvp-thumb {
	background: var(--sk-card2);
	border: 2px solid var(--sk-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard);
	transition: border-color .12s, box-shadow .12s;
}
body.jg-skin-pokemon .jgvp-card:hover .jgvp-thumb { border-color: var(--sk-hover-frame); box-shadow: 0 3px 0 var(--sk-hover-shadow); }
body.jg-skin-pokemon .jgvp-card:hover .jgvp-card-title { color: var(--sk-link-hover); }
body.jg-skin-pokemon .jgvp-card-meta,
body.jg-skin-pokemon .jgvp-count,
body.jg-skin-pokemon .jgvp-note { color: var(--sk-muted); }
body.jg-skin-pokemon .jgvp-duration {
	background: rgba(20, 20, 20, .86);
	font-family: var(--nnn-font-pixel);
	font-synthesis: none;
	font-size: 11px;
	letter-spacing: .04em;
	border-radius: 4px;
}
body.jg-skin-pokemon .jgvp-badge {
	background: var(--nnn-red);
	color: #fff;
	border: 1px solid rgba(0, 0, 0, .4);
	border-radius: 4px;
	font-size: 11px;
}
/* pagination */
body.jg-skin-pokemon .jgvp-pagination a,
body.jg-skin-pokemon .jgvp-pagination span {
	background: var(--sk-card);
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
}
body.jg-skin-pokemon .jgvp-pagination a:hover { border-color: var(--sk-hover-frame); }
body.jg-skin-pokemon .jgvp-pagination .is-current { background: var(--sk-select); border-color: var(--nnn-frame); color: #fff !important; }
/* watch page */
body.jg-skin-pokemon .jgvp-player {
	border: 3px solid var(--sk-frame);
	border-radius: 10px;
	box-shadow: 0 5px 0 var(--sk-hard), var(--nnn-shadow);
}
body.jg-skin-pokemon .jgvp-meta-row { color: var(--sk-muted); border-bottom: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jgvp-watch .jgvp-react,
body.jg-skin-pokemon .jgvp-watch .jgvp-react:focus,
body.jg-skin-pokemon .jgvp-watch .jgvp-react:active {
	background: var(--sk-card) !important;
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-ghost-line) !important;
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard) !important;
}
body.jg-skin-pokemon .jgvp-watch .jgvp-react:hover:not(:disabled):not(.is-active) { border-color: var(--sk-hover-frame) !important; }
body.jg-skin-pokemon .jgvp-watch .jgvp-react.is-active,
body.jg-skin-pokemon .jgvp-watch .jgvp-react.is-active:focus,
body.jg-skin-pokemon .jgvp-watch .jgvp-react.is-active:active,
body.jg-skin-pokemon .jgvp-watch .jgvp-react.is-active:hover {
	background: var(--sk-select) !important;
	border-color: var(--nnn-frame) !important;
	color: #fff !important;
	box-shadow: 0 3px 0 var(--nnn-blue2) !important;
}
body.jg-skin-pokemon .jgvp-cta-list { text-shadow: none; }
body.jg-skin-pokemon .jgvp-cta-list a { color: var(--sk-text) !important; }
body.jg-skin-pokemon .jgvp-cta-list a:hover { background: var(--sk-card2); color: var(--sk-hot) !important; }
body.jg-skin-pokemon .jgvp-playlist h3 { background: var(--sk-card2); color: var(--sk-text); border-bottom: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jgvp-playlist-item { color: var(--sk-text) !important; border-bottom-color: var(--sk-line); }
body.jg-skin-pokemon .jgvp-playlist-item:hover,
body.jg-skin-pokemon .jgvp-playlist-item.is-current { background: var(--sk-card2); }
body.jg-skin-pokemon .jgvp-playlist-num { color: var(--sk-hot); }
body.jg-skin-pokemon .jgvp-playlist-dur,
body.jg-skin-pokemon .jgvp-comment-date { color: var(--sk-muted); }
body.jg-skin-pokemon .jgvp-description,
body.jg-skin-pokemon .jgvp-desc-body,
body.jg-skin-pokemon .jgvp-comment-author,
body.jg-skin-pokemon .jgvp-comment-body { color: var(--sk-text); }
body.jg-skin-pokemon .jgvp-handy > summary { color: var(--sk-text); }
body.jg-skin-pokemon .jgvp-handy[open] > summary { background: var(--sk-card2); border-bottom: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jgvp-handy-hint,
body.jg-skin-pokemon .jgvp-handy-status,
body.jg-skin-pokemon .jgvp-handy-or { color: var(--sk-muted); }
body.jg-skin-pokemon .jgvp-handy-filelabel { border: 2px dashed var(--sk-ghost-line); color: var(--sk-muted); }
body.jg-skin-pokemon .jgvp-handy-filelabel:hover,
body.jg-skin-pokemon .jgvp-handy-filelabel.is-drag { border-color: var(--sk-hover-frame); background: var(--sk-card2); }
body.jg-skin-pokemon .jgvp-handy-variant { background: var(--sk-card); color: var(--sk-text); border: 2px solid var(--sk-line); border-radius: 6px; }
body.jg-skin-pokemon .jgvp-handy-variant.is-active { background: var(--sk-select); border-color: var(--nnn-frame); color: #fff; }
body.jg-skin-pokemon .jgvp-fsgate-sub { color: var(--sk-muted); }
body.jg-skin-pokemon .jgvp-fsgate-lock { background: var(--sk-card2); border: 2px solid var(--sk-line); border-radius: 8px; }
body.jg-skin-pokemon .jgvp-secret a { color: var(--sk-muted); }
/* membership tiers (pricing + homepage) */
body.jg-skin-pokemon .jgvp-tier.is-popular {
	border-color: var(--nnn-red);
	box-shadow: inset 0 0 0 2px var(--sk-frame2), inset 0 0 0 4px var(--sk-inner), 0 0 0 3px var(--nnn-yellow), 0 12px 28px rgba(232, 64, 42, .28);
}
body.jg-skin-pokemon .jgvp-tier-flag {
	background: var(--nnn-red);
	color: #fff;
	border: 2px solid var(--nnn-frame);
	border-radius: 4px;
	box-shadow: 0 2px 0 var(--nnn-red2);
	font-size: 12px;
	padding: 4px 12px 3px;
}
body.jg-skin-pokemon .jgvp-tier-name { color: var(--sk-text); }
body.jg-skin-pokemon .jgvp-tier-price { background: none; -webkit-text-fill-color: currentColor; color: var(--sk-hot); }
body.jg-skin-pokemon .jgvp-tier-price span { -webkit-text-fill-color: currentColor; color: var(--sk-muted); }
body.jg-skin-pokemon .jgvp-tier-feats { color: var(--sk-text); }
body.jg-skin-pokemon .jgvp-tier-feats li::before { color: var(--sk-yes); }
body.jg-skin-pokemon .jgvp-tier-feats li.jgvp-tier-plus { color: var(--sk-muted); }

/* ================================================================ pricing / account / sign-in / funscript library */
body.jg-skin-pokemon .jg-pricing,
body.jg-skin-pokemon .jg-acct,
body.jg-skin-pokemon .jg-fslib,
body.jg-skin-pokemon .jg-signin,
body.jg-skin-pokemon .jg-landing { color: var(--sk-text); }
body.jg-skin-pokemon .jg-pricing-patreon p,
body.jg-skin-pokemon .jg-faq p,
body.jg-skin-pokemon .jg-card-sub,
body.jg-skin-pokemon .jg-fslib-file,
body.jg-skin-pokemon .jg-fslib-none,
body.jg-skin-pokemon .jg-signin-note,
body.jg-skin-pokemon .jg-cal-lock-note { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-matrix th,
body.jg-skin-pokemon .jg-matrix td { border-bottom: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jg-matrix thead th { background: var(--nnn-blue); color: #fff; border-bottom-color: var(--nnn-blue2); }
body.jg-skin-pokemon .jg-matrix thead th span { color: var(--nnn-yellow); }
body.jg-skin-pokemon .jg-matrix td:first-child { color: var(--sk-text); }
body.jg-skin-pokemon .jg-matrix td.is-yes { color: var(--sk-yes); }
body.jg-skin-pokemon .jg-matrix td.is-no { color: var(--sk-no); }
body.jg-skin-pokemon .jg-matrix-cta a { padding: 6px 14px; }
body.jg-skin-pokemon .jg-faq summary { color: var(--sk-text); }
body.jg-skin-pokemon .jg-faq summary::after { color: var(--sk-hot); }
body.jg-skin-pokemon .jg-acct-hello { color: var(--sk-text); }
body.jg-skin-pokemon .jg-card h3 { color: var(--sk-text); }
body.jg-skin-pokemon .jg-card-big { background: none; -webkit-text-fill-color: currentColor; color: var(--sk-hot); }
body.jg-skin-pokemon .jg-orders th { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-orders th,
body.jg-skin-pokemon .jg-orders td { border-bottom: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jg-ident-ava { background: var(--sk-card2); box-shadow: 0 0 0 2px var(--sk-frame); }
/* account sidebar = Gen-3 start menu */
body.jg-skin-pokemon .jg-acct-nav a { color: var(--sk-text) !important; border-radius: 6px; }
body.jg-skin-pokemon .jg-acct-nav a:hover { background: var(--sk-card2); color: var(--sk-hot) !important; }
body.jg-skin-pokemon .jg-acct-nav a.is-active { background: var(--sk-select); color: #fff !important; box-shadow: inset 0 -3px 0 var(--nnn-blue2); }
body.jg-skin-pokemon .jg-acct-nav a.jg-dragging { background: var(--sk-card2); box-shadow: 0 6px 16px rgba(0, 0, 0, .2); }
/* sign-in tabs */
body.jg-skin-pokemon .jg-signin-tabs { background: var(--sk-card2); border: 2px solid var(--sk-frame); border-radius: 10px; }
body.jg-skin-pokemon .jg-signin-tab { color: var(--sk-muted); border-radius: 6px; }
body.jg-skin-pokemon .jg-signin-tab.is-active { background: var(--sk-select); color: #fff; box-shadow: 0 2px 0 var(--nnn-blue2); }
body.jg-skin-pokemon .jg-signin .login label,
body.jg-skin-pokemon .jg-pwcard label { color: var(--sk-text); }
/* wp_login_form() markup (#loginform > p.login-*) */
body.jg-skin-pokemon .jg-signin #loginform p { margin: 0 0 12px; }
body.jg-skin-pokemon .jg-signin #loginform label { display: block; font-size: 13px; font-weight: 700; color: var(--sk-text); }
body.jg-skin-pokemon .jg-signin #loginform .login-remember label { display: inline-flex; align-items: center; gap: 7px; font-weight: 400; }
body.jg-skin-pokemon .jg-signin #loginform input[type="text"],
body.jg-skin-pokemon .jg-signin #loginform input[type="password"] {
	width: 100%;
	margin-top: 4px;
	padding: 9px 12px;
	font-size: 14px;
	background: var(--sk-input);
	color: var(--sk-text);
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
}
body.jg-skin-pokemon .jg-signin #loginform input[type="text"]:focus,
body.jg-skin-pokemon .jg-signin #loginform input[type="password"]:focus { outline: none; border-color: var(--sk-hover-frame); }
body.jg-skin-pokemon .jg-signin #loginform input[type="checkbox"] { accent-color: var(--nnn-red); }
body.jg-skin-pokemon .jg-signin #loginform input[type="submit"] { padding: 9px 26px; font-size: 14px; cursor: pointer; }
body.jg-skin-pokemon .jg-fslib-title { color: var(--sk-text) !important; }
body.jg-skin-pokemon .jg-fslib-title:hover { color: var(--sk-link-hover) !important; }
body.jg-skin-pokemon .jg-fslib-thumb img { border-radius: 6px; box-shadow: 0 0 0 2px var(--sk-frame); }
/* Paid Memberships Pro (checkout + account pages; the hosted Stripe step is off-site).
   Primary buttons = A button: PMPro inks them with --pmpro--color--base, which is the
   navy card colour at night, so the text is pinned white. */
body.jg-skin-pokemon .pmpro_btn:not(.pmpro_btn-outline, .pmpro_btn-cancel, .pmpro_btn-plain, .pmpro_btn-print, .pmpro_btn-delete) {
	background: var(--nnn-red);
	color: #fff;
	border: 2px solid var(--nnn-frame);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--nnn-red2);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
	font-weight: 800;
	transition: transform .08s, box-shadow .08s, filter .12s;
}
body.jg-skin-pokemon .pmpro_btn:not(.pmpro_btn-outline, .pmpro_btn-cancel, .pmpro_btn-plain, .pmpro_btn-print, .pmpro_btn-delete):hover,
body.jg-skin-pokemon .pmpro_btn:not(.pmpro_btn-outline, .pmpro_btn-cancel, .pmpro_btn-plain, .pmpro_btn-print, .pmpro_btn-delete):focus {
	background: var(--nnn-red);
	color: #fff;
	border-color: var(--nnn-frame);
	filter: brightness(1.07);
	transform: translateY(1px);
	box-shadow: 0 2px 0 var(--nnn-red2);
}
body.jg-skin-pokemon .pmpro_btn-cancel,
body.jg-skin-pokemon .pmpro_btn-outline {
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard);
}
body.jg-skin-pokemon .pmpro_btn-cancel:hover,
body.jg-skin-pokemon .pmpro_btn-outline:hover { border-color: var(--sk-hover-frame); }
body.jg-skin-pokemon .pmpro_card_title,
body.jg-skin-pokemon .pmpro_section_title,
body.jg-skin-pokemon .pmpro_form_legend { color: var(--sk-text); }
body.jg-skin-pokemon .pmpro_card_actions { background: var(--sk-card2); border-color: var(--sk-line); }
body.jg-skin-pokemon .pmpro_form_input:not(.pmpro_form_input-checkbox, .pmpro_form_input-radio) {
	background: var(--sk-input);
	color: var(--sk-text);
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
}
body.jg-skin-pokemon .pmpro_form_input:not(.pmpro_form_input-checkbox, .pmpro_form_input-radio):focus {
	background: var(--sk-input);
	border-color: var(--sk-hover-frame);
	box-shadow: none;
}
body.jg-skin-pokemon .pmpro_form input[type="checkbox"],
body.jg-skin-pokemon .pmpro_form input[type="radio"] { accent-color: var(--nnn-red); }
body.jg-skin-pokemon .pmpro_asterisk,
body.jg-skin-pokemon .pmpro_asterisk abbr { color: var(--sk-hot); }
body.jg-skin-pokemon .pmpro_form_field-password-toggle button { color: var(--sk-hot); }

/* ================================================================ landing pages */
body.jg-skin-pokemon .jg-l-banner {
	background: linear-gradient(180deg, var(--nnn-blue) 0%, var(--nnn-blue2) 100%);
	color: #fff;
	border: 3px solid var(--nnn-frame);
	border-radius: 10px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .35), var(--nnn-shadow);
}
body.jg-skin-pokemon .jg-l-banner h3,
body.jg-skin-pokemon .jg-l-banner strong { color: var(--nnn-yellow); }
body.jg-skin-pokemon .jg-l-step h3,
body.jg-skin-pokemon .jg-l-feature h3 { color: var(--sk-text); }
body.jg-skin-pokemon .jg-l-step p,
body.jg-skin-pokemon .jg-l-feature p,
body.jg-skin-pokemon .jg-l-note,
body.jg-skin-pokemon .jg-l-sheetdemo-note,
body.jg-skin-pokemon .jg-ooo-note { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-l-note-big,
body.jg-skin-pokemon .jg-ooo-slots { color: var(--sk-text); }
body.jg-skin-pokemon .jg-ooo-count { background: none; -webkit-text-fill-color: currentColor; color: var(--sk-hot); }
body.jg-skin-pokemon .jg-ooo-slots.is-full .jg-ooo-count { -webkit-text-fill-color: currentColor; color: var(--nnn-red); }
/* waifu grid */
body.jg-skin-pokemon .jg-waifu > img,
body.jg-skin-pokemon .jg-waifu-imgwrap { border: 2px solid var(--sk-frame); border-radius: 8px; box-shadow: 0 3px 0 var(--sk-hard); }
body.jg-skin-pokemon .jg-waifu:hover > img,
body.jg-skin-pokemon .jg-waifu:hover .jg-waifu-imgwrap { border-color: var(--sk-hover-frame); box-shadow: 0 3px 0 var(--sk-hover-shadow); }
body.jg-skin-pokemon .jg-waifu figcaption { color: var(--sk-text); }
body.jg-skin-pokemon .jg-waifu:hover figcaption { color: var(--sk-link-hover); }
body.jg-skin-pokemon .jg-waifu figcaption small { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-waifu-noimg { background: var(--sk-card2); }
body.jg-skin-pokemon .jg-waifu-chip,
body.jg-skin-pokemon .jgcs-girls-chip {
	background: var(--sk-card);
	color: var(--sk-text);
	border: 2px solid var(--sk-line);
	border-radius: 6px;
}
body.jg-skin-pokemon .jg-waifu-chip:hover,
body.jg-skin-pokemon .jgcs-girls-chip:hover { border-color: var(--sk-hover-frame); }
body.jg-skin-pokemon .jg-waifu-chip.is-active,
body.jg-skin-pokemon .jgcs-girls-chip.is-active { background: var(--sk-select); color: #fff; border-color: var(--nnn-frame); }
/* carousel */
body.jg-skin-pokemon .jg-car-slide img { border: 3px solid var(--sk-frame); border-radius: 10px; }
body.jg-skin-pokemon .jg-car-slide figcaption { color: var(--sk-text); }

/* ================================================================ news */
body.jg-skin-pokemon .jgn-pref { color: var(--sk-muted); }
body.jg-skin-pokemon .jgn-pref strong,
body.jg-skin-pokemon .jgn-single-side h3,
body.jg-skin-pokemon .jgn-lock-title { color: var(--sk-text); }
body.jg-skin-pokemon .jgn-pref-status { color: var(--sk-hot); }
body.jg-skin-pokemon .jgn-title a { color: var(--sk-text) !important; }
body.jg-skin-pokemon .jgn-title a:hover { color: var(--sk-link-hover) !important; }
body.jg-skin-pokemon .jgn-meta,
body.jg-skin-pokemon .jgn-empty,
body.jg-skin-pokemon .jgn-latest-excerpt,
body.jg-skin-pokemon .jgn-side-date { color: var(--sk-muted); }
body.jg-skin-pokemon .jgn-excerpt,
body.jg-skin-pokemon .jgn-single-content { color: var(--sk-text); }
body.jg-skin-pokemon .jgn-thumb img,
body.jg-skin-pokemon .jgn-latest img { border-radius: 6px; box-shadow: 0 0 0 2px var(--sk-frame); }
body.jg-skin-pokemon .jgn-new {
	background: var(--nnn-red);
	color: #fff;
	border: 1px solid rgba(0, 0, 0, .4);
	border-radius: 4px;
	font-size: 11px;
	padding: 2px 7px 1px;
}
body.jg-skin-pokemon .jgn-pages a,
body.jg-skin-pokemon .jgn-pages span { background: var(--sk-card); color: var(--sk-text) !important; border: 2px solid var(--sk-ghost-line); }
body.jg-skin-pokemon .jgn-pages .is-current { background: var(--sk-select); color: #fff !important; border-color: var(--nnn-frame); }
body.jg-skin-pokemon .jgn-latest-more { color: var(--sk-link); }
body.jg-skin-pokemon .jgn-latest-dot { background: var(--sk-line); }
body.jg-skin-pokemon .jgn-latest-dot.is-active { background: var(--nnn-red); }
body.jg-skin-pokemon .jgn-thumb-fallback,
body.jg-skin-pokemon .jgn-latest .jgn-thumb-fallback { background: var(--nnn-frame); }
body.jg-skin-pokemon .jgn-side-item { color: var(--sk-text) !important; }
body.jg-skin-pokemon .jgn-side-item:hover,
body.jg-skin-pokemon .jgn-side-item.is-current { background: var(--sk-card2); outline-color: var(--sk-line); }
body.jg-skin-pokemon .jgn-lock { background: var(--sk-card2); border: 2px solid var(--sk-line); border-radius: 10px; }
body.jg-skin-pokemon .jgn-lock-badge { background: var(--nnn-frame); color: var(--nnn-yellow); border-radius: 4px; }

/* ================================================================ calendar */
body.jg-skin-pokemon .jg-cal-lead { color: var(--sk-text); }
body.jg-skin-pokemon .jg-cal-note { color: var(--sk-muted); }
body.jg-skin-pokemon .jg-cal-done p:first-child,
body.jg-skin-pokemon .jg-cal-day h4,
body.jg-skin-pokemon .jg-cal-confirm-txt { color: var(--sk-text); }
body.jg-skin-pokemon .jg-cal-slot {
	background: var(--sk-card2);
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-line);
	border-radius: 8px;
}
body.jg-skin-pokemon .jg-cal-slot:hover { background: var(--nnn-red); border-color: var(--nnn-frame); color: #fff !important; }
body.jg-skin-pokemon .jg-cal-slot.is-selected { background: var(--sk-select); border-color: var(--nnn-frame); color: #fff !important; }

/* ================================================================ welcome pages */
body.jg-skin-pokemon .jg-w-upsell h3 { color: var(--sk-hot); }

/* ================================================================ character sheet + leaderboard (.jgcs) */
body.jg-skin-pokemon .jgcs {
	--ink: var(--nnn-text);          /* text role (flips at night); dark fills are set below */
	--ink2: var(--nnn-blue);
	--pink: var(--nnn-red);
	--pink2: var(--nnn-yellow);
	--purple: var(--nnn-blue);
	--gold: var(--nnn-gold);
	color: var(--sk-text);
}
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgcs { --purple: var(--type-water); color: var(--sk-text); }
/* hero = trainer card (tier heroes keep their metal gradients) */
body.jg-skin-pokemon .jgcs-hero:not(.jgcs-tier-veteran):not(.jgcs-tier-legend):not(.jgcs-tier-gold):not(.jgcs-tier-immortal) {
	background: linear-gradient(135deg, var(--nnn-blue2) 0%, var(--nnn-blue) 62%, var(--type-water) 135%);
}
body.jg-skin-pokemon .jgcs-hero {
	border: 3px solid var(--nnn-frame);
	border-radius: 12px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .28), var(--nnn-shadow);
}
body.jg-skin-pokemon .jgcs-hero::after { background: radial-gradient(circle, rgba(255, 210, 74, .30), transparent 70%); }
body.jg-skin-pokemon .jgcs-level::before { background: var(--nnn-blue2); }
body.jg-skin-pokemon .jgcs-level-lab { font-size: 10px; letter-spacing: .1em; }
body.jg-skin-pokemon .jgcs-xpbar { border-radius: 6px; border: 2px solid rgba(0, 0, 0, .45); }
body.jg-skin-pokemon .jgcs-xpfill {
	background: var(--nnn-exp);
	border-radius: 4px;
	box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .18), inset 0 3px 0 rgba(255, 255, 255, .35);
}
body.jg-skin-pokemon .jgcs-lock {
	background: linear-gradient(135deg, var(--nnn-blue2), var(--nnn-blue));
	border: 3px solid var(--nnn-frame);
	border-radius: 12px;
}
body.jg-skin-pokemon .jgcs-statcard-lab,
body.jg-skin-pokemon .jgcs-ach-body small,
body.jg-skin-pokemon .jgcs-girl-stat,
body.jg-skin-pokemon .jgcs-girl-act,
body.jg-skin-pokemon .jgcs-girl-unmet,
body.jg-skin-pokemon .jgcs-chal-prog b,
body.jg-skin-pokemon .jgcs-toggle,
body.jg-skin-pokemon .jgcs-empty p,
body.jg-skin-pokemon .jgcs-lb-head p,
body.jg-skin-pokemon .jgcs-prof-sub,
body.jg-skin-pokemon .jgcs-prof-status,
body.jg-skin-pokemon .jgcs-prof-form small { color: var(--sk-muted); }
body.jg-skin-pokemon .jgcs-girl-act { border-bottom-color: var(--sk-line); }
body.jg-skin-pokemon .jgcs-girl-act.is-sum,
body.jg-skin-pokemon .jgcs-girl-name,
body.jg-skin-pokemon .jgcs-breakdown > summary,
body.jg-skin-pokemon .jgcs-ach-body strong,
body.jg-skin-pokemon .jgcs-lb-name,
body.jg-skin-pokemon .jgcs-lb-row,
body.jg-skin-pokemon .jgcs-prof-title,
body.jg-skin-pokemon .jgcs-prof-v,
body.jg-skin-pokemon .jgcs-prof-form label,
body.jg-skin-pokemon .jgcs-optout,
body.jg-skin-pokemon .jgcs-optout label { color: var(--sk-text); }
body.jg-skin-pokemon .jgcs-fresh { color: var(--sk-text); background: var(--sk-card); }
body.jg-skin-pokemon .jgcs-fresh strong { color: var(--sk-hot); }
body.jg-skin-pokemon .jgcs-breakrow { border-bottom-color: var(--sk-line); }
body.jg-skin-pokemon .jgcs-breakrow span { color: var(--sk-text); }
body.jg-skin-pokemon .jgcs-ach-ico,
body.jg-skin-pokemon .jgcs-girl-portrait,
body.jg-skin-pokemon .jgcs-prof-ava { background: var(--sk-card2); }
body.jg-skin-pokemon .jgcs-ach-ico,
body.jg-skin-pokemon .jgcs-girl-portrait { border-bottom: 2px solid var(--sk-frame); }
body.jg-skin-pokemon .jgcs-chal-bar { background: var(--sk-line); border-radius: 3px; }
body.jg-skin-pokemon .jgcs-chal-bar i { background: var(--nnn-exp); border-radius: 3px; }
body.jg-skin-pokemon .jgcs-chal.is-done .jgcs-chal-bar i { background: var(--nnn-gold); }
/* challenge tiles: type-coloured instead of purple */
body.jg-skin-pokemon .jgcs-chal-g0 { background: linear-gradient(135deg, var(--nnn-red2), var(--nnn-red)); }
body.jg-skin-pokemon .jgcs-chal-g1 { background: linear-gradient(135deg, var(--nnn-blue2), var(--nnn-blue)); }
body.jg-skin-pokemon .jgcs-chal-g2 { background: linear-gradient(135deg, var(--nnn-orange), var(--nnn-yellow)); }
body.jg-skin-pokemon .jgcs-chal-g3 { background: linear-gradient(135deg, var(--type-poison), var(--type-psychic)); }
body.jg-skin-pokemon .jgcs-chal-g4 { background: linear-gradient(135deg, var(--type-dragon), var(--type-ghost)); }
body.jg-skin-pokemon .jgcs-chal-g5 { background: linear-gradient(135deg, var(--type-grass), var(--type-water)); }
/* leaderboard */
body.jg-skin-pokemon .jgcs-lb-card h3 { color: var(--sk-text); border-bottom: 2px solid var(--sk-line); }
body.jg-skin-pokemon .jgcs-lb-row:nth-child(odd) { background: var(--sk-card2); }
body.jg-skin-pokemon .jgcs-lb-row.is-me { background: var(--sk-tint); outline: 2px solid var(--nnn-red); }
body.jg-skin-pokemon .jgcs-lb-gap { color: var(--sk-muted); }
body.jg-skin-pokemon .jgcs-lb-ava.is-empty { background: var(--sk-line); }
body.jg-skin-pokemon .jgcs-lb-tab {
	background: var(--sk-card);
	color: var(--sk-text) !important;
	border: 2px solid var(--sk-ghost-line);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard);
}
body.jg-skin-pokemon .jgcs-lb-tab:hover { border-color: var(--sk-hover-frame); }
body.jg-skin-pokemon .jgcs-lb-tab.is-active { background: var(--sk-select); border-color: var(--nnn-frame); color: #fff !important; box-shadow: 0 3px 0 var(--nnn-blue2); }
body.jg-skin-pokemon .jgcs-lb-note { border: 2px dashed var(--sk-link); border-radius: 10px; color: var(--sk-text); }
body.jg-skin-pokemon .jgcs-lb-note a { color: var(--sk-link) !important; font-weight: 800; }
/* profile + votes */
body.jg-skin-pokemon .jgcs-prof-chip { background: var(--sk-card2); }
body.jg-skin-pokemon .jgcs-girl-vote,
body.jg-skin-pokemon .jgcs-girl-req { border-top-color: var(--sk-line); }
body.jg-skin-pokemon .jgcs-vote-btn { background: var(--sk-card2); border: 2px solid var(--sk-line); border-radius: 6px; }
body.jg-skin-pokemon .jgcs-ooobadge { background: linear-gradient(90deg, rgba(46, 91, 184, .16), transparent); border: 2px solid var(--nnn-blue); }
/* admin-view strip (charsheet.css paints it dark purple with yellow text + pink links) */
body.jg-skin-pokemon .jgcs-adminbar {
	background: var(--sk-card2);
	color: var(--sk-text);
	border: 2px solid var(--sk-ghost-line);
	border-left: 6px solid var(--nnn-yellow);
	border-radius: 8px;
	box-shadow: 0 3px 0 var(--sk-hard);
}
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgcs-adminbar { background: var(--nnn-bg2); }
body.jg-skin-pokemon .jgcs-adminbar strong { color: var(--sk-text); }
body.jg-skin-pokemon .jgcs-adminbar a { color: var(--sk-link) !important; text-decoration: underline; text-underline-offset: 2px; }
body.jg-skin-pokemon .jgcs-adminbar a:hover { color: var(--sk-link-hover) !important; }

/* ================================================================ /live stage (dark in both themes; .jgl vars only) */
/* fixed night values on purpose: the stage never follows the site theme */
body.jg-skin-pokemon.jg-skin-live .jgl,
body.jg-skin-pokemon.jg-skin-live .jgl-reactpick,
body.jg-skin-pokemon.jg-skin-live .jgl-modmenu,
body.jg-skin-pokemon.jg-skin-live .jgl-namecard,
body.jg-skin-pokemon.jg-skin-live .jgl-toast {
	--jgl-bg: #0E1626;
	--jgl-panel: #142038;
	--jgl-panel2: #182238;
	--jgl-line: #2C3A58;
	--jgl-text: #E8EEF8;
	--jgl-muted: #A9B4C8;
	--jgl-accent: var(--nnn-yellow);
	--jgl-accent2: var(--nnn-blue);
}
/* live.css paints these with literal pink/purple instead of the vars. Tints = the
   accent (--nnn-yellow) at low alpha; declared on body so the body-appended popups
   (reaction picker) inherit them too. */
body.jg-skin-pokemon.jg-skin-live {
	--sk-live-tint-soft: rgba(255, 210, 74, .09);
	--sk-live-tint: rgba(255, 210, 74, .16);
	--sk-live-tint-strong: rgba(255, 210, 74, .30);
	--sk-live-glow: rgba(255, 210, 74, .35);
	--sk-live-blue-tint: rgba(46, 91, 184, .16);
	--sk-live-scrim: rgba(10, 17, 30, .78);
}
body.jg-skin-pokemon.jg-skin-live .jgl-btn:not(.jgl-btn-ghost) {
	background: linear-gradient(135deg, var(--nnn-yellow), var(--nnn-orange));
	color: var(--nnn-frame);
}
body.jg-skin-pokemon.jg-skin-live .jgl-vote-cnt.is-top { box-shadow: 0 0 10px var(--sk-live-glow); }
body.jg-skin-pokemon.jg-skin-live .jgl-react-chip.is-mine { background: var(--sk-live-tint); }
body.jg-skin-pokemon.jg-skin-live .jgl-mention-item.is-active,
body.jg-skin-pokemon.jg-skin-live .jgl-mention-item:hover { background: var(--sk-live-tint); }
body.jg-skin-pokemon.jg-skin-live .jgl-feral-bar { background: var(--sk-live-scrim); }
body.jg-skin-pokemon.jg-skin-live .jgl-feral-fill { background: linear-gradient(90deg, var(--nnn-red), var(--nnn-yellow)); }
body.jg-skin-pokemon.jg-skin-live .jgl-reactpick button:hover,
body.jg-skin-pokemon.jg-skin-live .jgl-reactpick button:focus-visible { background: var(--sk-live-tint-strong); }
/* join/leave noise stays bare; NNN lines keep nnn-live.css's red tint */
body.jg-skin-pokemon.jg-skin-live .jgl-line-sys:not(.jgl-line-quiet, .jgl-line-nnn) { background: var(--sk-live-tint-soft); color: var(--jgl-text); }
body.jg-skin-pokemon.jg-skin-live .jgl-line-quiet { color: var(--jgl-muted); }
body.jg-skin-pokemon.jg-skin-live .jgl-mention { background: var(--sk-live-tint); }
body.jg-skin-pokemon.jg-skin-live .jgl-msg.is-mentioned { background: var(--sk-live-tint-soft); }
body.jg-skin-pokemon.jg-skin-live .jgl-msg.is-mentioned .jgl-mention.is-me { background: var(--sk-live-tint-strong); }
body.jg-skin-pokemon.jg-skin-live .jgl-lvl { background: var(--sk-live-tint); }
/* attack results (.jgl-nnn-voteres) keep nnn-live.css's red */
body.jg-skin-pokemon.jg-skin-live .jgl-line-voteres:not(.jgl-nnn-voteres) .jgl-voteres-row.is-win { background: var(--sk-live-tint); }
body.jg-skin-pokemon.jg-skin-live .jgl-ooo-promo { background: linear-gradient(135deg, var(--sk-live-tint-soft), var(--sk-live-blue-tint)); }
body.jg-skin-pokemon.jg-skin-live .jgl-wheel-res { background: linear-gradient(90deg, var(--nnn-red), var(--nnn-red2)); }
body.jg-skin-pokemon.jg-skin-live .jgl-unmute,
body.jg-skin-pokemon.jg-skin-live .jgl-ss-sound { background: var(--sk-live-scrim); box-shadow: 0 4px 18px var(--sk-live-glow); }
body.jg-skin-pokemon.jg-skin-live .jgl-unmute:hover,
body.jg-skin-pokemon.jg-skin-live .jgl-ss-sound:hover { background: var(--jgl-accent); color: var(--nnn-frame); }
/* BRB cover + pre-stream start screen: navy like the event's offline cover */
body.jg-skin-pokemon.jg-skin-live .jgl-brbcover { background: radial-gradient(ellipse at center, var(--jgl-panel) 0%, var(--jgl-bg) 75%); }
body.jg-skin-pokemon.jg-skin-live .jgl-startscreen { background: radial-gradient(circle at 50% 32%, var(--jgl-panel) 0%, var(--jgl-bg) 68%, #000 100%); }
body.jg-skin-pokemon.jg-skin-live .jgl-ss-title {
	background: linear-gradient(135deg, var(--nnn-yellow), var(--nnn-orange));
	-webkit-background-clip: text;
	background-clip: text;
	text-shadow: 0 0 24px var(--sk-live-glow);
}
body.jg-skin-pokemon.jg-skin-live .jgl-ss-block { color: var(--jgl-text); }
body.jg-skin-pokemon.jg-skin-live .jgl-ss-futa { color: var(--jgl-muted); }
body.jg-skin-pokemon.jg-skin-live .jgl-ss-foot a { color: var(--jgl-accent); }
body.jg-skin-pokemon.jg-skin-live .jgl-ss-panel { background: var(--sk-live-blue-tint); border-color: var(--jgl-line); }
body.jg-skin-pokemon.jg-skin-live .jgl-ss-panel h3 { color: var(--jgl-accent); }
/* sign-up gate + stream rules modals */
body.jg-skin-pokemon.jg-skin-live .jgl-gatemodal,
body.jg-skin-pokemon.jg-skin-live .jgl-rules-modal { background: var(--sk-live-scrim); }
body.jg-skin-pokemon.jg-skin-live .jgl-gatemodal-card,
body.jg-skin-pokemon.jg-skin-live .jgl-rules-card { border-color: var(--jgl-line); color: var(--jgl-text); }
body.jg-skin-pokemon.jg-skin-live .jgl-gatemodal-card p,
body.jg-skin-pokemon.jg-skin-live .jgl-rules-body { color: var(--jgl-muted); }
body.jg-skin-pokemon.jg-skin-live .jgl-gatemodal-card strong { color: var(--jgl-accent); }
/* popups, toasts and docks painted with the old purple panel literal */
body.jg-skin-pokemon.jg-skin-live .jgl-reactpick,
body.jg-skin-pokemon.jg-skin-live .jgl-reactpick .jgl-emoji-search,
body.jg-skin-pokemon.jg-skin-live .jgl-arousal-tip,
body.jg-skin-pokemon.jg-skin-live .jgl-toast,
body.jg-skin-pokemon.jg-skin-live .jgl-modmenu,
body.jg-skin-pokemon.jg-skin-live .jgl-namecard { background: var(--jgl-panel2); }
body.jg-skin-pokemon.jg-skin-live .jgl-reactpick .jgl-emoji-search { color: var(--jgl-text); }
body.jg-skin-pokemon.jg-skin-live .jgl-hostdock,
body.jg-skin-pokemon.jg-skin-live .jgl-zen-exit { background: var(--sk-live-scrim); }

/* ================================================================ Pokemon type chips (.jg-nnn-type .jg-nnn-type-<type>) */
body.jg-skin-pokemon .jg-nnn-type {
	display: inline-block;
	padding: 3px 8px 2px;
	border: 1px solid rgba(0, 0, 0, .38);
	border-radius: var(--nnn-radius-pill);
	font-family: var(--nnn-font-pixel);
	font-synthesis: none;
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .45);
	background: var(--type-normal);
	white-space: nowrap;
}
body.jg-skin-pokemon .jg-nnn-type-normal { background: var(--type-normal); }
body.jg-skin-pokemon .jg-nnn-type-fire { background: var(--type-fire); }
body.jg-skin-pokemon .jg-nnn-type-water { background: var(--type-water); }
body.jg-skin-pokemon .jg-nnn-type-electric { background: var(--type-electric); }
body.jg-skin-pokemon .jg-nnn-type-grass { background: var(--type-grass); }
body.jg-skin-pokemon .jg-nnn-type-ice { background: var(--type-ice); }
body.jg-skin-pokemon .jg-nnn-type-fighting { background: var(--type-fighting); }
body.jg-skin-pokemon .jg-nnn-type-poison { background: var(--type-poison); }
body.jg-skin-pokemon .jg-nnn-type-ground { background: var(--type-ground); }
body.jg-skin-pokemon .jg-nnn-type-flying { background: var(--type-flying); }
body.jg-skin-pokemon .jg-nnn-type-psychic { background: var(--type-psychic); }
body.jg-skin-pokemon .jg-nnn-type-bug { background: var(--type-bug); }
body.jg-skin-pokemon .jg-nnn-type-rock { background: var(--type-rock); }
body.jg-skin-pokemon .jg-nnn-type-ghost { background: var(--type-ghost); }
body.jg-skin-pokemon .jg-nnn-type-dragon { background: var(--type-dragon); }
body.jg-skin-pokemon .jg-nnn-type-dark { background: var(--type-dark); }
body.jg-skin-pokemon .jg-nnn-type-steel { background: var(--type-steel); }
body.jg-skin-pokemon .jg-nnn-type-fairy { background: var(--type-fairy); }
/* light type colours read better with dark ink (same in both themes: the chip fill never flips) */
body.jg-skin-pokemon .jg-nnn-type-normal,
body.jg-skin-pokemon .jg-nnn-type-electric,
body.jg-skin-pokemon .jg-nnn-type-ice,
body.jg-skin-pokemon .jg-nnn-type-ground,
body.jg-skin-pokemon .jg-nnn-type-steel,
body.jg-skin-pokemon .jg-nnn-type-fairy,
body.jg-skin-pokemon .jg-nnn-type-bug { color: #202020; text-shadow: 1px 1px 0 rgba(255, 255, 255, .35); }

/* ================================================================ night: only where dark.css uses !important */
html[data-jg-theme="dark"] body.jg-skin-pokemon .elementor-widget-heading .elementor-heading-title,
html[data-jg-theme="dark"] body.jg-skin-pokemon .elementor-widget-text-editor,
html[data-jg-theme="dark"] body.jg-skin-pokemon .elementor-widget-text-editor p { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .elementor-widget-text-editor :is(p, span, div, strong, em)[style*="6b5580" i] { color: var(--sk-muted) !important; }
/* (0,1,3): beats dark.css's html[data-jg-theme="dark"] h3 (0,1,2) but loses to every
   two-class heading colour such as body.jg-skin-pokemon .jg-w-upsell h3 (0,2,2) */
html[data-jg-theme="dark"] body:where(.jg-skin-pokemon) h1,
html[data-jg-theme="dark"] body:where(.jg-skin-pokemon) h2,
html[data-jg-theme="dark"] body:where(.jg-skin-pokemon) h3,
html[data-jg-theme="dark"] body:where(.jg-skin-pokemon) h4,
html[data-jg-theme="dark"] body:where(.jg-skin-pokemon) h5 { color: var(--sk-text); }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-banner h3 { color: var(--nnn-yellow); }
/* dark.css forces .jg-copycard h3 light with !important; the upsell card keeps its accent */
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-copycard.jg-w-upsell h3 { color: var(--sk-hot) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-card h3,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-step h3,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-feature h3,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-copycard h2,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-copycard h3,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-copycard h4,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-title a,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-day h4,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-fslib-title { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-title a:hover,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-fslib-title:hover { color: var(--sk-link-hover) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-card-sub,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-step p,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-feature p,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-faq p,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-pricing-patreon p,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-pref,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-meta,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-note,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-lock-note,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-note,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-l-sheetdemo-note,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-fslib-file,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-note,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-ooo-contact,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-fslib-head p,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-signin-note { color: var(--sk-muted) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-excerpt,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-lead { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-searchbar input[type="search"],
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-filter-main input[type="search"],
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-filter-main select,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tagsearch,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tagfilter summary {
	background: var(--sk-input) !important;
	border-color: var(--sk-ghost-line) !important;
}
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-searchbar input[type="search"],
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-filter-main input[type="search"],
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-filter-main select,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tagsearch { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tagfilter summary { color: var(--sk-link) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tag { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tag:hover { color: #fff !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-cta-ghost,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-btn-ghost,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-btn-ghost,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-noaccess .jg-w-btn-ghost { background: var(--sk-card) !important; color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-cta-list a,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-playlist-item,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-side-item,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-latest { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-pagination a,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-pagination span,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-pages a,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-pages span { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-pagination .is-current,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgn-pages .is-current { color: #fff !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-watch .jgvp-react,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-watch .jgvp-react:focus,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-watch .jgvp-react:active {
	background: var(--sk-card) !important;
	color: var(--sk-text) !important;
	border-color: var(--sk-ghost-line) !important;
}
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-watch .jgvp-react.is-active { background: var(--sk-select) !important; color: #fff !important; border-color: var(--nnn-frame) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-slot { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-slot:hover,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-cal-slot.is-selected { color: #fff !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-acct-nav a { color: var(--sk-text) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-acct-nav a:hover { background: var(--sk-card2); color: var(--sk-hot) !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jg-acct-nav a.is-active { background: var(--sk-select); color: #fff !important; }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-tier-price span { -webkit-text-fill-color: currentColor; color: var(--sk-muted); }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgcs-lb-row.is-me { background: var(--sk-tint); outline-color: var(--nnn-yellow); }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgcs-lb-row:nth-child(odd) { background: var(--sk-card2); }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-row::-webkit-scrollbar-track { background: var(--sk-card2); }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-hcar::-webkit-scrollbar-track { background: var(--sk-card2); }
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-row,
html[data-jg-theme="dark"] body.jg-skin-pokemon .jgvp-hcar { scrollbar-color: var(--nnn-red) var(--sk-card2); }
