/* Standalone Karate only. Tokens copied from the inspected /check/ app.css. */
/* TranslatePress's identified floating switcher: hide only in this tool document. */
body.sch852-karate-standalone #trp-floater-ls {
	display: none !important;
}

body.sch852-karate-standalone {
	margin: 0;
	padding: 0;
	background: #fbfaf5;
	color: #192d43;
	font-family: "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", system-ui, sans-serif;
	line-height: 1.65;
}
.sch852-karate-standalone .sch852-karate-tool {
	--sch852-font-scale: 1;
	width: 100%;
	min-height: 100vh;
	font-size: 20px;
}
.sch852-karate-standalone .sch852-karate-tool[data-font="large"] {
	--sch852-font-scale: 1.2;
	font-size: 24px;
}
.sch852-karate-standalone .sch852-karate-tool *,
.sch852-karate-standalone .sch852-karate-tool *::before,
.sch852-karate-standalone .sch852-karate-tool *::after { box-sizing: border-box; }
.sch852-karate-standalone .sch852-tool-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 1240px;
	min-height: 122px;
	margin: auto;
	padding: 22px 36px;
	border-bottom: 1px solid #d4dfd5;
	background: #fbfaf5;
}
.sch852-karate-standalone .sch852-tool-brand { display: block; flex: 0 0 auto; text-decoration: none; }
.sch852-karate-standalone .sch852-tool-logo {
	display: grid;
	place-items: center;
	width: 174px;
	height: 72px;
	padding: 6px 12px;
	border-radius: 16px;
	background: #87ccda;
}
.sch852-karate-standalone .sch852-tool-logo img { display: block; width: 100%; height: auto; }
.sch852-karate-standalone .sch852-reading-tools { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.sch852-karate-standalone .sch852-reading-tools button {
	appearance: none;
	min-height: 46px;
	margin: 0;
	padding: 7px 13px;
	border: 1px solid #d4dfd5;
	border-radius: 9px;
	background: #fff;
	color: #192d43;
	font: 700 16px/1.5 "Microsoft JhengHei", "PingFang TC", system-ui, sans-serif;
	cursor: pointer;
	box-shadow: none;
}
.sch852-karate-standalone .sch852-reading-tools button[aria-pressed="true"] {
	background: #192d43;
	color: #fff;
	border-color: #192d43;
}
.sch852-karate-standalone :is(.sch852-tool-brand, .sch852-reading-tools button, .sch852-karate-skip):focus-visible {
	outline: 3px solid #193e86;
	outline-offset: 5px;
}
.sch852-karate-standalone .sch852-karate-skip {
	position: fixed;
	top: -100px;
	left: 16px;
	z-index: 100001;
	padding: 12px 20px;
	background: #fff;
	color: #216653;
}
.sch852-karate-standalone .sch852-karate-skip:focus { top: 12px; }
.sch852-karate-standalone #sch852-karate-main { margin: 0; width: 100%; }
.sch852-karate-standalone .sch852-protected-page { max-width: 1168px; margin: auto; padding: 32px 20px; }
.sch852-karate-standalone .sch852-protected-page input { min-height: 48px; max-width: 100%; font: inherit; }
.sch852-karate-standalone .sch852-karate {
	--sch852-ink: #192d43;
	--sch852-muted: #536661;
	--sch852-teal: #216653;
	--sch852-teal-dark: #164a3d;
	--sch852-teal-light: #edf3e8;
	--sch852-paper: #fbfaf5;
	--sch852-line: #d4dfd5;
	max-width: 1168px;
	margin: auto;
	padding: 48px 24px 64px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: inherit;
	font-size: calc(20px * var(--sch852-font-scale));
}
.sch852-karate-standalone .sch852-karate .sch852-header :is(h1, h2) {
	font-size: calc(clamp(36px, 6vw, 60px) * var(--sch852-font-scale));
	line-height: 1.3;
	letter-spacing: -.025em;
}
.sch852-karate-standalone .sch852-karate .sch852-eyebrow {
	margin-bottom: 18px;
	font-size: calc(17px * var(--sch852-font-scale));
	letter-spacing: .06em;
}
.sch852-karate-standalone .sch852-karate .sch852-intro {
	margin: 22px 0 18px;
	padding: 12px 18px;
	font-size: calc(23px * var(--sch852-font-scale));
	border-radius: 0 13px 13px 0;
}
.sch852-karate-standalone .sch852-karate .sch852-subtitle {
	font-size: calc(20px * var(--sch852-font-scale));
}
.sch852-karate-standalone .sch852-karate .sch852-grid { margin: 26px 0; gap: 18px; }
.sch852-karate-standalone .sch852-karate .sch852-choice-card {
	border-radius: 19px;
	min-height: 140px;
	padding: 22px 24px;
}
.sch852-karate-standalone .sch852-karate .sch852-card-title { font-size: calc(24px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-card-description { font-size: calc(18px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate :is(.sch852-card-count, .sch852-technique-list, .sch852-select, .sch852-notes, .sch852-empty) { font-size: calc(18px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-button {
	border-radius: 13px;
	font-size: calc(18px * var(--sch852-font-scale));
}
.sch852-karate-standalone .sch852-karate .sch852-button--secondary {
	border-color: #d4dfd5;
	background: #fff;
	color: #164a3d;
}
.sch852-karate-standalone .sch852-karate .sch852-screen--home .sch852-grid .sch852-choice-card:first-child {
	border-color: #216653;
	background: #216653;
	color: #fff;
}
.sch852-karate-standalone .sch852-karate .sch852-screen--home .sch852-grid .sch852-choice-card:first-child .sch852-card-description { color: #fff; }
.sch852-karate-standalone .sch852-karate .sch852-screen--home .sch852-grid .sch852-choice-card:first-child:hover { background: #164a3d; }
.sch852-karate-standalone .sch852-karate :is(.sch852-button--primary, .sch852-button--secondary):disabled {
	border-color: #e3e8e2;
	background: #e3e8e2;
	color: #536661;
}
.sch852-karate-standalone .sch852-karate.sch852-karate--practice { max-width: 880px; padding: 14px 24px 40px; }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-header { margin-bottom: 4px; }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-header h2 {
	font-size: calc(16px * var(--sch852-font-scale));
	line-height: 1.35;
	letter-spacing: 0;
	scroll-margin-block-start: 0;
	scroll-margin-block-end: 0;
}
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-practice-top { margin-bottom: 6px; padding-bottom: 4px; }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-back { min-height: 44px; padding: 6px 10px; font-size: calc(15px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-mode { font-size: calc(15px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-progress { font-size: calc(16px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-technique-name { font-size: calc(clamp(30px, 8vw, 42px) * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-hiragana { font-size: calc(clamp(18px, 5vw, 24px) * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-romaji { font-size: calc(clamp(17px, 4.8vw, 22px) * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-cantonese-text { font-size: calc(15px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-pronunciation { font-size: calc(16px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-pronunciation > p:first-child { display: inline-block; margin-right: 8px; }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-dots { display: inline-flex; vertical-align: middle; margin: 0; }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice .sch852-missing-media { margin: 2px 0; padding: 2px 8px; font-size: calc(15px * var(--sch852-font-scale)); }
.sch852-karate-standalone .sch852-karate .sch852-screen--practice > .sch852-image { height: clamp(144px, 24vh, 240px); height: clamp(144px, 24svh, 240px); }

@media (min-width: 600px) {
	.sch852-karate-standalone .sch852-karate .sch852-screen--practice > .sch852-image { height: min(40vh, 380px); height: min(40svh, 380px); }
}
@media (max-width: 599px) {
	.sch852-karate-standalone .sch852-tool-header { min-height: 95px; padding: 15px 19px; gap: 10px; }
	.sch852-karate-standalone .sch852-tool-logo { width: 126px; height: 59px; border-radius: 12px; }
	.sch852-karate-standalone .sch852-reading-tools button { min-height: 44px; padding: 7px 10px; }
	.sch852-karate-standalone .sch852-karate { padding: 30px 20px 43px; }
	.sch852-karate-standalone .sch852-karate .sch852-header { margin-bottom: 20px; }
	.sch852-karate-standalone .sch852-karate .sch852-choice-card { min-height: 114px; padding: 18px 20px; gap: 6px; }
	.sch852-karate-standalone .sch852-karate.sch852-karate--practice { padding: 10px 16px 32px; }
	.sch852-karate-standalone .sch852-karate-tool:has(.sch852-karate--practice) .sch852-tool-header { min-height: 74px; padding: 8px 16px; }
	.sch852-karate-standalone .sch852-karate-tool:has(.sch852-karate--practice) .sch852-tool-logo { width: 106px; height: 48px; }
}
@media (max-width: 374px) {
	.sch852-karate-standalone .sch852-tool-header { padding-left: 16px; padding-right: 16px; }
	.sch852-karate-standalone .sch852-tool-logo { width: 116px; }
	.sch852-karate-standalone .sch852-reading-tools button { padding: 7px 8px; }
	.sch852-karate-standalone .sch852-karate { padding-left: 16px; padding-right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.sch852-karate-standalone .sch852-karate-tool * { scroll-behavior: auto; transition: none; }
}
