/* ==========================================================================
   aUI Site Kit: front-end styles for auilanguage.org
   Every rule is scoped to body.aui-kit (added by the plugin).
   Division of ownership:
     Global Styles (Site Editor)  palette, fonts, base type sizes
     This file                    everything below
   ========================================================================== */

/* sacrificial first rule */
.aui-kit-guard { display: block; }

:root {
	--aui-green: #41F24D;
	--aui-yellow: #ECFF00;
	--aui-navy: #020A63;
	--aui-void: #04060E;
	--aui-gold: #FFF6A5;                       /* homepage spiral symbol core */
	--aui-hair: rgba(87, 169, 186, 0.30);      /* .com frame line */
	--aui-cyan: #4EFFF6;                       /* .com accent line */
	--aui-surface: rgba(4, 6, 14, 0.78);       /* reading surface: white text >= 9.7:1 over the brightest star */
	--aui-surface-edge: rgba(255, 255, 255, 0.06);
	--aui-navy-surface: rgba(2, 10, 99, 0.82); /* example boxes, matches the aUI text panel */
	--aui-navy-edge: rgba(65, 242, 77, 0.25);
	--aui-glow: 0 0 10px rgba(65, 242, 77, 0.8), 0 0 20px rgba(65, 242, 77, 0.4);
	--aui-glint: linear-gradient(90deg, transparent, rgba(65, 242, 77, 0.8) 25%, var(--aui-gold) 50%, rgba(65, 242, 77, 0.8) 75%, transparent);
	--aui-frame-inset: 20px;
	--aui-edge-pad: 36px;
}
@media (max-width: 781px) {
	:root {
		--aui-frame-inset: 8px;
		--aui-edge-pad: 16px;
	}
}

/* Keep top-level page wrappers inside the frame (Global Styles sets root padding to 0).
   Applied to the wrapper only, so nested groups inside page content keep their spacing. */
.aui-kit main.wp-block-group.has-global-padding {
	padding-left: var(--aui-edge-pad) !important;
	padding-right: var(--aui-edge-pad) !important;
}

/* --------------------------------------------------------------------------
   1. Frame (.com hairline around the screen)
   -------------------------------------------------------------------------- */
body.aui-kit::after {
	content: "";
	position: fixed;
	top: calc(var(--aui-frame-inset) + var(--wp-admin--admin-bar--height, 0px));
	right: var(--aui-frame-inset);
	bottom: var(--aui-frame-inset);
	left: var(--aui-frame-inset);
	border: 1px solid var(--aui-hair);
	pointer-events: none;
	z-index: 600;
}

/* --------------------------------------------------------------------------
   2. Header band and footer band
   -------------------------------------------------------------------------- */
/* Keeps dropdown submenus above page content (moved from ASE, unchanged). */
.aui-kit header.wp-block-template-part {
	position: relative;
	z-index: 500;
}
.aui-kit header.wp-block-template-part > .wp-block-group {
	background: linear-gradient(180deg, rgba(4, 6, 14, 0.94), rgba(4, 6, 14, 0.72)) !important;
	padding-left: var(--aui-edge-pad) !important;
	padding-right: var(--aui-edge-pad) !important;
}
.aui-kit header.wp-block-template-part::after {
	content: "";
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--aui-cyan), transparent);
	opacity: 0.55;
	pointer-events: none;
}
.aui-kit footer.wp-block-template-part > .wp-block-group {
	background: linear-gradient(180deg, rgba(4, 6, 14, 0.55), rgba(4, 6, 14, 0.94) 45%) !important;
	padding-left: var(--aui-edge-pad) !important;
	padding-right: var(--aui-edge-pad) !important;
	position: relative;
}
.aui-kit footer.wp-block-template-part > .wp-block-group::before {
	content: "";
	position: absolute;
	left: 40px;
	right: 40px;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--aui-cyan), transparent);
	opacity: 0.45;
}

/* --------------------------------------------------------------------------
   3. Readability: no running text directly on the nebula
   -------------------------------------------------------------------------- */
/* 3a. Reading surface behind page and post content.
   Skipped on the homepage (handled in 3c) and on pages that use the aUI text panel,
   which already has its own surface. */
