@charset "utf-8";
*,
*::before,
*::after {
	box-sizing: border-box;
}
:root {
	-webkit-tap-highlight-color: transparent;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	cursor: default;
	line-height: 1.5;
	overflow-wrap: break-word;
	word-break: break-word;
}

:root {
	--font-body: clamp(16px, calc(14.11px + 0.588vw), 20px);
	--font-line-height: line-height: clamp(1.6, 1.4 + 0.4vw, 1.8);

	/* Brand */
	--color-primary: #3b82f6;
	--color-primary-hover: #2563eb;
	--color-primary-active: #1d4ed8;

	/* Text */
	--color-text-main: #111827;
	--color-text-sub: #6b7280;
	--color-text-muted: #9ca3af;
	--color-text-inverse: #ffffff;
	--color-accent: #1f7a63;

	/* Background */
	--color-bg-main: #ffffff;
	--color-bg-sub: #b0cbff;
	--color-bg-card: #f9fafb;
	--color-bg-hover: #f1f5f9;
	--color-bg-inverse: #111827;

	/* Border */
	--color-border: #eee;
	--color-border-strong: #d1d5db;

	/* Status */
	--color-success: #22c55e;
	--color-success-bg: #ecfdf5;

	--color-error: #ef4444;
	--color-error-bg: #fef2f2;

	--color-warning: #f59e0b;
	--color-warning-bg: #fffbeb;

	--color-info: #0ea5e9;
	--color-info-bg: #f0f9ff;

	/* Card */
	--color-bg-car: #fff;

	/* Interaction */
	--color-hover: #f3f4f6;
	--color-active: #e5e7eb;
	--color-disabled: #9ca3af;
	--color-overlay: rgba(0, 0, 0, 0.5);

	/* Shadow */
	--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
	--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);

	/* Focus */
	--color-focus: #3b82f6;
}
html {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
body {
	min-height: 100vh;
	font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif;
	line-height: 1.5;
}

input,
button,
textarea,
select {
	font: inherit;
}
img {
	display: block;
	max-width: 100%;
}
button {
	background: none;
	border: 0;
	cursor: pointer;
}
a {
	color: inherit;
	text-decoration: none;
}
a:visited,
a.visited,
a.visited:visited,
a:hover,
a.visited:hover,
a:active {
	color: inherit;
	text-decoration: none;
}
a:focus {
	text-decoration: none;
}
a:focus-visible,
button:focus-visible {
	outline-offset: -1px;
	outline-width: 1px;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}
b {
	font-weight: 700;
}
.blind {
	display: block;
	position: absolute;
	top: -9999em;
	left: -9999em;
	width: 1px;
	height: 1px;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	text-indent: -9999em;
}

.aftercr:after {
	clear: both;
	content: "";
	display: block;
}
