/* Age gate. Uses the Stories Dark tokens when present, with its own fallbacks for any theme. */

.sag { display: none; }

html.sag-pending { overflow: hidden; }
html.sag-pending .sag {
	display: grid; place-items: center;
	position: fixed; inset: 0; z-index: 2147483000;
	padding: 20px;
	background: rgb(10 10 16 / .72);
	-webkit-backdrop-filter: blur(18px) saturate(.6);
	backdrop-filter: blur(18px) saturate(.6);
	font-family: var(--font-ui, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", Meiryo, system-ui, sans-serif);
	transition: opacity .25s ease;
}
html.sag-ok .sag { opacity: 0; pointer-events: none; }

.sag__box {
	width: 100%; max-width: 440px;
	padding: 32px 28px 24px;
	border-radius: 10px;
	border: 1px solid var(--line, #2b2b3b);
	background: var(--surface, #1e1e2b);
	color: var(--washi, #ece8f4);
	text-align: center;
	box-shadow: 0 24px 60px rgb(0 0 0 / .5);
}
.sag__badge {
	width: 64px; height: 64px; margin: 0 auto 14px;
	display: grid; place-items: center;
	border-radius: 50%;
	border: 2px solid var(--yamabuki, #f2b33d);
	color: var(--yamabuki, #f2b33d);
	font: 700 20px/1 var(--font-display, inherit);
}
.sag__title { margin: 0 0 10px; font: 400 22px/1.4 var(--font-display, inherit); }
.sag__desc { margin: 0 0 22px; font-size: 14px; line-height: 1.8; color: var(--washi, #ece8f4); }

.sag__actions { display: grid; gap: 10px; }
.sag__btn {
	display: flex; align-items: center; justify-content: center;
	height: 48px; border-radius: 6px; cursor: pointer;
	font: 600 15px/1 inherit; text-decoration: none;
	border: 1px solid var(--line, #2b2b3b);
}
.sag__btn--yes { background: var(--fuji, #b9a4e6); border-color: var(--fuji, #b9a4e6); color: var(--fuji-ink, #1a1430); }
.sag__btn--yes:hover { filter: brightness(1.08); }
.sag__btn--no { background: transparent; color: var(--mute, #9a96ad); }
.sag__btn--no:hover { color: var(--washi, #ece8f4); border-color: var(--mute, #9a96ad); }
.sag__btn:focus-visible { outline: 2px solid var(--fuji, #b9a4e6); outline-offset: 3px; }

.sag__note { margin: 16px 0 0; font-size: 12px; line-height: 1.6; color: var(--mute, #9a96ad); }

@media (prefers-reduced-motion: reduce) { .sag { transition: none; } }
