.ue-card { background:var(--learn-surface,#fff); border:1px solid var(--learn-border,#E2E8F0); border-radius:28px; padding:20px; box-shadow:var(--learn-shadow,0 4px 10px rgba(0,0,0,.08)); box-sizing:border-box; max-width:100%; }
.ue-card + .ue-card,
.ue-card + .ue-grid,
.ue-grid + .ue-card { margin-top: 14px; }
.ue-grid .ue-card + .ue-card { margin-top: 0; }
.ue-home-status .ue-home-hello { margin: 0 0 12px; }
.ue-home-status .ue-title { margin: 0 0 4px; line-height: 1.35; }
.ue-home-status .ue-home-meta { margin: 0 0 12px; }
.ue-home-status .ue-progress { margin: 0; }
.ue-home-status .ue-home-done { margin: 8px 0 0; font-size: 1rem; font-weight: 600; }
.ue-title { margin:0 0 6px; font-size:1.35rem; font-weight:700; line-height:1.4; color:var(--learn-heading,#12233A); word-break:keep-all; }
.ue-year-mark { display:inline-block; margin:0 0.35em 0.2em 0; padding:0 0.38em; border-radius:8px; background:var(--learn-official,#0B3B8C); color:#fff; font-weight:800; line-height:1.35; vertical-align:baseline; }
.ue-title-rest { white-space:nowrap; }
.ue-sub { margin:0 0 16px; color:var(--learn-text-secondary,#545454); font-size:0.95rem; line-height:1.6; word-break:keep-all; }
.ue-title + .ue-sub { margin-top:0; }
.ue-field { display:block; margin-bottom:8px; font-size:0.95rem; font-weight:700; }
.ue-field-hint { display:block; margin:0 0 8px; color:var(--learn-text-muted,#4B5563); font-size:0.85rem; font-weight:500; line-height:1.5; word-break:keep-all; }
.ue-input,
.learn-page .ue-input {
	width:100%;
	min-height:56px;
	box-sizing:border-box;
	border:1px solid var(--learn-border,#E2E8F0);
	border-radius:12px;
	padding:14px 16px;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.2px;
	background: var(--learn-surface,#fff);
	color: var(--learn-text,#202244);
}
.ue-input::placeholder,
.ue-input::-webkit-input-placeholder,
.learn-page .ue-input::placeholder,
.learn-page .ue-input::-webkit-input-placeholder {
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.2px;
	opacity: 1;
	color: var(--learn-text-muted,#4B5563);
}
.ue-input:focus,
.ue-input:focus-visible,
.ue-rrn-tail:focus-within {
	outline: none;
	border-color: var(--learn-primary,#0961F5);
	box-shadow: var(--learn-focus, 0 0 0 3px rgba(9, 97, 245, 0.35));
}
.ue-input.is-invalid,
.ue-rrn-tail.is-invalid {
	border-color: var(--learn-danger,#B91C1C);
	box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.25);
}
.ue-rrn-block { margin-top:16px; }
.ue-login-phone { margin-top:16px; scroll-margin-top: calc(var(--learn-header-h, 52px) + 16px); }
.ue-login-pick { margin-top:16px; scroll-margin-top: calc(var(--learn-header-h, 52px) + 16px); }
.ue-login-choice {
	display:flex;
	align-items:center;
	gap:12px;
	min-height:56px;
	margin:0 0 8px;
	padding:12px 16px;
	box-sizing:border-box;
	border:1px solid var(--learn-border,#E2E8F0);
	border-radius:12px;
	background:var(--learn-surface,#fff);
	font-weight:600;
	line-height:1.45;
	cursor:pointer;
	word-break:keep-all;
}
.ue-login-choice input { width:1.15rem; height:1.15rem; flex:0 0 auto; margin:0; }
.ue-login-phone .ue-phone {
	display:flex;
	align-items:stretch;
	flex-direction:row;
	flex-wrap:nowrap;
	gap:10px;
	width:100%;
}
.ue-login-phone .ue-input.ue-phone-part {
	flex:1 1 0;
	width:0;
	min-width:0;
	min-height:56px;
	text-align:center;
	letter-spacing:0.08em;
	font-variant-numeric:tabular-nums;
}
.ue-login-phone .ue-input.ue-phone-part:nth-child(1) { flex: 3 1 0; }
.ue-login-phone .ue-input.ue-phone-part:nth-child(3) { flex: 4 1 0; }
.ue-login-phone .ue-input.ue-phone-part:nth-child(5) { flex: 4 1 0; }
.ue-rrn { display:flex; align-items:stretch; gap:10px; }
.ue-rrn-front,
#ueRrnFront { flex:1 1 0; width:0; min-width:0; min-height:56px; text-align:center; letter-spacing:0.08em; font-variant-numeric:tabular-nums; }
.ue-rrn-front::placeholder,
.ue-rrn-front::-webkit-input-placeholder,
.learn-page .ue-rrn-front::placeholder,
.learn-page .ue-rrn-front::-webkit-input-placeholder {
	letter-spacing: -0.3px;
}
.ue-rrn-dash { flex:0 0 auto; align-self:center; color:var(--learn-text-muted,#4B5563); font-size:1.4rem; font-weight:700; line-height:1; }
.ue-rrn-tail { flex:1 1 0; width:0; min-width:0; min-height:56px; display:flex; align-items:center; justify-content:center; gap:2px; box-sizing:border-box; border:1px solid var(--learn-border,#E2E8F0); border-radius:12px; padding:0 12px; background:var(--learn-surface,#fff); }
.ue-rrn-tail.is-focus { border-color: var(--learn-primary,#0961F5); box-shadow: var(--learn-focus, 0 0 0 3px rgba(9, 97, 245, 0.35)); }
.ue-rrn-back,
#ueRrnBack { width:1.3em; flex:0 0 1.3em; border:0; background:transparent; padding:12px 0; text-align:center; font:inherit; font-size:1rem; font-weight:700; letter-spacing:0; font-variant-numeric:tabular-nums; color:var(--learn-text,#202244); }
.ue-rrn-mask { color:var(--learn-text-muted,#4B5563); font-weight:400; letter-spacing:0.12em; font-variant-numeric:tabular-nums; user-select:none; }
@media (max-width: 639px) {
	.ue-rrn { gap:6px; }
	.ue-rrn-front,
	.learn-page .ue-rrn-front {
		padding-left: 10px;
		padding-right: 10px;
	}
	.ue-rrn-front::placeholder,
	.ue-rrn-front::-webkit-input-placeholder,
	.learn-page .ue-rrn-front::placeholder,
	.learn-page .ue-rrn-front::-webkit-input-placeholder {
		letter-spacing: -0.4px;
	}
	.ue-rrn-tail { padding: 0 8px; }
	.ue-rrn-mask { letter-spacing: 0.04em; }
}
@media (max-width: 340px) {
	.ue-rrn {
		flex-wrap: wrap;
		row-gap: 8px;
	}
	.ue-rrn-front,
	.learn-page .ue-rrn-front {
		flex: 1 1 100%;
		width: 100%;
	}
	.ue-rrn-tail {
		flex: 1 1 0;
		width: 0;
		min-width: 0;
	}
	.ue-rrn-dash {
		display: none;
	}
}
.ue-btn,
.learn-page .ue-btn,
.learn-page button.ue-btn,
.learn-page a.ue-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	height: 56px;
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--learn-primary, #0961F5);
	color: var(--learn-on-primary, #fff);
	font: inherit;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.2px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
}
.ue-btn[disabled] { opacity:.55; cursor:not-allowed; }
.ue-btn-ghost,
.learn-page .ue-btn-ghost,
.learn-page button.ue-btn-ghost,
.learn-page a.ue-btn-ghost {
	background: var(--learn-surface, #fff);
	color: var(--learn-primary, #0961F5);
	border-color: var(--learn-border, #E2E8F0);
}
.ue-btn-row { display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.ue-error {
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid var(--learn-danger-border,#FECACA);
	border-radius: 8px;
	background: var(--learn-danger-surface,#FEF2F2);
	color: var(--learn-danger,#B91C1C);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: -0.2px;
	word-break: keep-all;
}
.ue-info {
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid #BFDBFE;
	border-radius: 8px;
	background: #EFF6FF;
	color: #1E3A8A;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: -0.2px;
	word-break: keep-all;
}
.ue-sub + .ue-error,
.ue-sub + .ue-info { margin-top: 0; }
.ue-error > :first-child { margin-top: 0; }
.ue-error > :last-child { margin-bottom: 0; }
.ue-progress { height:14px; background:var(--learn-primary-surface,#E8F1FF); border-radius:99px; overflow:hidden; }
.ue-progress > i { display:block; height:100%; background:var(--learn-primary,#0961F5); }
.ue-lecture { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--learn-border,#E2E8F0); text-decoration:none; color:inherit; }
.ue-lecture:first-child { padding-top:2px; }
.ue-card h3.ue-title { font-size:1.15rem; margin-bottom:10px; }
.ue-home-continue { margin-top: 22px; }
.ue-section-title { font-size: 1.15rem; margin: 0 4px 10px; }
.ue-title + .ue-lecture { padding-top:4px; }
.ue-lecture:last-child { padding-bottom:2px; border-bottom:0; }
.ue-lecture.is-locked { pointer-events:none; color:#aaa; }
.ue-lecture.is-locked .ue-lecture-title,
.ue-lecture.is-locked .ue-lecture-hint,
.ue-lecture.is-locked .ue-lecture-dur { color:#aaa; font-weight:500; }
.ue-lecture-body { flex:1 1 0; min-width:0; overflow:hidden; }
.ue-lecture-title {
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow:hidden;
	font-size:1.02rem;
	line-height:1.45;
	word-break:keep-all;
	overflow-wrap:break-word;
}
.ue-lecture-dur { display:block; margin-top:2px; font-weight:500; color:var(--learn-text-muted,#6B7280); }
.ue-lecture-hint { margin-top:4px; color:var(--learn-text-muted,#4B5563); font-size:0.85rem; font-weight:500; line-height:1.5; word-break:keep-all; }
.ue-lecture-meter { display:flex; align-items:center; gap:10px; margin-top:4px; min-width:0; }
.ue-lecture-meter-track { flex:1; height:10px; border-radius:99px; background:var(--learn-primary-surface,#E8F1FF); overflow:hidden; }
.ue-lecture-meter-fill { display:block; height:100%; border-radius:inherit; background:var(--learn-primary,#0961F5); }
.ue-lecture-meter-pct { flex:0 0 auto; color:var(--learn-text-muted,#4B5563); font-size:0.9rem; font-weight:700; }
.ue-badge { font-size:0.8rem; font-weight:700; padding:6px 10px; border-radius:99px; background:var(--learn-primary-surface,#E8F1FF); color:var(--learn-primary-dark,#0747C4); }
.ue-badge-watch,
.learn-page .ue-badge-watch,
.ue-badge.lock,
.learn-page .ue-badge.lock,
.ue-badge.done,
.learn-page .ue-badge.done {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	min-width: 56px;
	width: 56px;
	min-height: 56px;
	height: 56px;
	flex: 0 0 56px;
}
.ue-badge-watch,
.learn-page .ue-badge-watch {
	background: var(--learn-primary, #0961F5);
	color: var(--learn-on-primary, #fff);
}
.ue-badge.lock,
.learn-page .ue-badge.lock {
	background: var(--learn-surface-alt, #E5E7EB);
	color: #888;
}
.ue-badge.done,
.learn-page .ue-badge.done {
	background: var(--learn-secondary, #167F71);
	color: var(--learn-on-primary, #fff);
}
.ue-badge-watch svg,
.ue-badge.lock svg,
.ue-badge.done svg {
	display: block;
	width: 26px;
	height: 26px;
}
.ue-badge-watch svg {
	margin-left: 3px;
	fill: currentColor;
}
.ue-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:14px 0 0; }
.learn-page a.ue-btn.ue-home-link-study {
	background: var(--learn-primary, #0961F5);
	color: var(--learn-on-primary, #fff);
}
.learn-page a.ue-btn.ue-home-link-cert {
	background: var(--learn-secondary, #167F71);
	color: var(--learn-on-primary, #fff);
}
.ue-muted { margin:0; color:var(--learn-text-muted,#4B5563); font-size:0.9rem; }
.ue-player-meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.ue-player-meta #ueClock { margin-left: auto; text-align: right; }
.ue-card > :last-child { margin-bottom:0; }
.ue-player {
	position: relative;
	overflow: visible;
	background: #000;
}
.ue-player video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	object-position: center;
	background: #000;
}
.ue-player > .ue-player-title {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 2;
	margin: 0;
	padding: 12px 14px 36px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.72) 0%, transparent 100%);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
	word-break: keep-all;
	pointer-events: none;
	box-sizing: border-box;
}
.ue-player-title-pause { display: none; font-weight: 500; }
.ue-player.is-paused.has-played .ue-player-title-pause { display: inline; }
.ue-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.ue-settings {
	position: relative;
	z-index: 5;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	box-sizing: border-box;
}
.ue-settings.is-open {
	background: rgba(20, 20, 20, 0.92);
	border-radius: 0 0 12px 12px;
}
.ue-settings #ueSettings {
	position: relative;
	z-index: 2;
}
.ue-settings-panel {
	display: none;
	position: absolute;
	left: 50%;
	right: auto;
	bottom: 34px;
	width: max-content;
	min-width: 40px;
	padding: 8px;
	border-radius: 12px;
	background: rgba(20, 20, 20, 0.92);
	box-shadow: none;
	transform: translateX(-50%);
	box-sizing: border-box;
}
.ue-settings.is-open .ue-settings-panel { display: block; }
.ue-settings-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	margin-bottom: 8px;
}
.ue-settings-row:last-child { margin-bottom: 0; }
.ue-settings-row[hidden] { display: none; }
.ue-settings-label {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
}
.ue-settings-opts {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
}
.ue-settings-panel .ue-quality,
.ue-settings-panel #ueQuality,
.ue-settings-panel #ueRate { display: none !important; }
.ue-chip,
.learn-page .ue-chip,
.learn-page button.ue-chip {
	min-width: 36px;
	height: 28px;
	min-height: 28px;
	padding: 0 8px;
	border: 0;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}
.ue-chip.is-on,
.learn-page .ue-chip.is-on,
.learn-page button.ue-chip.is-on {
	background: #e11d2e;
	color: #fff;
}
.ue-quality-busy {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 3;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.46);
	pointer-events: none;
}
.ue-quality-busy:not([hidden]) { display: flex; }
.ue-quality-busy-card {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	border-radius: 999px;
	background: rgba(17, 17, 17, 0.88);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
}
.ue-quality-busy-spin {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.28);
	border-top-color: #fff;
	border-radius: 50%;
	animation: ue-spin 0.7s linear infinite;
}
@keyframes ue-spin {
	to { transform: rotate(360deg); }
}
.ue-player.is-paused .ue-ico-pause { display: none; }
.ue-player:not(.is-paused) .ue-ico-play { display: none; }
.ue-player-dock {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px 12px 10px;
	background: #141414;
	box-sizing: border-box;
	overflow: visible;
}
.ue-player:fullscreen .ue-player-dock,
.ue-player:-webkit-full-screen .ue-player-dock,
.ue-player.is-full .ue-player-dock {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 8px 10px 8px;
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.22) 36%, rgba(0, 0, 0, 0.42) 100%);
}
.ue-player:fullscreen .ue-dock-scrub,
.ue-player:fullscreen .ue-dock-clock,
.ue-player:-webkit-full-screen .ue-dock-scrub,
.ue-player:-webkit-full-screen .ue-dock-clock,
.ue-player.is-full .ue-dock-scrub,
.ue-player.is-full .ue-dock-clock {
	display: none;
}
.ue-dock-scrub {
	position: relative;
	height: 18px;
	cursor: pointer;
	touch-action: none;
	--ue-scrub: 0%;
	--ue-watched: 0%;
}
.ue-dock-scrub::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 4px;
	margin-top: -2px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.22);
}
.ue-dock-scrub-watched {
	position: absolute;
	left: 0;
	top: 50%;
	height: 4px;
	margin-top: -2px;
	width: var(--ue-watched, 0%);
	background: rgba(255, 255, 255, 0.5);
	border-radius: 99px;
	pointer-events: none;
}
.ue-dock-scrub-fill {
	position: absolute;
	left: 0;
	top: 50%;
	height: 4px;
	margin-top: -2px;
	width: var(--ue-scrub, 0%);
	background: #e11d2e;
	border-radius: 99px;
	pointer-events: none;
}
.ue-dock-scrub-knob {
	position: absolute;
	top: 50%;
	left: var(--ue-scrub, 0%);
	width: 14px;
	height: 14px;
	margin-left: -7px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
	transform: translateY(-50%);
	pointer-events: none;
}
.ue-dock-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 40px;
	overflow: visible;
}
.ue-dock-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	min-width: 0;
	margin-left: auto;
	overflow: visible;
}
.ue-dock-clock {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	width: 100%;
	max-width: none;
	margin: 0 0 2px;
	padding: 2px 4px;
	box-sizing: border-box;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.2;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	user-select: none;
}
.ue-dock-btn,
.learn-page .ue-dock-btn,
.learn-page button.ue-dock-btn {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ue-dock-btn[hidden] { display: none !important; }
.ue-player-dock .ue-dock-btn:focus,
.ue-player-dock .ue-dock-btn:focus-visible,
.ue-player-dock .ue-dock-btn:active,
.learn-page .ue-player-dock button.ue-dock-btn:focus,
.learn-page .ue-player-dock button.ue-dock-btn:focus-visible,
.learn-page .ue-player-dock button.ue-dock-btn:active {
	outline: none;
	box-shadow: none;
	background: transparent;
	color: #fff;
}
.ue-dock-btn svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}
.ue-dock-btn svg path[stroke] {
	fill: none;
}
.ue-dock-btn.ue-dock-text,
.learn-page .ue-dock-btn.ue-dock-text {
	width: 48px;
	flex: 0 0 48px;
	min-width: 48px;
	padding: 0;
	font-size: 0.8rem;
	letter-spacing: 0;
}
.ue-dock-btn.is-on,
.learn-page .ue-dock-btn.is-on {
	background: transparent;
	color: #fff;
}
.ue-mute .ue-ico-off,
.ue-player:not(.is-full) #ueFull .ue-ico-off,
.ue-player.is-full #ueFull .ue-ico-on,
.ue-mute.is-muted .ue-ico-on { display: none; }
.ue-mute.is-muted .ue-ico-off { display: block; }
.ue-vol-wrap {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: transparent;
	overflow: visible;
	box-sizing: border-box;
}
.ue-vol-wrap.is-open {
	width: 40px;
	background: rgba(20, 20, 20, 0.92);
	border-radius: 0 0 12px 12px;
}
.ue-vol-wrap.is-locked {
	width: 40px;
	background: transparent;
	border-radius: 12px;
}
.ue-vol-wrap .ue-mute,
.learn-page .ue-vol-wrap .ue-mute,
.learn-page button.ue-vol-wrap .ue-mute {
	position: relative;
	z-index: 2;
	flex: 0 0 40px;
	width: 40px;
	background: transparent;
}
.ue-vol {
	position: absolute;
	left: 0;
	bottom: 36px;
	width: 40px;
	height: 0;
	margin: 0;
	padding: 0;
	border-radius: 12px 12px 0 0;
	background: rgba(20, 20, 20, 0.92);
	opacity: 0;
	pointer-events: none;
	cursor: pointer;
	touch-action: none;
	box-sizing: border-box;
	overflow: hidden;
}
.ue-vol::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 18px;
	bottom: 6px;
	width: 6px;
	margin-left: -3px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.22);
}
.ue-vol-wrap.is-open .ue-vol {
	height: 118px;
	opacity: 1;
	pointer-events: auto;
	overflow: visible;
}
.ue-vol-wrap.is-locked .ue-vol {
	display: none;
}
.ue-vol-fill {
	position: absolute;
	left: 50%;
	bottom: 6px;
	width: 6px;
	height: calc((100% - 24px) * var(--ue-vol-n, 1));
	margin-left: -3px;
	background: #e11d2e;
	border-radius: 99px;
	pointer-events: none;
}
.ue-vol-knob {
	position: absolute;
	left: 50%;
	bottom: calc(6px + (100% - 24px) * var(--ue-vol-n, 1));
	width: 14px;
	height: 14px;
	margin: 0 0 -7px -7px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
	transform: none;
	pointer-events: none;
}
.ue-player:fullscreen,
.ue-player:-webkit-full-screen {
	width: 100%;
	height: 100%;
	background: #000;
}
.ue-player:fullscreen video,
.ue-player:-webkit-full-screen video {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.ue-player-ui { background:var(--learn-surface,#fff); padding:16px; border-top:1px solid var(--learn-border,#E2E8F0); }
.ue-player-hint { margin:0 0 12px; color:var(--learn-text-muted,#4B5563); font-size:0.85rem; line-height:1.5; }
.ue-player-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.ue-text-link,
.learn-page a.ue-text-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	width: auto;
	min-height: 44px;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--learn-text-muted, #4B5563);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: underline;
	cursor: pointer;
}
.ue-player:not(.is-paused) + .ue-player-ui #uePlay,
.learn-page .ue-player:not(.is-paused) + .ue-player-ui #uePlay { display: none; }
.ue-player.is-paused + .ue-player-ui #uePauseText,
.learn-page .ue-player.is-paused + .ue-player-ui #uePauseText { display: none; }
.ue-player-overlay {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 3;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.72);
	box-sizing: border-box;
}
.ue-player-overlay.is-on { display: flex; }
.ue-player-panel {
	width: 100%;
	max-width: 360px;
	padding: 20px 18px;
	border-radius: 16px;
	background: var(--learn-surface,#fff);
	color: var(--learn-heading,#1F2937);
	text-align: center;
}
.ue-player-panel p { margin: 0 0 16px; font-size: 1.05rem; font-weight: 700; line-height: 1.5; word-break: keep-all; }
.ue-notice { background:var(--learn-notice-bg,#FFF4E6); color:var(--learn-notice-text,#9A3412); padding:12px 14px; border-radius:10px; font-size:0.95rem; margin:8px 0; }
.ue-cert { text-align:center; }
.ue-cert p { margin:0 0 6px; line-height:1.6; }
.ue-cert .ue-title { margin-bottom:12px; }
.ue-cert .ue-btn { margin-top:20px; }
.learn-page.is-cert .learn-content {
	display: flex;
	flex-direction: column;
}
.ue-cert-page { display:flex; flex-direction:column; gap:0; min-width:0; flex:1 1 auto; min-height:0; }
.ue-cert-preview {
	position: relative;
	overflow: hidden;
	touch-action: none;
	flex: 1 1 auto;
	min-height: min(72vh, 560px);
	border: 0;
	border-radius: 12px;
	background: #f3f4f6;
}
@font-face {
	font-family: 'UeCertMyeongjo';
	src: url('../fonts/NanumMyeongjo-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'UeCertMyeongjo';
	src: url('../fonts/NanumMyeongjo-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
.ue-cert-sheet {
	position: absolute;
	top: 16px;
	left: 50%;
	width: 210mm;
	height: 297mm;
	margin: 0;
	box-sizing: border-box;
	padding: 12mm 0 0;
	border: none;
	background: #fff;
	color: #111;
	box-shadow: none;
	font-family: 'UeCertMyeongjo', 'Apple Myungjo', Batang, 'Times New Roman', serif;
	transform-origin: top center;
}
.ue-cert-sheet *,
.ue-cert-frame {
	font-family: 'UeCertMyeongjo', 'Apple Myungjo', Batang, 'Times New Roman', serif;
}
.ue-cert-frame {
	box-sizing: border-box;
	width: 105mm;
	max-width: 50%;
	margin: 0 auto;
	padding: 3.5mm 3mm 4mm;
	border: 2.4px solid #111;
	background: #fff;
}
.ue-cert-no { margin: 0 0 2mm; font-size: 10pt; letter-spacing: 0; }
.ue-cert-heading { margin: 0 -0.42em 2.5mm 0; text-align: center; font-size: 14pt; font-weight: 700; letter-spacing: 0.42em; }
.ue-cert-fields {
	display: grid;
	grid-template-columns: var(--ue-label-w, max-content) 0.75em minmax(0, 1fr);
	column-gap: 4px;
	row-gap: 1.1mm;
	align-items: baseline;
	margin: 0 0 2mm;
	padding: 0;
	font-size: 11pt;
	line-height: 1.25;
}
.ue-cert-fields > div { display: contents; }
.ue-cert-fields dt { margin: 0; font-weight: 400; white-space: nowrap; box-sizing: border-box; }
.ue-cert-fields dt.is-spread { display: flex; justify-content: space-between; width: 100%; }
.ue-cert-fields dt.is-spread span { letter-spacing: 0; }
.ue-cert-fields dd { margin: 0; min-width: 0; font-weight: 700; }
.ue-cert-legal { margin: 0 0 2mm; text-align: center; font-size: 10pt; font-weight: 400; line-height: 1.4; word-break: keep-all; }
.ue-cert-issuer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: 1.8mm; margin: 0; }
.ue-cert-issuer { grid-column: 2; margin: 0; text-align: center; font-size: 11pt; font-weight: 700; letter-spacing: -0.04em; line-height: 1.3; white-space: nowrap; }
.ue-cert-seal { grid-column: 3; justify-self: start; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; width: 8mm; height: 8mm; margin: 0; padding: 0; border: 1px solid #111; font-size: 6.5pt; font-weight: 400; letter-spacing: 0; line-height: 1.15; text-align: center; white-space: nowrap; }
.ue-cert-seal > span { display: block; }
.ue-cert-actions { padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); }
.ue-print { width:210mm; min-height:297mm; margin:0 auto; padding:18mm; box-sizing:border-box; background:#fff; }
.ue-portal { --ue-p-navy:#0B2A6F; --ue-p-blue:#1458D4; --ue-p-green:#0E7C3A; --ue-p-btn-taxi:#0B3FA8; --ue-p-btn-bus:#0E7A3A; --ue-p-sky:#E3EFFC; padding-bottom:8px; min-width:0; }
:root[data-learn-theme="dark"] .ue-portal { --ue-p-navy:#E6EEFB; --ue-p-blue:#86B5FF; --ue-p-green:#72D69E; --ue-p-btn-taxi:#2F6FE0; --ue-p-btn-bus:#1C8A4B; --ue-p-sky:#16213A; }
:root[data-learn-theme="contrast"] .ue-portal { --ue-p-navy:#000; --ue-p-blue:#0B3B8C; --ue-p-green:#0A4F46; --ue-p-btn-taxi:#0B3B8C; --ue-p-btn-bus:#0A4F46; --ue-p-sky:#fff; }
.ue-hero { position:relative; margin:-16px -16px 20px; padding:24px 20px 18px; background:var(--ue-p-sky); overflow:hidden; }
.ue-hero-body { position:relative; z-index:1; min-width:0; }
.ue-hero-logo { display:block; width:auto; max-width:180px; max-height:52px; margin:0 0 14px; object-fit:contain; }
.ue-hero-badge { display:inline-block; margin:0 0 12px; padding:5px 14px; border-radius:999px; background:var(--ue-p-btn-taxi); color:#fff; font-size:0.75rem; font-weight:700; line-height:1.3; letter-spacing:0; }
.ue-hero-title { margin:0 0 14px; font-size:1.2rem; line-height:1.3; font-family:'ONEMobileTitle', 'ONEMobile', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; font-weight:400; font-synthesis:none; color:var(--ue-p-navy); letter-spacing:-0.8px; word-break:keep-all; }
.ue-hero-city { display:block; font-size:1.75rem; line-height:1.2; letter-spacing:-1px; }
.ue-hero-course { display:block; margin-top:6px; }
.ue-hero-blue { color:var(--ue-p-blue); white-space:nowrap; }
.ue-hero-green { color:var(--ue-p-green); white-space:nowrap; }
.ue-hero-slash { margin:0 0.3em; }
.ue-hero-lead { margin:0 0 14px; color:var(--learn-heading,#12233A); font-size:0.95rem; line-height:1.6; letter-spacing:-0.3px; word-break:keep-all; max-width:30em; }
.ue-hero-lead strong { color:var(--ue-p-blue); font-weight:800; }
.ue-hero-notes { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.ue-hero-notes li { display:flex; align-items:flex-start; gap:8px; margin:0; color:var(--learn-text-muted,#4B5563); font-size:0.82rem; line-height:1.55; letter-spacing:-0.2px; word-break:keep-all; }
.ue-hero-notes svg { flex:0 0 18px; width:18px; height:18px; margin-top:0.18em; color:var(--ue-p-blue); }
.ue-hero-visual { aspect-ratio:8 / 7; margin:8px -20px 0; background:linear-gradient(180deg, var(--ue-p-sky) 0%, transparent 8%), url("../img/portal-hero-sm.jpg?v=4") 100% 0 / 175% auto no-repeat; }
:root[data-learn-theme="dark"] .ue-hero-visual { filter:brightness(.78) saturate(.9); }
.ue-steps { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:0 12px; margin:-12px 0 0; padding:14px 10px; list-style:none; background:color-mix(in srgb, var(--learn-surface,#fff) 92%, transparent); border:1px solid var(--learn-border,#E2E8F0); border-radius:16px; box-shadow:0 8px 20px rgba(11,42,111,0.08); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ue-steps li { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; margin:0; color:var(--learn-heading,#12233A); font-size:0.78rem; font-weight:700; letter-spacing:-0.3px; line-height:1.3; text-align:center; word-break:keep-all; }
.ue-steps li:not(:last-child)::after { content:""; position:absolute; top:10px; right:-9px; width:7px; height:7px; border-top:2px solid var(--learn-bullet,#9CA3AF); border-right:2px solid var(--learn-bullet,#9CA3AF); transform:rotate(45deg); pointer-events:none; }
.ue-steps-num { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--ue-p-btn-taxi); color:#fff; font-size:0.72rem; font-weight:800; line-height:1; }
@media (min-width: 420px) {
	.ue-steps li { flex-direction:row; gap:8px; }
	.ue-steps li:not(:last-child)::after { top:50%; margin-top:-4px; }
}
.ue-hero-slogan { display:none; }
.ue-hero-notes-sum { display:none !important; }
@media (max-width: 599px) {
	.ue-hero { padding:22px 20px 16px; background:linear-gradient(180deg, var(--ue-p-sky) 0%, var(--ue-p-sky) 34%, color-mix(in srgb, var(--ue-p-sky) 72%, transparent) 45%, transparent 56%), url("../img/portal-hero-ns.jpg?v=1") 100% calc(100% - 50px) / 175% auto no-repeat, var(--ue-p-sky); }
	:root[data-learn-theme="dark"] .ue-hero { background:linear-gradient(180deg, var(--ue-p-sky) 0%, var(--ue-p-sky) 36%, color-mix(in srgb, var(--ue-p-sky) 80%, transparent) 47%, transparent 58%), linear-gradient(rgba(17,21,28,0.4), rgba(17,21,28,0.4)), url("../img/portal-hero-ns.jpg?v=1") 100% calc(100% - 50px) / 175% auto no-repeat, var(--ue-p-sky); }
	.ue-hero-slogan { display:block; position:absolute; top:18px; right:14px; z-index:1; width:min(40vw, 170px); aspect-ratio:320 / 116; background:url("../img/portal-slogan.png?v=1") center / contain no-repeat; pointer-events:none; }
	:root[data-learn-theme="dark"] .ue-hero-slogan { filter:brightness(0) invert(.92); }
	.ue-hero-notes li { display:none; }
	.ue-hero-notes li.ue-hero-notes-sum { display:flex !important; }
	.ue-hero-visual { aspect-ratio:auto; height:calc(70vw - 27px); margin:0; background:none; filter:none; }
	.ue-steps { margin:0; }
	:root[data-learn-theme="contrast"] .ue-hero { background:var(--ue-p-sky); }
	:root[data-learn-theme="contrast"] .ue-hero-slogan { display:none; }
}
:root[data-learn-theme="contrast"] .ue-hero { border-bottom:2px solid #000; }
:root[data-learn-theme="contrast"] .ue-hero-visual { display:none; }
:root[data-learn-theme="contrast"] .ue-steps { margin-top:18px; box-shadow:none; }
.ue-svc-section { min-width:0; }
.ue-svc-grid { display:flex; flex-direction:column; }
.ue-notice-official { background:var(--learn-primary-surface,#F4F7FB); color:var(--learn-heading,#1E3A5F); border:1px solid var(--learn-border-strong,#D5DEEA); border-radius:24px; }
.ue-official-card { border-radius:28px; background-repeat:no-repeat; background-position:right center; background-size:auto 100%; }
.ue-official-card.is-taxi { background-image:linear-gradient(90deg, var(--learn-surface,#fff) 0%, var(--learn-surface,#fff) 40%, color-mix(in srgb, var(--learn-surface,#fff) 72%, transparent) 58%, color-mix(in srgb, var(--learn-surface,#fff) 28%, transparent) 76%, transparent 100%), url("../img/svc-taxi-bg.png"); }
.ue-official-card.is-bus { background-image:linear-gradient(90deg, var(--learn-surface,#fff) 0%, var(--learn-surface,#fff) 40%, color-mix(in srgb, var(--learn-surface,#fff) 72%, transparent) 58%, color-mix(in srgb, var(--learn-surface,#fff) 28%, transparent) 76%, transparent 100%), url("../img/svc-bus-bg.png"); }
.ue-official-card .ue-input, .ue-official-card .ue-rrn-tail { background: rgba(255, 255, 255, 0.65); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.ue-official-card .ue-btn { background: color-mix(in srgb, var(--learn-primary,#0961F5) 85%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.ue-official-card .ue-btn.ue-btn-ghost { background: var(--learn-surface, #fff); backdrop-filter: none; -webkit-backdrop-filter: none; }
.ue-svc { background:var(--learn-surface,#fff); border:1px solid var(--learn-border-strong,#D5DEEA); border-radius:20px; padding:20px 18px 18px; margin-bottom:12px; box-sizing:border-box; max-width:100%; min-width:0; overflow:hidden; background-repeat:no-repeat; background-position:right center; background-size:auto 115%; box-shadow:0 8px 24px rgba(11,42,111,0.07); }
.ue-svc.is-taxi { background-image:linear-gradient(90deg, var(--learn-surface,#fff) 0%, var(--learn-surface,#fff) 40%, color-mix(in srgb, var(--learn-surface,#fff) 72%, transparent) 58%, color-mix(in srgb, var(--learn-surface,#fff) 28%, transparent) 76%, transparent 100%), url("../img/svc-taxi-bg.png"); }
.ue-svc.is-bus { background-image:linear-gradient(90deg, var(--learn-surface,#fff) 0%, var(--learn-surface,#fff) 40%, color-mix(in srgb, var(--learn-surface,#fff) 72%, transparent) 58%, color-mix(in srgb, var(--learn-surface,#fff) 28%, transparent) 76%, transparent 100%), url("../img/svc-bus-bg.png"); }
.ue-svc-label { margin:0 0 8px; color:var(--learn-official,#0B3B8C); font-size:0.8rem; font-weight:700; letter-spacing:0.05em; }
.ue-svc.is-bus .ue-svc-label { color:var(--learn-secondary,#167F71); }
.ue-svc-label + .ue-title { margin-bottom:12px; }
.ue-svc-head { display:flex; align-items:center; gap:14px; margin:0 0 16px; }
.ue-svc-head > div { min-width:0; }
.ue-svc-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:var(--ue-p-btn-taxi); color:#fff; box-shadow:0 6px 14px rgba(11,63,168,0.25); }
.ue-svc.is-bus .ue-svc-icon { background:var(--ue-p-btn-bus); box-shadow:0 6px 14px rgba(14,122,58,0.25); }
.ue-svc-icon svg { width:28px; height:28px; fill:currentColor; }
.ue-svc-title { margin:0 0 4px; font-size:1.05rem; line-height:1.35; font-weight:700; color:var(--ue-p-navy); letter-spacing:-0.4px; word-break:keep-all; }
.ue-svc-help { margin:0; color:var(--learn-text-muted,#4B5563); font-size:0.8rem; line-height:1.5; word-break:keep-all; }
.ue-chev { flex:0 0 auto; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.learn-page .ue-svc .ue-btn,
.learn-page .ue-svc a.ue-btn { gap:6px; border:0; background:var(--ue-p-btn-taxi); color:#fff; box-shadow:0 6px 16px rgba(11,63,168,0.22); }
.learn-page .ue-svc.is-bus .ue-btn,
.learn-page .ue-svc.is-bus a.ue-btn { background:var(--ue-p-btn-bus); box-shadow:0 6px 16px rgba(14,122,58,0.22); }
.learn-page .ue-svc .ue-btn:hover,
.learn-page .ue-svc .ue-btn:focus-visible { filter:brightness(1.08); }
.ue-svc-check { display:flex; align-items:center; justify-content:center; gap:4px; width:100%; max-width:100%; box-sizing:border-box; margin-top:10px; padding:0 16px; height:52px; min-height:52px; border:2px solid var(--learn-border-strong,#D5DEEA); border-radius:999px; background:color-mix(in srgb, var(--learn-surface,#fff) 85%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:var(--learn-heading,#12233A); font-size:0.88rem; font-weight:700; line-height:1; text-align:center; text-decoration:none; }
.ue-svc-check:hover,
.ue-svc-check:focus-visible { border-color:var(--ue-p-btn-taxi); color:var(--ue-p-btn-taxi); }
.ue-svc.is-bus .ue-svc-check:hover,
.ue-svc.is-bus .ue-svc-check:focus-visible { border-color:var(--ue-p-btn-bus); color:var(--ue-p-btn-bus); }
:root[data-learn-theme="dark"] .ue-svc-check:hover,
:root[data-learn-theme="dark"] .ue-svc-check:focus-visible { color:var(--learn-heading); }
.ue-sched-badge { display:inline-flex; align-items:center; flex:0 0 auto; padding:3px 10px; border-radius:999px; background:var(--learn-primary-surface,#E8F1FF); color:var(--learn-official,#0B3B8C); font-size:0.72rem; font-weight:800; line-height:1.3; letter-spacing:0; white-space:nowrap; font-variant-numeric:tabular-nums; }
.is-today .ue-sched-badge { background:var(--learn-accent,#FF6B00); color:#fff; }
.is-after .ue-sched-badge { background:var(--learn-secondary-surface,#E0F5F1); color:var(--learn-secondary,#167F71); }
:root[data-learn-theme="dark"] .is-today .ue-sched-badge { color:#1B1206; }
.ue-sched { margin:0 0 12px; min-width:0; }
.ue-manual-banner { display:flex; align-items:center; gap:10px; box-sizing:border-box; width:100%; min-height:56px; margin:0 0 16px; padding:10px 14px; border-radius:16px; background:linear-gradient(90deg, #E46316 0%, #F37021 58%, #FF8C42 100%); color:#fff; text-decoration:none; box-shadow:0 6px 16px rgba(243,112,33,0.28); }
.ue-manual-banner:hover,
.ue-manual-banner:focus-visible { filter:brightness(1.06); }
.ue-manual-banner:focus-visible { outline:3px solid var(--learn-heading,#12233A); outline-offset:3px; }
.ue-manual-banner-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.22); }
.ue-manual-banner-icon svg { width:20px; height:20px; }
.ue-manual-banner-label { flex:1 1 auto; min-width:0; font-size:clamp(0.92rem, 3.7vw, 1.05rem); font-weight:800; letter-spacing:-0.4px; line-height:1.3; word-break:keep-all; }
.ue-manual-banner-go { display:inline-flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; }
.ue-manual-banner-go svg { width:20px; height:20px; }
:root[data-learn-theme="dark"] .ue-manual-banner { background:linear-gradient(90deg, #E46316 0%, #F37021 58%, #FF8C42 100%); color:#fff; box-shadow:none; }
:root[data-learn-theme="dark"] .ue-manual-banner:focus-visible { outline-color:#E6EEFB; }
:root[data-learn-theme="contrast"] .ue-manual-banner { background:#F37021; color:#fff; border:2px solid #000; box-shadow:none; filter:none; }
:root[data-learn-theme="contrast"] .ue-manual-banner:focus-visible { outline:3px solid #000; outline-offset:3px; }
@media (max-width: 359px) {
	.ue-manual-banner { gap:8px; padding:10px 12px; }
	.ue-manual-banner-icon { flex-basis:32px; width:32px; height:32px; }
	.ue-manual-banner-label { font-size:0.86rem; }
}
.ue-sched-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:0 2px 10px; }
.ue-sched-title { display:flex; align-items:center; gap:6px; margin:0; color:var(--learn-heading,#12233A); font-size:1rem; line-height:1.3; letter-spacing:-0.4px; }
.ue-sched-title svg { flex:0 0 20px; width:20px; height:20px; color:var(--ue-p-btn-taxi,#0B3FA8); }
.ue-sched-sub { margin:0; color:var(--learn-text-muted,#4B5563); font-size:0.75rem; white-space:nowrap; }
.ue-sched-list { display:flex; gap:10px; margin:0 -16px; padding:2px 16px 12px; list-style:none; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:16px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.ue-sched-list::-webkit-scrollbar { display:none; }
.ue-sched-item { display:flex; flex:0 0 44%; flex-direction:column; align-items:flex-start; gap:4px; min-width:150px; margin:0; padding:14px 14px 12px; border:1px solid var(--learn-border-strong,#D5DEEA); border-radius:16px; background:var(--learn-surface,#fff); box-shadow:0 4px 14px rgba(11,42,111,0.06); box-sizing:border-box; scroll-snap-align:start; }
.ue-sched-type { display:inline-flex; align-items:center; gap:6px; color:var(--learn-text-muted,#4B5563); font-size:0.8rem; font-weight:700; line-height:1.3; }
.ue-sched-type::before { content:""; flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:var(--ue-p-btn-taxi,#0B3FA8); }
.is-bus .ue-sched-type::before { background:var(--ue-p-btn-bus,#0E7A3A); }
.ue-sched-date { display:flex; flex-wrap:nowrap; white-space:nowrap; align-items:baseline; gap:0 3px; color:var(--learn-heading,#12233A); line-height:1.25; }
.ue-sched-date strong { font-size:1.05rem; font-weight:800; letter-spacing:-0.5px; font-variant-numeric:tabular-nums; }
.ue-sched-date em { color:var(--learn-text-muted,#4B5563); font-size:0.8rem; font-style:normal; font-weight:600; }
.ue-sched-item .ue-sched-badge { margin-top:4px; }
.ue-sched-mini { margin:0 0 16px; padding:10px 12px; border:1px solid var(--learn-border-strong,#D5DEEA); border-radius:14px; background:color-mix(in srgb, var(--learn-surface,#fff) 82%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.ue-sched-mini-title { margin:0 0 6px; color:var(--learn-official,#0B3B8C); font-size:0.72rem; font-weight:800; letter-spacing:0.02em; }
.ue-sched-mini ul { display:grid; gap:4px; margin:0; padding:0; list-style:none; }
.ue-sched-mini li { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:6px; margin:0; color:var(--learn-heading,#12233A); font-size:0.78rem; line-height:1.2; white-space:nowrap; }
.ue-sched-mini-type { min-width:0; color:var(--learn-text-muted,#4B5563); font-weight:600; }
.ue-sched-mini li strong { font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-0.02em; }
.ue-sched-mini li .ue-sched-badge { margin-left:0; padding:2px 7px; font-size:0.68rem; }
@media (min-width: 768px) {
	.ue-sched-list { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; margin:0; padding:0; overflow:visible; }
	.ue-sched-item { min-width:0; padding:16px 16px 14px; }
	.ue-sched-date strong { font-size:1.25rem; }
}
.ue-portal-links { display:flex; flex-direction:column; gap:12px; margin:18px 2px 8px; }
.ue-portal-links a { color:var(--learn-link,#0B6B3F); font-size:0.95rem; font-weight:700; text-decoration:underline; min-height:44px; display:flex; align-items:center; }
.ue-portal-links a span { margin-left:4px; }
.ue-manual { margin:0; padding-left:20px; color:var(--learn-heading,#1F2937); font-size:0.95rem; line-height:1.7; }
.ue-manual li { margin-bottom:12px; word-break:keep-all; }
.ue-manual li:last-child { margin-bottom:0; }
.ue-company-list { list-style:none; margin:0; padding:0; }
.ue-company-list li { display:flex; flex-direction:column; gap:4px; padding:13px 0; border-bottom:1px solid var(--learn-border,#E2E8F0); }
.ue-company-list li:last-child { padding-bottom:2px; border-bottom:0; }
.ue-link-back { color:var(--learn-official,#0B3B8C); font-size:0.95rem; font-weight:700; text-decoration:underline; }
.ue-logout { margin:18px 0 0; text-align:center; }
.learn-page .ue-logout button {
	display:inline-flex;
	align-items:center;
	width:auto;
	min-height:44px;
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	background:none;
	box-shadow:none;
	color:var(--learn-text-muted,#4B5563);
	font:inherit;
	font-size:0.95rem;
	font-weight:500;
	line-height:1.5;
	text-decoration:underline;
	cursor:pointer;
}
.ue-dl { margin:0; }
.ue-dl div { display:flex; gap:12px; padding:13px 0; border-bottom:1px solid var(--learn-border,#E2E8F0); line-height:1.55; }
.ue-dl div:first-child { padding-top:2px; }
.ue-dl div:last-child { padding-bottom:2px; border-bottom:0; }
.ue-dl dt { flex:0 0 6.5em; margin:0; color:var(--learn-text-muted,#4B5563); font-weight:700; }
.ue-dl dd { flex:1 1 auto; margin:0; font-weight:500; word-break:keep-all; }
.ue-contact { margin:16px 0 0; color:var(--learn-text-muted,#4B5563); font-size:0.9rem; line-height:1.5; }
.ue-queue { text-align:center; }
.ue-queue .ue-title {
	padding-bottom:12px;
	margin-bottom:0;
	border-bottom:1px solid var(--learn-border,#E2E8F0);
}
.ue-queue-status {
	margin:16px 0 0;
	color:var(--learn-text-secondary,#545454);
	font-size:1.05rem;
	font-weight:500;
	line-height:1.55;
	word-break:keep-all;
}
.ue-queue-count {
	display:inline-block;
	font-variant-numeric:tabular-nums;
}
.ue-queue-count.is-change { animation:ue-queue-pop .45s ease; }
.ue-queue-dots { display:flex; justify-content:center; gap:8px; margin:18px 0 12px; }
.ue-queue-dots i {
	width:8px; height:8px; border-radius:50%;
	background:var(--learn-primary,#0961F5);
	animation:ue-queue-dot 1.2s ease-in-out infinite;
}
.ue-queue-warn {
	margin:4px 0 0;
	padding:10px 14px;
	border-radius:12px;
	background:var(--learn-notice-bg,#FFF4E6);
	color:var(--learn-notice-text,#9A3412);
	font-size:0.92rem;
	font-weight:600;
	line-height:1.55;
	word-break:keep-all;
}
.ue-queue-dots i:nth-child(2) { animation-delay:.15s; }
.ue-queue-dots i:nth-child(3) { animation-delay:.3s; }
@keyframes ue-queue-pop {
	0% { transform:scale(1.28); }
	70% { transform:scale(.94); }
	100% { transform:scale(1); }
}
@keyframes ue-queue-dot {
	0%,80%,100% { transform:translateY(0); opacity:.35; }
	40% { transform:translateY(-6px); opacity:1; }
}
@media (prefers-reduced-motion: reduce) {
	.ue-queue-count, .ue-queue-dots i { animation:none; }
}
@media (min-width: 600px) {
	.ue-hero { display:flex; flex-direction:column; justify-content:center; min-height:400px; padding:40px 32px 28px; background:linear-gradient(90deg, var(--ue-p-sky) 0%, color-mix(in srgb, var(--ue-p-sky) 88%, transparent) 40%, transparent 64%), url("../img/portal-hero.jpg?v=4") 100% 50% / auto 100% no-repeat, var(--ue-p-sky); }
	:root[data-learn-theme="dark"] .ue-hero { background:linear-gradient(90deg, var(--ue-p-sky) 0%, color-mix(in srgb, var(--ue-p-sky) 90%, transparent) 42%, transparent 66%), linear-gradient(rgba(17,21,28,0.4), rgba(17,21,28,0.4)), url("../img/portal-hero.jpg?v=4") 100% 50% / auto 100% no-repeat, var(--ue-p-sky); }
	:root[data-learn-theme="contrast"] .ue-hero { background:#fff; min-height:0; }
	.ue-hero-visual { display:none; }
	.ue-hero-body { max-width:56%; }
	.ue-hero-title { font-size:1.4rem; }
	.ue-hero-city { font-size:2.25rem; }
	.ue-hero-lead { font-size:1rem; }
	.ue-steps { width:100%; max-width:min(56%, 440px); margin:22px 0 0; box-sizing:border-box; }
	:root[data-learn-theme="contrast"] .ue-hero-body,
	:root[data-learn-theme="contrast"] .ue-steps { max-width:none; }
}
@media (min-width: 600px) and (max-width: 767px) {
	.ue-hero { background:linear-gradient(90deg, var(--ue-p-sky) 0%, color-mix(in srgb, var(--ue-p-sky) 92%, transparent) 48%, transparent 72%), url("../img/portal-hero.jpg?v=4") 100% 50% / auto 100% no-repeat, var(--ue-p-sky); }
	:root[data-learn-theme="dark"] .ue-hero { background:linear-gradient(90deg, var(--ue-p-sky) 0%, color-mix(in srgb, var(--ue-p-sky) 94%, transparent) 50%, transparent 74%), linear-gradient(rgba(17,21,28,0.4), rgba(17,21,28,0.4)), url("../img/portal-hero.jpg?v=4") 100% 50% / auto 100% no-repeat, var(--ue-p-sky); }
	.ue-hero-body { max-width:62%; }
	.ue-hero-title { font-size:1.25rem; }
	.ue-hero-city { font-size:2rem; }
	.ue-steps { max-width:none; }
}
@media (min-width: 1024px) {
	.ue-portal {
		max-width: var(--learn-content-max, 1080px);
		margin: 0 auto;
	}
	.ue-hero {
		margin: 0 0 28px;
		min-height: 440px;
		padding: 52px 56px 36px;
		border-radius: 24px;
		box-shadow: 0 10px 30px rgba(11,42,111,0.08);
	}
	.ue-hero-logo {
		max-width: 220px;
		max-height: 72px;
		margin-bottom: 20px;
	}
	.ue-hero-title { font-size:1.6rem; }
	.ue-hero-city { font-size:2.6rem; }
	.ue-hero-lead { font-size:1.05rem; }
	.ue-hero-notes li { font-size:0.88rem; }
	.ue-steps li { font-size:0.85rem; }
	.ue-svc-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
		margin-bottom: 8px;
	}
	.ue-svc-grid .ue-svc {
		display: flex;
		flex-direction: column;
		margin-bottom: 0;
		height: 100%;
		padding: 26px 26px 22px;
	}
	.ue-svc-grid .ue-svc .ue-btn {
		margin-top: auto;
	}
}
.ue-identify .ue-dl > div {
	box-sizing: border-box;
	align-items: center;
	min-height: 60px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.ue-identify .ue-dl > div:first-child {
	padding-top: 8px;
}
.ue-identify .ue-dl .is-missing dd,
.ue-missing { color:var(--learn-danger,#B91C1C); font-weight:700; }
.ue-dl div.ue-phone-row,
.ue-dl div.ue-phone-row:last-child {
	align-items: center;
	min-height: 60px;
	padding-top: 8px;
	padding-bottom: 8px;
	border-bottom:1px solid var(--learn-border,#E2E8F0);
}
.ue-phone-row dt { padding-top:0; }
.ue-phone-row .ue-field {
	display:inline;
	margin:0;
	font:inherit;
	font-weight:700;
	color:inherit;
	cursor:pointer;
}
.ue-phone-row dd { min-width:0; }
.ue-phone {
	display:flex;
	align-items:stretch;
	flex-wrap:nowrap;
	gap:10px;
	width:100%;
}
.ue-identify .ue-input.ue-phone-part {
	flex:1 1 0;
	width:0;
	min-width:0;
	min-height:44px;
	height:44px;
	padding-top:0;
	padding-bottom:0;
	text-align:center;
	letter-spacing:0.08em;
	font-variant-numeric:tabular-nums;
}
.ue-phone-row .ue-field-hint { margin:8px 0 0; }
.ue-phone-part[readonly] {
	background: var(--learn-surface-muted,#F8FAFC);
	color: var(--learn-text,#202244);
	cursor: default;
}
.ue-official-card .ue-phone-part[readonly] { background: var(--learn-surface-muted,#F8FAFC); }
.ue-official-card .ue-phone-part { background: rgba(255, 255, 255, 0.65); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.ue-consent { display:flex; align-items:flex-start; gap:8px; margin-top:16px; }
.ue-consent > input { width:20px; height:20px; margin:0.15em 0 0; flex:0 0 20px; }
.ue-consent-copy { margin:0; min-width:0; font-size:0.95rem; font-weight:600; line-height:1.5; word-break:keep-all; }
.ue-consent-copy label { cursor:pointer; }
.ue-consent-tail { white-space:nowrap; }
.ue-input + .ue-btn,
.ue-consent + .ue-btn,
.ue-consent-need + .ue-btn { margin-top:16px !important; }
.learn-page button.ue-consent-view,
.ue-consent-view {
	display:inline;
	margin:0 0 0 6px;
	border:0;
	background:transparent;
	color:var(--learn-primary,#0961F5);
	font:inherit;
	font-size:inherit;
	font-weight:700;
	line-height:inherit;
	text-decoration:underline;
	vertical-align:baseline;
	cursor:pointer;
	padding:0;
	min-height:0;
	width:auto;
	white-space:nowrap;
}
.learn-page button.ue-consent-view:hover,
.ue-consent-view:hover {
	color:var(--learn-primary-dark,#0747C4);
}
.ue-identify-notme { margin-top:16px; }
.ue-modal {
	display:none;
	position:fixed;
	inset:0;
	z-index:10000;
	align-items:center;
	justify-content:center;
	padding:20px;
}
.ue-modal.is-open { display:flex; }
.ue-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.55); }
.ue-modal-dialog {
	position:relative;
	z-index:1;
	width:min(520px, 100%);
	max-height:min(80vh, 640px);
	overflow:auto;
	background:var(--learn-surface,#fff);
	border-radius:20px;
	padding:22px;
	box-shadow:0 16px 40px rgba(0,0,0,.2);
}
.ue-modal-title { margin:0 0 12px; font-size:1.2rem; font-weight:700; }
.ue-modal-body { color:var(--learn-text,#202244); font-size:0.95rem; line-height:1.65; word-break:keep-all; }
.ue-modal-body p { margin:0 0 12px; }
.ue-modal-body ul { margin:0 0 18px; padding-left:1.2em; }
.ue-modal-body li { margin:0 0 6px; }
body.ue-modal-open { overflow:hidden; }
@media (max-width: 560px) {
	.ue-dl div {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}
	.ue-identify .ue-dl > div,
	.ue-dl div.ue-phone-row,
	.ue-dl div.ue-phone-row:last-child {
		align-items: stretch;
		min-height: 0;
	}
	.ue-dl dt,
	.ue-identify .ue-phone-row dt {
		flex: 0 0 auto;
		padding-top: 0;
	}
	.ue-dl dd,
	.ue-identify .ue-phone-row dd {
		flex: 1 1 auto;
		width: 100%;
	}
	.ue-phone {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.ue-login-phone .ue-phone {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.ue-login-phone .ue-input.ue-phone-part {
		flex: 0 0 auto;
		width: 100%;
		min-width: 0;
	}
	.ue-login-phone .ue-rrn-dash {
		display: none;
	}
	.ue-identify .ue-input.ue-phone-part {
		flex: 0 0 auto;
		width: 100%;
		min-width: 0;
	}
	.ue-phone-row .ue-rrn-dash {
		display: none;
	}
}
@media print { .ue-no-print { display:none !important; } body { background:#fff; } }
.ue-rest { margin:0 0 14px; padding:16px 18px; border-radius:20px; background:var(--learn-primary-surface,#F4F7FB); border:1px solid var(--learn-border-strong,#D5DEEA); color:var(--learn-heading,#1E3A5F); }
.ue-rest-msg { margin:0 0 12px; font-size:1rem; line-height:1.5; font-weight:600; }
.ue-rest-msg b { font-size:1.15rem; }
.ue-rest-actions { display:flex; flex-direction:column; gap:8px; }
.ue-rest [hidden] { display:none !important; }
.ue-rest.is-urgent { background:var(--learn-notice-bg,#FFF4E6); border-color:#F97316; color:var(--learn-notice-text,#9A3412); }
.ue-rest.is-urgent b { color:#C2410C; }
.ue-rest.is-expired { background:var(--learn-surface,#fff); color:var(--learn-text-secondary,#545454); }
/* 2026-10-12: '본인이 아닙니다' on the login form (same name and birth, phone differs) */
.ue-login-not-self { margin-top:14px; padding-top:12px; border-top:1px solid rgba(0,0,0,.08); }
.ue-login-not-self .ue-btn { width:100%; margin-top:8px; }

/* 2026-10-12 taxi login: 개인택시 | 법인택시 */
.ue-seg { display:flex; margin:0 0 16px; padding:4px; border:1px solid var(--learn-border,#E2E8F0); border-radius:12px; background:var(--learn-surface,#fff); }
.ue-seg-opt { flex:1 1 0; position:relative; margin:0; }
.ue-seg-opt input { position:absolute; opacity:0; width:1px; height:1px; margin:0; }
.ue-seg-opt span { display:flex; align-items:center; justify-content:center; min-height:44px; border-radius:9px; font-size:1rem; font-weight:700; color:var(--learn-text-muted,#4B5563); cursor:pointer; }
.ue-seg-opt input:checked + span { background:var(--learn-primary,#0961F5); color:var(--learn-on-primary,#fff); }
.ue-seg-opt input:focus-visible + span { outline:2px solid var(--learn-primary,#0961F5); outline-offset:2px; }

/* 2026-10-12 taxi login: forced 개인택시 | 법인택시 choice */
.ue-kind-modal .ue-modal-dialog { width:min(400px, 100%); box-shadow:none; text-align:center; }
.ue-kind-modal .ue-modal-title { margin:4px 0 18px; }
.ue-kind-btns { display:flex; flex-direction:column; gap:12px; }
.ue-kind-btns .ue-btn { width:100%; min-height:56px; }
@media (min-width:600px) { .ue-kind-btns { flex-direction:row; } .ue-kind-btns .ue-btn { flex:1 1 0; } }
