#rocky-economy-toolbar {
	position: fixed;
	z-index: 30;
	bottom: 12px;
	left: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border: 2px solid #202522;
	background: #f3f1e8;
	box-shadow: 3px 3px 0 #202522;
	color: #202522;
	font: 10px/1.2 'DM Mono', monospace;
}

#rocky-economy-toolbar a {
	padding: 6px 8px;
	border: 1px solid #20252266;
	color: inherit;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

#rocky-economy-toolbar a:hover,
#rocky-economy-toolbar a:focus-visible {
	border-color: #202522;
	background: #d9f06b;
}

#rocky-economy-toolbar a:focus-visible {
	outline: 2px solid #f36b45;
	outline-offset: 2px;
}

#rocky-economy-balance { white-space: nowrap; }
#rocky-economy-status { position: absolute; bottom: calc(100% + 8px); left: 0; width: max-content; max-width: min(340px, calc(100vw - 24px)); padding: 8px 10px; border: 1px solid #202522; background: #f3f1e8; box-shadow: 2px 2px 0 #202522; }
#rocky-economy-status:empty { display: none; }

.login-reminder {
	position: fixed;
	z-index: 2147483646;
	inset: 0;
	width: min(100% - 32px, 440px);
	max-width: none;
	max-height: calc(100% - 32px);
	margin: auto;
	padding: 26px;
	border: 3px solid #202522;
	background: #f3f1e8;
	color: #202522;
	box-shadow: 8px 8px 0 #202522;
	font: 12px/1.7 'DM Mono', monospace;
}