.aui-kit:not(.home):not(:has(.aui-text-panel)) main .wp-block-post-content,
.aui-kit.woocommerce .wp-site-blocks > .wp-block-group:not(header):not(footer),
.aui-kit.single main .wp-block-comments,
.aui-kit.single main .wp-block-post-navigation-link {
	background: var(--aui-surface);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border: 1px solid var(--aui-surface-edge);
	border-radius: 10px;
	box-sizing: border-box;
	max-width: min(1180px, calc(100% - 2 * var(--aui-edge-pad))) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 36px 44px !important;
}
.aui-kit.single main .wp-block-post-navigation-link {
	padding: 14px 20px !important;
	margin-top: 12px !important;
}
.aui-kit:not(.home) main .wp-block-post-content {
	margin-top: 8px !important;
	margin-bottom: 48px !important;
}
@media (max-width: 781px) {
	.aui-kit:not(.home):not(:has(.aui-text-panel)) main .wp-block-post-content,
	.aui-kit.woocommerce .wp-site-blocks > .wp-block-group:not(header):not(footer),
	.aui-kit.single main .wp-block-comments {
		padding: 22px 18px !important;
	}
}

/* Single posts: line the title up with the reading surface below it */
.aui-kit.single main > .wp-block-group:first-child {
	max-width: min(1180px, calc(100% - 2 * var(--aui-edge-pad)));
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 44px !important;
	padding-right: 44px !important;
	box-sizing: border-box;
}

/* Embedded documents and charts never push the page wider than the screen */
.aui-kit .wp-block-post-content iframe {
	max-width: 100%;
}

/* Page titles keep clear of the frame on narrow screens */
.aui-kit main > .wp-block-group:has(> h1.wp-block-post-title) {
	padding-left: var(--aui-edge-pad);
	padding-right: var(--aui-edge-pad);
}

/* 3b. Title well: soft dark scrim behind the page title, which stays in open space */
.aui-kit :is(.wp-block-group, main):has(> h1.wp-block-post-title, > h1.wp-block-query-title) {
	background-image: radial-gradient(ellipse 55% 70% at 50% 50%, rgba(4, 6, 14, 0.72), rgba(4, 6, 14, 0.35) 55%, transparent 78%);
}

/* 3c. Homepage: surface behind the intro text column only. Slider and galaxy are untouched. */
.aui-kit.home .wp-block-post-content > .wp-block-columns:first-child > .wp-block-column:first-child {
	background: var(--aui-surface);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border: 1px solid var(--aui-surface-edge);
	border-radius: 10px;
	padding: 28px 32px;
	align-self: center;
}
@media (max-width: 781px) {
	.aui-kit.home .wp-block-post-content > .wp-block-columns:first-child > .wp-block-column:first-child {
		padding: 20px 16px;
	}
}

/* Homepage dedication block (portrait and captions) */
.aui-kit.home .wp-block-post-content > .wp-block-group.alignfull:has(.wp-block-image) {
	background: var(--aui-surface);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border: 1px solid var(--aui-surface-edge);
	border-radius: 10px;
	max-width: min(820px, calc(100% - 2 * var(--aui-edge-pad))) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 28px !important;
	padding-bottom: 28px !important;
}

/* --------------------------------------------------------------------------
   4. Headings: green with a pale gold highlight (HL2)
   -------------------------------------------------------------------------- */
/* Depth shadow for every heading; the gradient version below replaces it. */
.aui-kit :is(h1, h2, h3, h4):is(.wp-block-heading, .wp-block-post-title, .wp-block-query-title) {
	text-shadow: 0 2px 0 rgba(0, 0, 0, 0.55), 0 6px 18px rgba(0, 0, 0, 0.6);
}

/* Gold highlight. Skipped on headings with their own non-green color and on headings
   that contain aUI-font text or inline colors, so those keep their own colors. */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.aui-kit :is(h1, h2, h3, h4):is(.wp-block-heading, .wp-block-post-title, .wp-block-query-title):not(.has-text-color:not(.has-contrast-2-color)):not([style*="color"]):not(:has(.has-aui-font-family, [style*="color"], mark)) {
		color: var(--aui-green);
		-webkit-text-fill-color: transparent;
		background-image: linear-gradient(180deg, var(--aui-gold) 6%, #9CF06A 30%, var(--aui-green) 48%, #38D843 80%, #1FAE2A 100%);
		background-size: 100% 100%;
		background-repeat: repeat-y;
		-webkit-background-clip: text;
		background-clip: text;
		text-shadow: none;
		filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.6)) drop-shadow(0 6px 14px rgba(0, 0, 0, 0.55));
	}
	/* Restart the gradient on every line of a wrapped heading. */
	@supports (width: 1lh) {
		.aui-kit :is(h1, h2, h3, h4):is(.wp-block-heading, .wp-block-post-title, .wp-block-query-title) {
			background-size: 100% 1lh;
		}
	}
	/* Links inside headings follow the heading highlight. */
	.aui-kit :is(h1, h2, h3, h4):is(.wp-block-heading, .wp-block-post-title, .wp-block-query-title) a {
		-webkit-text-fill-color: inherit;
	}
}

