:root {
			--guide-sidebar-width: 264px;
			--guide-header-height: 64px;
			--guide-border: #e5e7eb;
			--guide-bg: #f6f7fb;
			--guide-primary: #0d6efd;
			--guide-text: #111827;
			--guide-muted: #6b7280;
		}

		* {
			box-sizing: border-box;
		}

		body {
			min-height: 100vh;
			margin: 0;
			background: var(--guide-bg);
			color: var(--guide-text);
			font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;
			letter-spacing: 0;
			font-size: 16px;
		}

		a {
			color: inherit;
		}

		.guide-header {
			position: sticky;
			top: 0;
			z-index: 1030;
			height: var(--guide-header-height);
			background: #fff;
			border-bottom: 1px solid var(--guide-border);
		}

		.guide-logo {
			height: 34px;
			width: auto;
			object-fit: contain;
		}

		.guide-brand-title {
			font-weight: 700;
			font-size: 1.8rem;
			white-space: nowrap;
		}

		.guide-search {
			position: relative;
			width: min(360px, 42vw);
		}

		.guide-search .bi {
			position: absolute;
			top: 50%;
			left: 0.85rem;
			transform: translateY(-50%);
			color: var(--guide-muted);
			pointer-events: none;
		}

		.guide-search-input {
			padding-left: 2.35rem;
			border-radius: 999px;
			background: #f9fafb;
		}

		.guide-shell {
			display: flex;
			min-height: calc(100vh - var(--guide-header-height));
		}

		.guide-sidebar {
			position: sticky;
			top: var(--guide-header-height);
			width: var(--guide-sidebar-width);
			height: calc(100vh - var(--guide-header-height));
			flex: 0 0 var(--guide-sidebar-width);
			overflow-y: hidden;
			background: #fff;
			border-right: 1px solid var(--guide-border);
		}

		.guide-sidebar-inner {
			height: 100%;
			padding: 1rem 0.875rem 1.25rem;
		}

		.guide-sidebar-heading {
			padding: 0.9rem 0.75rem 0.35rem;
			color: var(--guide-muted);
			font-size: 0.72rem;
			font-weight: 700;
			text-transform: uppercase;
		}

		.guide-nav-link {
			display: flex;
			align-items: center;
			gap: 0.25rem;
			padding: 0.3rem 0.7rem 0.3rem 0.4rem;
			color: #999;
			font-size: 0.9rem;
			text-decoration: none;
			transition: background-color 0.15s ease, color 0.15s ease;
		}

		.guide-nav-link:hover {
			background: #f3f6ff;
			color: var(--guide-primary);
		}

		.guide-nav-link .bi {
			width: 1.15rem;
			text-align: center;
			font-size: 0.8rem;
		}

		.guide-subnav {
			margin: 0.2rem 0 0.2rem 2.1rem;
			padding: 0;
			list-style: decimal-leading-zero;
		}

		.guide-subnav li{position: relative}
		.guide-subnav li::marker{font-size: 0.8rem; color: #ccc;}

		.guide-subnav-link {
			display: block;
			padding: 0.25rem 0.4rem;
			border-radius: 0.4rem;
			color: #6b7280;
			font-size: 0.9rem;
			line-height: 1.35;
			text-decoration: none;
			font-weight: 500;
		}

		.guide-subnav-link:hover {
			background: #f9fafb;
			color: var(--guide-primary);
		}

		.guide-subnav-link.active {
			background: #f3f6ff;
			color: var(--guide-primary);
			font-weight: 700;
		}

		.guide-main {
			min-width: 0;
			flex: 1;
			padding: 1.25rem;
		}

		.guide-content-wrap {
			max-width: 1120px;
			margin: 0 auto;
		}

		.breadcrumb {
			--bs-breadcrumb-divider-color: #9ca3af;
			font-size: 0.88rem;
		}

		.guide-card {
			border: 1px solid var(--guide-border);
			border-radius: 0.75rem;
			background: #fff;
			box-shadow: 0 0.125rem 0.5rem rgba(15, 23, 42, 0.04);
		}

		.guide-card-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 1rem;
			padding: 1rem 1.25rem;
			border-bottom: 1px solid var(--guide-border);
		}

		.guide-card-title {
			margin: 0;
			font-size: 1rem;
			font-weight: 700;
		}

		#contentCardTitle {
			min-width: 0;
			font-size: 1.35rem;
			font-weight: 600;
		}

		.guide-card-body {
			max-height: calc(100vh - var(--guide-header-height) - 9.25rem);
			padding: 1.25rem;
		}

		.guide-summary {
			margin-bottom: 1.25rem;
			color: #4b5563;
			line-height: 1.75;
		}

		.guide-section {
			padding: 1rem;
			border: 1px solid #edf0f5;
			background: #fff;
		}

		.guide-section + .guide-section {
			margin-top: 1rem;
		}

		.guide-section h3 {
			margin: 0 0 0.75rem;
			font-size: 1.05rem;
			font-weight: 800;
		}

		.guide-section ol,
		.guide-section ul {
			margin-bottom: 0;
			padding-left: 1.25rem;
			line-height: 1.75;
		}

		.guide-image-placeholder {
			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 220px;
			margin-bottom: 1rem;
			border: 1px dashed #b8c4d8;
			border-radius: 0.65rem;
			background: #f8fafc;
			color: #475569;
			font-weight: 700;
			text-align: center;
		}

		.guide-image-figure {
			margin: 0 0 1rem;
			overflow: hidden;
			border: 1px solid #d9e1ef;
			border-radius: 0.65rem;
			background: #f8fafc;
			box-shadow: 0 0 5px 0 #ccc;
			text-align: center;
		}

		.guide-image-figure img {
			display: inline-block;
			width: 100%;
			height: auto;
		}

		.guide-image-figure img.is-natural-width {
			width: auto;
			max-width: 100%;
		}

		.guide-image-caption {
			padding: 0.6rem 0.75rem;
			border-top: 1px solid #d9e1ef;
			background: #fff;
			color: #6b7280;
			font-size: 0.85rem;
			line-height: 1.45;
			text-align: center;
		}

		.guide-capture-token {
			display: inline-flex;
			align-items: center;
			margin: 0.25rem 0;
			padding: 0.35rem 0.65rem;
			border: 1px dashed #b8c4d8;
			border-radius: 0.45rem;
			background: #f8fafc;
			color: #475569;
			font-weight: 700;
		}

		.guide-section li + li {
			margin-top: 0.2rem;
		}

		.guide-search-results {
			display: none;
			margin-bottom: 1rem;
		}

		.guide-search-results .list-group-item {
			cursor: pointer;
		}

		.guide-empty-search {
			display: none;
			padding: 1rem;
			border: 1px dashed #d1d5db;
			border-radius: 0.75rem;
			background: #fff;
			color: var(--guide-muted);
			text-align: center;
		}

		.mobile-menu-btn {
			display: none;
		}

		@media (max-width: 991.98px) {
			.mobile-menu-btn {
				display: inline-flex;
				border: 0;
				font-size: 36px;
				background: transparent;
			}

			.guide-search {
				width: min(260px, 52vw);
			}

			.guide-shell {
				display: block;
			}

			.guide-sidebar {
				position: fixed;
				top: var(--guide-header-height);
				left: 0;
				z-index: 1025;
				transform: translateX(-100%);
				transition: transform 0.2s ease;
				box-shadow: 0.75rem 0 1.5rem rgba(15, 23, 42, 0.12);
			}

			.guide-sidebar.show {
				transform: translateX(0);
			}

			.guide-main {
				padding: 1rem;
			}
		}

		@media (max-width: 575.98px) {
			.guide-brand-title {
				font-size: 1.5rem;
			}

			.guide-logo {
				height: 28px;
			}

			.guide-search {
				width: 33vw;
			}

			#contentCardTitle {
				font-size: 1.2rem;
			}

			.guide-card-header,
			.guide-card-body {
				padding: 1rem;
			}
		}
