/**
 * Kozaru Honbu - Frontend Foundation
 *
 * Version: 1.0.0
 *
 * Shared frontend design tokens and low-level components. Page-specific files
 * sit on top of this foundation so public pages, dashboards, login/logout,
 * and forms do not keep fighting over one haunted mega-stylesheet.
 */

body.kozaru-frontend-app-page,
body.kozaru-frontend-public-page,
body.kozaru-seeded-page {
	--kozaru-ink: #111111;
	--kozaru-ink-strong: #050505;
	--kozaru-muted: #77716a;
	--kozaru-muted-strong: #4f4943;
	--kozaru-paper: #ffffff;
	--kozaru-paper-soft: #f7f4ef;
	--kozaru-bone: #f7f4ef;
	--kozaru-line: rgba(0, 0, 0, .12);
	--kozaru-line-strong: rgba(0, 0, 0, .18);
	--kozaru-crimson: #c5161d;
	--kozaru-crimson-dark: #8f1016;
	--kozaru-crimson-soft: rgba(197, 22, 29, .1);
	--kozaru-blue: #2f7fbd;
	--kozaru-green: #16834a;
	--kozaru-warning: #a56000;
	--kozaru-radius: 8px;
	--kozaru-radius-sm: 6px;
	--kozaru-shadow-soft: 0 10px 28px rgba(0, 0, 0, .08);
	--kozaru-shadow-card: 0 10px 28px rgba(0, 0, 0, .08);
	--kozaru-shadow-lift: 0 16px 40px rgba(0, 0, 0, .12);
	--kozaru-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--kozaru-display: "Arial Black", Impact, var(--kozaru-font);
	--kozaru-page-gutter: clamp(.85rem, 2.2vw, 1.75rem);
	--kozaru-page-max: 1220px;
	font-family: var(--kozaru-font);
	color: var(--kozaru-ink);
}

body.kozaru-frontend-app-page *,
body.kozaru-frontend-app-page *::before,
body.kozaru-frontend-app-page *::after,
body.kozaru-frontend-public-page *,
body.kozaru-frontend-public-page *::before,
body.kozaru-frontend-public-page *::after,
body.kozaru-seeded-page *,
body.kozaru-seeded-page *::before,
body.kozaru-seeded-page *::after {
	box-sizing: border-box;
}

body.kozaru-frontend-app-page .kozaru-frontend-wrap,
body.kozaru-frontend-public-page .kozaru-frontend-wrap,
body.kozaru-seeded-page .kozaru-frontend-wrap {
	min-width: 0;
}

body.kozaru-frontend-app-page .kozaru-frontend-card,
body.kozaru-frontend-public-page .kozaru-frontend-card,
body.kozaru-seeded-page .kozaru-frontend-card,
body.kozaru-frontend-app-page .kozaru-command-card,
body.kozaru-frontend-public-page .kozaru-command-card,
body.kozaru-seeded-page .kozaru-command-card {
	background: var(--kozaru-paper);
	border: 1px solid var(--kozaru-line);
	border-radius: var(--kozaru-radius);
	box-shadow: var(--kozaru-shadow-card);
	color: var(--kozaru-ink);
}

body.kozaru-frontend-app-page .kozaru-command-eyebrow,
body.kozaru-frontend-public-page .kozaru-command-eyebrow,
body.kozaru-seeded-page .kozaru-command-eyebrow,
body.kozaru-frontend-app-page .kozaru-section-eyebrow,
body.kozaru-frontend-public-page .kozaru-section-eyebrow,
body.kozaru-seeded-page .kozaru-section-eyebrow {
	color: var(--kozaru-crimson);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: uppercase;
}

body.kozaru-frontend-app-page h1,
body.kozaru-frontend-app-page h2,
body.kozaru-frontend-app-page h3,
body.kozaru-frontend-public-page h1,
body.kozaru-frontend-public-page h2,
body.kozaru-frontend-public-page h3,
body.kozaru-seeded-page h1,
body.kozaru-seeded-page h2,
body.kozaru-seeded-page h3 {
	color: var(--kozaru-ink-strong);
	font-family: var(--kozaru-font);
	font-weight: 900;
	letter-spacing: 0;
}

body.kozaru-frontend-app-page p,
body.kozaru-frontend-public-page p,
body.kozaru-seeded-page p {
	line-height: 1.55;
}