/* Page title underline: green with a gold glint at the center */
.aui-kit h1.wp-block-post-title::after,
.aui-kit h1.wp-block-query-title::after {
	content: "";
	display: block;
	width: min(70%, 460px);
	height: 1px;
	margin: 14px 0 0;
	background: var(--aui-glint);
}
.aui-kit h1.has-text-align-center.wp-block-post-title::after {
	margin-left: auto;
	margin-right: auto;
}

/* Windows High Contrast and other forced-color modes: plain text, no gradient. */
@media (forced-colors: active) {
	.aui-kit :is(h1, h2, h3, h4) {
		-webkit-text-fill-color: currentColor !important;
		background-image: none !important;
		filter: none !important;
	}
}

/* --------------------------------------------------------------------------
   5. Separators: fade in from the edges, keep each separator's own color
   -------------------------------------------------------------------------- */
.aui-kit hr.wp-block-separator,
.aui-kit hr.wp-block-separator.has-background {
	border: 0 !important;
	height: 1px;
	background-color: transparent !important;
	background-image: linear-gradient(90deg, transparent, currentColor 20%, currentColor 80%, transparent) !important;
	opacity: 0.85;
}
.aui-kit hr.wp-block-separator:not(.has-text-color) {
	color: var(--aui-green);
}

/* --------------------------------------------------------------------------
   6. Example boxes: existing solid navy blocks take the aUI text panel surface
   -------------------------------------------------------------------------- */