.login-reminder::backdrop { background: #202522b8; }
.login-reminder:not([open]) { display: none; }
.login-reminder-kicker { margin: 0 0 8px; color: #52645b; font-size: 10px; text-transform: uppercase; }
.login-reminder h2 { margin: 0; font: 900 clamp(34px, 8vw, 48px)/0.95 'Barlow Condensed', Impact, sans-serif; text-transform: uppercase; }
.login-reminder kbd { padding: 3px 6px; border: 1px solid #20252266; background: #fffdf6; font: inherit; white-space: nowrap; }
.login-reminder > p:not(.login-reminder-kicker) { margin: 14px 0 18px; }
.login-reminder-button { min-height: 42px; padding: 8px 18px; border: 2px solid #202522; background: #d9f06b; color: #202522; font: 800 20px/1 'Barlow Condensed', Impact, sans-serif; text-transform: uppercase; cursor: pointer; }
.login-reminder-button:hover { background: white; }
.login-reminder-button:focus-visible { outline: 3px solid #f36b45; outline-offset: 3px; }

[data-game-fullscreen] { position: relative; }

.game-fullscreen-button {
	position: absolute;
	z-index: 2147483647;
	top: 12px;
	right: 12px;
	display: grid;
	width: 42px;
	aspect-ratio: 1;
	place-items: center;
	border: 2px solid #f3f1e899;
	background: #202522dd;
	color: white;
	font: 22px 'DM Mono', monospace;
	cursor: pointer;
}

.game-fullscreen-button:hover { background: #f36b45; }
.game-fullscreen-button:focus-visible { outline: 3px solid #d9f06b; outline-offset: 3px; }

.game-login-link {
	position: absolute;
	z-index: 2147483647;
	top: 12px;
	right: 62px;
	display: none;
	min-height: 42px;
	align-items: center;
	padding: 0 12px;
	border: 2px solid #f3f1e899;
	background: #202522dd;
	color: #fff;
	font: 700 12px 'DM Mono', monospace;
	text-decoration: none;
	text-transform: uppercase;
}

.game-login-link:hover { background: #f36b45; }
.game-login-link:focus-visible { outline: 3px solid #d9f06b; outline-offset: 3px; }

[data-game-fullscreen]:fullscreen .game-login-link,
[data-game-fullscreen]:-webkit-full-screen .game-login-link { display: inline-flex; }

.game-shell > .game-fullscreen-button { position: absolute; top: 7px; right: 7px; }
.game-shell > .game-login-link { top: 7px; right: 57px; }
.game-shell .game-bar { padding-right: 64px; }

[data-game-fullscreen]:fullscreen,
[data-game-fullscreen]:-webkit-full-screen {
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	max-width: none !important;
	max-height: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.game-area:fullscreen canvas,
.game-area:-webkit-full-screen canvas,
.stage:fullscreen canvas,
.stage:-webkit-full-screen canvas {
	height: 100%;
	aspect-ratio: auto;
}

.game-shell:fullscreen,
.game-shell:-webkit-full-screen {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto auto;
	overflow: auto;
}

.game-shell:fullscreen .stage,
.game-shell:-webkit-full-screen .stage { min-height: 0; }

.game-shell:fullscreen .stage canvas,
.game-shell:-webkit-full-screen .stage canvas { height: 100%; aspect-ratio: auto; }

@media (max-width: 520px) {
	#rocky-economy-toolbar { right: 8px; bottom: 8px; left: 8px; justify-content: space-between; gap: 4px; padding: 6px; font-size: 9px; }
	#rocky-economy-toolbar a { padding: 6px 5px; }
	.game-fullscreen-button { top: 8px; right: 8px; width: 38px; }
	.game-login-link { top: 8px; right: 54px; min-height: 38px; padding: 0 8px; font-size: 10px; }
}

:root {
	color-scheme: dark !important;
	--ink: #d7ffe1 !important;
	--paper: #07110b !important;
	--lime: #65ff88 !important;
	--orange: #a7ffc0 !important;
	--blue: #3be8a5 !important;
	--panel: #0a1a10 !important;
}

body {
	color: #d7ffe1 !important;
	background-color: #050b07 !important;
	background-image: radial-gradient(circle at 50% -10%, #0e4b27 0, transparent 48%), linear-gradient(#3cff7a1a 1px, transparent 1px), linear-gradient(90deg, #3cff7a1a 1px, transparent 1px) !important;
	background-size: auto, 32px 32px, 32px 32px !important;
	background-attachment: fixed !important;
}

header,
.site-header,
.hud,
.game-shell,
.game-bar,
.game-controls,
.background-card,
.overlay-content,
.instructions,
.game-link {
	border-color: #28613a !important;
	background-color: #09150d !important;
	color: #d7ffe1 !important;
}

.game-link,
.game-shell,
.background-card,
.overlay-content {
	box-shadow: 0 0 18px #24ff6b16, 0 0 0 1px #65ff8830 !important;
}

.game-wrap,
.game-frame {
	border-color: #28613a !important;
	background-color: #030805 !important;
	box-shadow: 0 0 24px #24ff6b20 !important;
}

h1,
h2,
h3,
.brand,
.game-title,
#gameTitle {
	color: #e4ffeb !important;
}

.brand-mark,
.shop-link,
.filter-button[aria-pressed="true"],
.game-nav a[aria-current="page"],
.mode-nav a[aria-current="page"],
.action-button,
.shop-button,
.login-reminder-button {
	border-color: #65ff88 !important;
	background-color: #65ff88 !important;
	color: #041008 !important;
	box-shadow: 0 0 14px #65ff8840 !important;
}

a,
.kicker,
.header-note,
.catalog-count,
.search-label,
.section-note,
.game-number,
.game-meta,
.stat-label,
#status,
footer,
.empty-state,
.favorites-status,
.login-reminder-kicker,
.background-card p {
	color: #91cba0 !important;
}

.game-nav a,
.mode-nav a,
.filter-button,
.search-input,
.favorite-button,
.prize-list li,
.shop-button,
.action-button,
.login-reminder-button,
#rocky-economy-toolbar,
#rocky-economy-status {
	border-color: #28613a !important;
}

.search-input,
.filter-button,
.game-nav a,
.mode-nav a,
.favorite-button,
.prize-list li,
.shop-button:not(:disabled),
.action-button,
#rocky-economy-toolbar,
#rocky-economy-status {
	background-color: #0b1b10 !important;
	color: #c9f8d3 !important;
}

.shop-link,
.shop-button:not(:disabled),
.action-button,
.login-reminder-button {
	background-color: #65ff88 !important;
	color: #041008 !important;
}

.game-link:hover,
.shop-link:hover,
.filter-button:hover,
.game-nav a:hover,
.mode-nav a:hover,
.favorite-button:hover,
.favorite-button[aria-pressed="true"],
.shop-button:hover:not(:disabled),
.action-button:hover,
.login-reminder-button:hover {
	border-color: #65ff88 !important;
	background-color: #12351d !important;
	color: #caffd4 !important;
	box-shadow: 0 0 18px #65ff8850 !important;
}

.shop-link:hover,
.shop-button:hover:not(:disabled),
.action-button:hover,
.login-reminder-button:hover {
	background-color: #8aff9f !important;
	color: #041008 !important;
}

input:focus-visible,
button:focus-visible,
a:focus-visible {
	outline-color: #65ff88 !important;
}

#rocky-economy-toolbar {
	border-color: #28613a !important;
	background: #09150d !important;
	box-shadow: 0 0 16px #24ff6b30 !important;
	color: #d7ffe1 !important;
}

#rocky-economy-status {
	border-color: #28613a !important;
	background: #09150d !important;
	box-shadow: 0 0 16px #24ff6b30 !important;
	color: #d7ffe1 !important;
}