body.kozaru-frontend-app-page .kozaru-button,
body.kozaru-frontend-public-page .kozaru-button,
body.kozaru-seeded-page .kozaru-button,
body.kozaru-frontend-app-page button.kozaru-button,
body.kozaru-frontend-public-page button.kozaru-button,
body.kozaru-seeded-page button.kozaru-button {
	align-items: center;
	appearance: none;
	background: var(--kozaru-crimson);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(197, 22, 29, .2);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: .88rem;
	font-weight: 900;
	gap: .4rem;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1.15;
	min-height: 42px;
	padding: .72rem 1.25rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body.kozaru-frontend-app-page .kozaru-button:hover,
body.kozaru-frontend-public-page .kozaru-button:hover,
body.kozaru-seeded-page .kozaru-button:hover,
body.kozaru-frontend-app-page .kozaru-button:focus,
body.kozaru-frontend-public-page .kozaru-button:focus,
body.kozaru-seeded-page .kozaru-button:focus {
	background: var(--kozaru-crimson-dark);
	box-shadow: 0 12px 28px rgba(197, 22, 29, .24);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

body.kozaru-frontend-app-page .kozaru-button-secondary,
body.kozaru-frontend-public-page .kozaru-button-secondary,
body.kozaru-seeded-page .kozaru-button-secondary {
	background: #fff;
	border-color: var(--kozaru-line-strong);
	box-shadow: 0 10px 24px rgba(5, 6, 8, .06);
	color: var(--kozaru-ink);
}

body.kozaru-frontend-app-page .kozaru-button-secondary:hover,
body.kozaru-frontend-public-page .kozaru-button-secondary:hover,
body.kozaru-seeded-page .kozaru-button-secondary:hover,
body.kozaru-frontend-app-page .kozaru-button-secondary:focus,
body.kozaru-frontend-public-page .kozaru-button-secondary:focus,
body.kozaru-seeded-page .kozaru-button-secondary:focus {
	background: var(--kozaru-paper-soft);
	border-color: var(--kozaru-line-strong);
	box-shadow: 0 14px 30px rgba(5, 6, 8, .08);
	color: var(--kozaru-ink-strong);
}

body.kozaru-frontend-app-page input[type="text"],
body.kozaru-frontend-app-page input[type="email"],
body.kozaru-frontend-app-page input[type="date"],
body.kozaru-frontend-app-page input[type="password"],
body.kozaru-frontend-app-page input[type="url"],
body.kozaru-frontend-app-page select,
body.kozaru-frontend-app-page textarea,
body.kozaru-frontend-public-page input[type="text"],
body.kozaru-frontend-public-page input[type="email"],
body.kozaru-frontend-public-page input[type="date"],
body.kozaru-frontend-public-page input[type="password"],
body.kozaru-frontend-public-page input[type="url"],
body.kozaru-frontend-public-page select,
body.kozaru-frontend-public-page textarea,
body.kozaru-seeded-page input[type="text"],
body.kozaru-seeded-page input[type="email"],
body.kozaru-seeded-page input[type="date"],
body.kozaru-seeded-page input[type="password"],
body.kozaru-seeded-page input[type="url"],
body.kozaru-seeded-page select,
body.kozaru-seeded-page textarea {
	border: 1px solid var(--kozaru-line-strong);
	border-radius: var(--kozaru-radius-sm);
	box-shadow: inset 0 1px 2px rgba(5, 6, 8, .035);
	color: var(--kozaru-ink);
	font: inherit;
	min-height: 46px;
	padding: .72rem .9rem;
}

body.kozaru-frontend-app-page input:focus,
body.kozaru-frontend-app-page select:focus,
body.kozaru-frontend-app-page textarea:focus,
body.kozaru-frontend-public-page input:focus,
body.kozaru-frontend-public-page select:focus,
body.kozaru-frontend-public-page textarea:focus,
body.kozaru-seeded-page input:focus,
body.kozaru-seeded-page select:focus,
body.kozaru-seeded-page textarea:focus {
	border-color: rgba(197, 22, 29, .52);
	box-shadow: 0 0 0 4px rgba(197, 22, 29, .12), inset 0 1px 2px rgba(5, 6, 8, .035);
	outline: 0;
}

body.kozaru-frontend-app-page .kozaru-muted,
body.kozaru-frontend-public-page .kozaru-muted,
body.kozaru-seeded-page .kozaru-muted {
	color: var(--kozaru-muted);
}

body.kozaru-frontend-app-page .kozaru-notice,
body.kozaru-frontend-public-page .kozaru-notice,
body.kozaru-seeded-page .kozaru-notice {
	border-radius: var(--kozaru-radius);
	font-weight: 650;
	padding: .9rem 1rem;
}

@media (max-width: 782px) {
	body.kozaru-frontend-app-page,
	body.kozaru-frontend-public-page,
	body.kozaru-seeded-page {
		--kozaru-page-gutter: .75rem;
	}

	body.kozaru-frontend-app-page .kozaru-button,
	body.kozaru-frontend-public-page .kozaru-button,
	body.kozaru-seeded-page .kozaru-button {
		min-height: 44px;
		padding: .78rem 1rem;
	}

	body.kozaru-frontend-app-page input[type="text"],
	body.kozaru-frontend-app-page input[type="email"],
	body.kozaru-frontend-app-page input[type="date"],
	body.kozaru-frontend-app-page input[type="password"],
	body.kozaru-frontend-app-page input[type="url"],
	body.kozaru-frontend-app-page select,
	body.kozaru-frontend-app-page textarea,
	body.kozaru-frontend-public-page input[type="text"],
	body.kozaru-frontend-public-page input[type="email"],
	body.kozaru-frontend-public-page input[type="date"],
	body.kozaru-frontend-public-page input[type="password"],
	body.kozaru-frontend-public-page input[type="url"],
	body.kozaru-frontend-public-page select,
	body.kozaru-frontend-public-page textarea,
	body.kozaru-seeded-page input[type="text"],
	body.kozaru-seeded-page input[type="email"],
	body.kozaru-seeded-page input[type="date"],
	body.kozaru-seeded-page input[type="password"],
	body.kozaru-seeded-page input[type="url"],
	body.kozaru-seeded-page select,
	body.kozaru-seeded-page textarea {
		font-size: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.kozaru-frontend-app-page *,
	body.kozaru-frontend-public-page *,
	body.kozaru-seeded-page * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}


/* v0.4.3.37 - Core-owned compatibility formerly held by the theme. */
body.kozaru-frontend-app-page .kozaru-dashboard,
body.kozaru-frontend-app-page .kozaru-student-dashboard,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard,
body.kozaru-frontend-app-page .kozaru-dojo-manager,
body.kozaru-frontend-app-page .kozaru-frontend-wrap,
body.kozaru-frontend-app-page .kozaru-plugin-screen,
body.kozaru-frontend-public-page .kozaru-frontend-wrap,
body.kozaru-frontend-public-page .kozaru-plugin-screen {
	color: var(--kozaru-ink, #111111);
}

body.kozaru-frontend-app-page .kozaru-frontend-wrap,
body.kozaru-frontend-app-page .kozaru-plugin-screen,
body.kozaru-frontend-public-page .kozaru-frontend-wrap,
body.kozaru-frontend-public-page .kozaru-plugin-screen {
	--kozaru-plugin-surface: var(--kozaru-paper, #ffffff);
	--kozaru-plugin-soft: var(--kozaru-bone, #f7f4ef);
	--kozaru-plugin-border: var(--kozaru-line, rgba(0,0,0,.12));
	--kozaru-plugin-radius: var(--kozaru-radius, 8px);
	--kozaru-plugin-radius-sm: var(--kozaru-radius-sm, 6px);
	--kozaru-plugin-accent: var(--kozaru-crimson, #c5161d);
	--kozaru-plugin-accent-dark: var(--kozaru-crimson-dark, #8f1016);
	--kozaru-plugin-muted: var(--kozaru-muted, #77716a);
}

body.kozaru-frontend-app-page .kozaru-dashboard .card,
body.kozaru-frontend-app-page .kozaru-dashboard-card,
body.kozaru-frontend-app-page .kozaru-student-dashboard .card,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard .card,
body.kozaru-frontend-app-page .kozaru-dojo-manager .card,
body.kozaru-frontend-app-page .kozaru-frontend-card,
body.kozaru-frontend-app-page .kozaru-plugin-panel,
body.kozaru-frontend-public-page .kozaru-frontend-card,
body.kozaru-frontend-public-page .kozaru-plugin-panel {
	background: var(--kozaru-paper, #ffffff);
	border: 1px solid var(--kozaru-line, rgba(0,0,0,.12));
	border-radius: var(--kozaru-radius, 8px);
	box-shadow: var(--kozaru-shadow-soft, 0 10px 28px rgba(0,0,0,.08));
}

body.kozaru-frontend-app-page .kozaru-dashboard .card,
body.kozaru-frontend-app-page .kozaru-dashboard-card,
body.kozaru-frontend-app-page .kozaru-student-dashboard .card,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard .card,
body.kozaru-frontend-app-page .kozaru-dojo-manager .card,
body.kozaru-frontend-app-page .kozaru-frontend-card,
body.kozaru-frontend-app-page .kozaru-plugin-panel,
body.kozaru-frontend-public-page .kozaru-frontend-card,
body.kozaru-frontend-public-page .kozaru-plugin-panel {
	padding: 1.25rem;
}

body.kozaru-frontend-app-page .kozaru-dashboard h1,
body.kozaru-frontend-app-page .kozaru-dashboard h2,
body.kozaru-frontend-app-page .kozaru-student-dashboard h1,
body.kozaru-frontend-app-page .kozaru-student-dashboard h2,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard h1,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard h2,
body.kozaru-frontend-app-page .kozaru-dojo-manager h1,
body.kozaru-frontend-app-page .kozaru-dojo-manager h2,
body.kozaru-frontend-app-page .kozaru-frontend-wrap h1,
body.kozaru-frontend-app-page .kozaru-frontend-wrap h2,
body.kozaru-frontend-app-page .kozaru-plugin-screen h1,
body.kozaru-frontend-app-page .kozaru-plugin-screen h2 {
	letter-spacing: 0;
}

body.kozaru-frontend-app-page .kozaru-dashboard table,
body.kozaru-frontend-app-page .kozaru-student-dashboard table,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard table,
body.kozaru-frontend-app-page .kozaru-dojo-manager table {
	width: 100%;
	overflow: hidden;
	background: var(--kozaru-paper, #ffffff);
	border: 1px solid var(--kozaru-line, rgba(0,0,0,.12));
	border-collapse: collapse;
	border-spacing: 0;
	border-radius: var(--kozaru-radius, 8px);
	table-layout: auto;
}

body.kozaru-frontend-app-page .kozaru-dashboard th,
body.kozaru-frontend-app-page .kozaru-dashboard td,
body.kozaru-frontend-app-page .kozaru-student-dashboard th,
body.kozaru-frontend-app-page .kozaru-student-dashboard td,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard th,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard td,
body.kozaru-frontend-app-page .kozaru-dojo-manager th,
body.kozaru-frontend-app-page .kozaru-dojo-manager td {
	padding: .5rem .6rem;
	vertical-align: top;
	border-bottom: 1px solid var(--kozaru-line, rgba(0,0,0,.12));
}

body.kozaru-frontend-app-page .kozaru-dashboard th,
body.kozaru-frontend-app-page .kozaru-student-dashboard th,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard th,
body.kozaru-frontend-app-page .kozaru-dojo-manager th {
	color: #fff;
	background: var(--kozaru-ink, #111111);
}

body.kozaru-frontend-app-page .kozaru-dashboard tr:last-child td,
body.kozaru-frontend-app-page .kozaru-student-dashboard tr:last-child td,
body.kozaru-frontend-app-page .kozaru-instructor-dashboard tr:last-child td,
body.kozaru-frontend-app-page .kozaru-dojo-manager tr:last-child td {
	border-bottom: 0;
}

body.kozaru-frontend-app-page .kozaru-status,
body.kozaru-frontend-app-page .kozaru-badge,
body.kozaru-frontend-app-page .kozaru-pill,
body.kozaru-frontend-public-page .kozaru-status,
body.kozaru-frontend-public-page .kozaru-badge,
body.kozaru-frontend-public-page .kozaru-pill {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: .22rem .55rem;
	color: var(--kozaru-ink, #111111);
	font-size: .82rem;
	font-weight: 800;
	background: var(--kozaru-bone, #f7f4ef);
	border: 1px solid var(--kozaru-line, rgba(0,0,0,.12));
	border-radius: 999px;
}

body.kozaru-frontend-app-page .kozaru-status.is-active,
body.kozaru-frontend-app-page .kozaru-badge.is-active,
body.kozaru-frontend-app-page .kozaru-pill.is-active,
body.kozaru-frontend-public-page .kozaru-status.is-active,
body.kozaru-frontend-public-page .kozaru-badge.is-active,
body.kozaru-frontend-public-page .kozaru-pill.is-active {
	color: #fff;
	background: var(--kozaru-crimson, #c5161d);
	border-color: var(--kozaru-crimson, #c5161d);
}

body.kozaru-frontend-app-page .kozaru-table-scroll,
body.kozaru-frontend-public-page .kozaru-table-scroll {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 700px) {
	body.kozaru-frontend-app-page .kozaru-dashboard .card,
	body.kozaru-frontend-app-page .kozaru-dashboard-card,
	body.kozaru-frontend-app-page .kozaru-student-dashboard .card,
	body.kozaru-frontend-app-page .kozaru-instructor-dashboard .card,
	body.kozaru-frontend-app-page .kozaru-dojo-manager .card,
	body.kozaru-frontend-app-page .kozaru-frontend-card,
	body.kozaru-frontend-app-page .kozaru-plugin-panel,
	body.kozaru-frontend-public-page .kozaru-frontend-card,
	body.kozaru-frontend-public-page .kozaru-plugin-panel {
		padding: .9rem;
	}
}