.aui-kit .wp-block-post-content :is(div, ul, ol, p, figure).has-base-2-background-color {
	background-color: var(--aui-navy-surface) !important;
	border: 1px solid var(--aui-navy-edge);
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}
/* Navy inside navy becomes one surface. */
.aui-kit .wp-block-post-content .has-base-2-background-color .has-base-2-background-color {
	background-color: transparent !important;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Hand-set blue-to-green gradient boxes (About, Learn aUI, Dr. Weilgart's Story)
   take the same navy surface, so green headings and text stay readable. */
.aui-kit .wp-block-post-content .wp-block-group.has-background[style*="linear-gradient"] {
	background: var(--aui-navy-surface) !important;
	border: 1px solid var(--aui-navy-edge);
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* --------------------------------------------------------------------------
   6b. Buttons: never split a word across lines
   -------------------------------------------------------------------------- */
.aui-kit .wp-block-button__link,
.aui-kit .wp-element-button {
	word-break: keep-all;
	overflow-wrap: normal;
	hyphens: none;
}
@media (max-width: 781px) {
	/* Percentage-width buttons size to their label on phones. */
	.aui-kit .wp-block-post-content .wp-block-button.has-custom-width {
		width: auto !important;
		min-width: 50%;
	}
	.aui-kit .wp-block-post-content .wp-block-button.has-custom-width .wp-block-button__link {
		white-space: nowrap;
		padding-left: 1.25em;
		padding-right: 1.25em;
	}
}

/* --------------------------------------------------------------------------
   6c. Phones: tighter side spacing inside the reading surface
   -------------------------------------------------------------------------- */
@media (max-width: 781px) {
	.aui-kit:not(.home):not(:has(.aui-text-panel)) main .wp-block-post-content,
	.aui-kit.woocommerce .wp-site-blocks > .wp-block-group:not(header):not(footer),
	.aui-kit.single main .wp-block-comments {
		max-width: calc(100% - 20px) !important;
		padding: 18px 12px !important;
	}
	/* Boxes and paragraphs inside the surface drop their extra side padding.
	   Lists keep theirs so bullets stay indented. */
	.aui-kit .wp-block-post-content div.has-background {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	.aui-kit .wp-block-post-content div.has-background div.has-background,
	.aui-kit .wp-block-post-content div.has-global-padding:not(.has-background) {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.aui-kit .wp-block-post-content p.wp-block-paragraph {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* 6b. The three hand-set blue-to-green gradient boxes (About, Learn aUI, Dr. Weilgart's Story).
   Their green end made green headings and white text unreadable; they take the navy surface.
   Matched by gradient angle so the black fade groups (180deg) are left alone. */
.aui-kit .wp-block-post-content .wp-block-group.has-background:is([style*="linear-gradient(124deg"], [style*="linear-gradient(135deg"]) {
	background: var(--aui-navy-surface) !important;
	border: 1px solid var(--aui-navy-edge);
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* 6c. Buttons: labels never break mid-word */
.aui-kit .wp-block-button__link {
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}
@media (max-width: 781px) {
	.aui-kit .wp-block-button.has-custom-width {
		width: auto !important;
		min-width: 50%;
		max-width: 100%;
	}
}

/* 6d. Phones: tighter spacing inside page content.
   Content blocks use the theme spacing scale in their own padding settings; on phones the
   larger steps shrink so text keeps its width. Desktop is unchanged. */
@media (max-width: 781px) {
	/* Long runs of words joined by non-breaking spaces wrap instead of pushing the page sideways */
	.aui-kit .wp-block-post-content :is(p, li) {
		overflow-wrap: break-word;
	}
	.aui-kit .wp-block-post-content {
		--wp--preset--spacing--30: 12px;
		--wp--preset--spacing--40: 14px;
		--wp--preset--spacing--50: 16px;
		--wp--preset--spacing--60: 18px;
		--wp--preset--spacing--70: 20px;
		--wp--preset--spacing--80: 24px;
	}
	.aui-kit:not(.home):not(:has(.aui-text-panel)) main .wp-block-post-content,
	.aui-kit.woocommerce .wp-site-blocks > .wp-block-group:not(header):not(footer),
	.aui-kit.single main .wp-block-comments {
		max-width: calc(100% - 20px) !important;
		padding: 18px 14px !important;
	}
}

/* --------------------------------------------------------------------------
   7. Navigation menu (moved from ASE and aligned)
   -------------------------------------------------------------------------- */
/* Top level and dropdown text: white, Noto Sans 400 */
.aui-kit header .wp-block-navigation .wp-block-navigation-item__content {
	color: #ffffff !important;
	font-weight: 400 !important;
	letter-spacing: 0.5px;
	text-decoration: none !important;
	transition: color 0.3s ease, text-shadow 0.3s ease;
}

/* Hover, current page and current section: green with glow */
.aui-kit header .wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.aui-kit header .wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.aui-kit header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.aui-kit header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--aui-green) !important;
	text-shadow: var(--aui-glow);
}
.aui-kit header .wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon,
.aui-kit header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation__submenu-icon {
	color: var(--aui-green);
}

/* Top level only: short underline with the gold glint on hover and current section */
.aui-kit header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
}
.aui-kit header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, rgba(65, 242, 77, 0.2), var(--aui-green) 30%, var(--aui-gold) 55%, var(--aui-green) 80%, rgba(65, 242, 77, 0.2));
	opacity: 0;
	transition: opacity 0.3s ease;
}
.aui-kit header .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.aui-kit header .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.aui-kit header .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after {
	opacity: 1;
}

/* Dropdown panels (desktop menu, not the mobile overlay) */
.aui-kit header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	background: rgba(4, 6, 14, 0.9) !important;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid var(--aui-hair) !important;
	border-radius: 8px;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
	padding: 8px 0 !important;
	min-width: 250px !important;
}
.aui-kit header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: var(--aui-glint);
	border-radius: 8px 8px 0 0;
}
.aui-kit header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 10px 20px !important;
	font-size: 0.92rem;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
	transition: color 0.25s ease, background-color 0.25s ease, padding-left 0.25s ease, text-shadow 0.25s ease;
}
.aui-kit header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.aui-kit header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	color: var(--aui-green) !important;
	background: rgba(65, 242, 77, 0.10);
	padding-left: 24px !important;
	text-shadow: 0 0 10px rgba(65, 242, 77, 0.8);
}

/* Dropdown open animation (moved from ASE) */
@media (min-width: 600px) {
	.aui-kit header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
		transform: translateY(10px);
		transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
	}
	.aui-kit header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
	.aui-kit header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container {
		transform: translateY(0);
	}
}

