/* H4F Random Dice — self-contained header accent */
.h4f-site-header .h4f-random-dice {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px !important;
	min-width: 42px !important;
	height: 42px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid rgba(255, 184, 77, .45) !important;
	border-radius: 12px !important;
	background: linear-gradient(145deg, rgba(255, 184, 77, .13), rgba(255, 137, 69, .045)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 8px 22px rgba(255, 147, 61, .12) !important;
	color: #ffc35b !important;
	cursor: pointer;
	isolation: isolate;
	transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.h4f-site-header .h4f-random-dice::before {
	content: '';
	position: absolute;
	inset: 5px;
	z-index: -1;
	border-radius: 8px;
	background: radial-gradient(circle at 31% 22%, rgba(255,255,255,.2), transparent 27%), linear-gradient(145deg, rgba(255, 193, 92, .16), rgba(255, 119, 51, .03));
	opacity: .95;
}
.h4f-site-header .h4f-random-dice svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 2px 6px rgba(255, 177, 59, .22));
}
.h4f-site-header .h4f-random-dice svg circle {
	fill: currentColor;
	stroke: none;
}
.h4f-site-header .h4f-random-dice:hover,
.h4f-site-header .h4f-random-dice:focus-visible {
	border-color: rgba(255, 201, 102, .94) !important;
	background: linear-gradient(145deg, rgba(255, 190, 85, .28), rgba(255, 126, 56, .11)) !important;
	box-shadow: 0 0 0 4px rgba(255, 178, 70, .11), 0 13px 30px rgba(255, 137, 53, .20) !important;
	color: #ffe4a4 !important;
	transform: translateY(-2px);
	outline: none;
}
.h4f-site-header .h4f-random-dice__tip {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	padding: 6px 8px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 8px;
	background: rgba(8, 8, 17, .96);
	box-shadow: 0 10px 26px rgba(0,0,0,.34);
	color: rgba(255,248,234,.94);
	font: 800 10px/1 system-ui, sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, -4px);
	transition: opacity .16s ease, transform .16s ease;
}
.h4f-site-header .h4f-random-dice:hover .h4f-random-dice__tip,
.h4f-site-header .h4f-random-dice:focus-visible .h4f-random-dice__tip {
	opacity: 1;
	transform: translate(-50%, 0);
}
.h4f-site-header .h4f-random-dice.is-rolling {
	pointer-events: none;
	border-color: rgba(255, 221, 144, .98) !important;
	background: linear-gradient(145deg, rgba(255, 206, 113, .34), rgba(255, 115, 47, .18)) !important;
	box-shadow: 0 0 0 6px rgba(255, 181, 73, .10), 0 0 28px rgba(255, 156, 57, .32) !important;
}
.h4f-site-header .h4f-random-dice.is-rolling svg {
	animation: h4f-random-dice-roll .72s cubic-bezier(.26,.8,.22,1) both;
}
.h4f-site-header .h4f-random-dice.is-found {
	color: #fff2c7 !important;
}
@keyframes h4f-random-dice-roll {
	0% { transform: rotate(0) scale(1); }
	24% { transform: rotate(125deg) scale(1.12); }
	56% { transform: rotate(455deg) scale(.92); }
	82% { transform: rotate(705deg) scale(1.08); }
	100% { transform: rotate(810deg) scale(1); }
}
@media (max-width: 860px) {
	.h4f-site-header .h4f-random-dice {
		width: 40px !important;
		min-width: 40px !important;
		height: 40px !important;
		border-radius: 11px !important;
	}
	.h4f-site-header .h4f-random-dice svg { width: 21px; height: 21px; }
	.h4f-site-header .h4f-random-dice__tip { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.h4f-site-header .h4f-random-dice,
	.h4f-site-header .h4f-random-dice svg { transition: none !important; animation: none !important; }
}