/* Mobile overlay menu */
.aui-kit .wp-block-navigation__responsive-container.is-menu-open {
	background: rgba(4, 6, 14, 0.97) !important;
}
.aui-kit .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   8. Floating page navigation tab (Grammar, Basic Rules, Simple aUI)
      Markup and script are unchanged; styles moved from ASE and aligned.
   -------------------------------------------------------------------------- */
#aui-toc-container {
	position: fixed;
	top: 30%;
	left: 0;
	z-index: 9999;
	font-family: "Noto Sans", sans-serif;
	display: none;
}
#aui-toc-tab {
	position: absolute;
	left: 0;
	top: 0;
	background: var(--aui-navy-surface);
	border: 1px solid rgba(65, 242, 77, 0.35);
	border-left: 0;
	color: var(--aui-green);
	padding: 10px 16px;
	cursor: pointer;
	border-radius: 0 8px 8px 0;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	text-align: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
	transition: background-color 0.3s ease, text-shadow 0.3s ease;
}
#aui-toc-tab:hover {
	background: rgba(2, 10, 99, 0.95);
	text-shadow: 0 0 10px rgba(65, 242, 77, 0.8);
}
/* The list opens below the tab (not over it), so the tab can close it again. */
#aui-toc {
	position: absolute;
	top: 60px;
	left: 0;
	background: rgba(4, 6, 14, 0.94);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid var(--aui-hair);
	border-left: 0;
	border-radius: 0 8px 8px 0;
	width: 260px;
	max-height: 70vh;
	overflow-y: auto;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
	padding: 12px;
	transform: translateX(-100%);
	transition: transform 0.3s ease;
}
#aui-toc.open {
	transform: translateX(0);
}
#aui-toc-search {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 10px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(65, 242, 77, 0.35);
	border-radius: 6px;
	color: #ffffff;
	padding: 7px 9px;
	font-size: 0.85rem;
	font-family: "Noto Sans", sans-serif;
	outline: none;
}
#aui-toc-search::placeholder {
	color: rgba(255, 255, 255, 0.5);
}
#aui-toc-search:focus {
	border-color: var(--aui-green);
	box-shadow: 0 0 6px rgba(65, 242, 77, 0.4);
}
#aui-toc-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
#aui-toc-list li {
	margin: 2px 0;
}
#aui-toc-list a {
	color: #ffffff;
	text-decoration: none;
	font-size: 0.9rem;
	display: block;
	padding: 4px 0;
	transition: color 0.2s ease, text-shadow 0.2s ease;
}
#aui-toc-list a:hover,
#aui-toc-list a:focus-visible {
	color: var(--aui-green);
	text-shadow: 0 0 10px rgba(65, 242, 77, 0.8);
}
#aui-toc-list .toc-h3 { margin-left: 10px; }
#aui-toc-list .toc-h4 { margin-left: 20px; }

/* Hide the tab while the mobile menu overlay is open */
.has-modal-open #aui-toc-container {
	display: none !important;
}

@media (max-width: 781px) {
	/* One-line pill at the bottom left; the list opens upward. */
	#aui-toc-container {
		top: auto;
		bottom: 16px;
	}
	#aui-toc-tab {
		top: auto;
		bottom: 0;
		white-space: nowrap;
		font-size: 13px;
		padding: 7px 14px 7px 12px;
		border-radius: 0 18px 18px 0;
	}
	#aui-toc {
		top: auto;
		bottom: 44px;
		width: min(280px, 82vw);
		max-height: 65vh;
	}
}

/* --------------------------------------------------------------------------
   9. Page-specific rules (moved from ASE unchanged)
   -------------------------------------------------------------------------- */
/* Simple aUI (page 2269) */
.page-id-2269 .has-aui-font-family {
	color: #ECFF00 !important;
	font-size: 200% !important;
}
.page-id-2269 .wp-block-table td {
	text-align: center;
	vertical-align: middle;
}
.page-id-2269 .aui-table-wrap {
	max-height: 55vh;
	overflow-y: auto;
	position: relative;
}
.page-id-2269 .aui-table-wrap thead td {
	position: sticky;
	top: 0;
	z-index: 2;
	background-color: var(--wp--preset--color--base-2);
}

/* Interactive chart (page 941) */
.page-id-941 .iframe-container {
	position: relative;
	width: 100%;
	height: 2400px;
}
.page-id-941 .iframe-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* --------------------------------------------------------------------------
   10. Motion preference
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.aui-kit header .wp-block-navigation__submenu-container,
	#aui-toc {
		transition: none !important;
	}
}
