:root{
		--xb-bg:#f4f7fb;
		--xb-bg-2:#fbfdff;
		--xb-surface:#ffffff;
		--xb-surface-soft:#f7fbff;
		--xb-line:#d9e2ed;
		--xb-line-2:#c9d6e6;
		--xb-text:#162738;
		--xb-text-2:#4d6076;
		--xb-text-3:#71839a;
		--xb-primary:#1560d4;
		--xb-primary-dark:#103f97;
		--xb-shadow:0 14px 36px rgba(16,35,72,.08);
		--xb-radius:22px;
		--xb-radius-sm:14px;
		--xb-max:1000px;
		--xb-mobile-pad:12px;
	}

	html{
		scroll-behavior:smooth;
		margin:0;
		padding:0;
	}

	body{
		overflow-x:hidden;
		margin:0;
		padding:0;
	}

	.site,
	.site-content,
	.content-area,
	.site-main,
	.entry-content,
	.page-content,
	.post-content,
	.container,
	.wrap{
		width:100%;
		max-width:none;
	}

	.site-content,
	.content-area,
	.site-main,
	.entry-content,
	.page-content,
	.post-content{
		margin-left:0;
		margin-right:0;
		padding-left:0;
		padding-right:0;
	}

	.xb-page,
	.xb-page *{
		box-sizing:border-box;
	}

	.xb-page{
		width:100%;
		margin:0;
		padding:0;
		color:var(--xb-text);
		background:
			radial-gradient(circle at top left, rgba(21,96,212,.07), transparent 28%),
			radial-gradient(circle at top right, rgba(21,96,212,.04), transparent 22%),
			linear-gradient(180deg, var(--xb-bg-2) 0%, var(--xb-bg) 24%, #ffffff 100%);
	}

	.xb-page a{
		color:var(--xb-primary);
		text-decoration:none;
	}

	.xb-page a:hover{
		color:var(--xb-primary-dark);
	}

	.xb-page a:focus-visible,
	.xb-btn:focus-visible,
	.xb-toc-links a:focus-visible,
	.xb-table-wrap:focus-visible,
	details > summary:focus-visible{
		outline:3px solid rgba(21,96,212,.25);
		outline-offset:2px;
	}

	.xb-shell{
		width:100%;
		max-width:var(--xb-max);
		margin:0 auto;
		padding:0;
	}

	.xb-topbar{
		border-bottom:1px solid var(--xb-line);
		background:#f8fbff;
	}

	.xb-topbar-inner{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
		align-items:center;
		padding:12px 0;
		font-size:13px;
		line-height:1.6;
		color:var(--xb-text-3);
	}

	.xb-badge{
		display:inline-flex;
		align-items:center;
		padding:7px 11px;
		border:1px solid #d8e5fa;
		border-radius:999px;
		background:#eef5ff;
		color:var(--xb-primary-dark);
		font-weight:700;
	}

	.xb-hero{
		padding:0 0 18px;
	}

	.xb-hero-box{
		padding:30px;
		border:1px solid var(--xb-line);
		border-radius:28px;
		background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
		box-shadow:var(--xb-shadow);
	}

	.xb-kicker{
		display:inline-flex;
		align-items:center;
		min-height:34px;
		padding:8px 12px;
		margin:0 0 14px;
		border:1px solid #d9e6fb;
		border-radius:999px;
		background:#eef5ff;
		color:var(--xb-primary-dark);
		font-size:13px;
		font-weight:700;
	}

	.xb-title{
		margin:0 0 16px;
		font-size:42px;
		line-height:1.12;
		letter-spacing:-.02em;
		color:#101d31;
	}

	.xb-cover{
		margin:0 0 18px;
		padding:12px;
		border:1px solid var(--xb-line);
		border-radius:22px;
		background:#fff;
	}

	.xb-cover figure,
	.xb-figure figure{
		margin:0;
	}

	.xb-cover img,
	.xb-figure img{
		display:block;
		width:100%;
		height:auto;
		border-radius:16px;
	}

	.xb-cover figcaption,
	.xb-figure figcaption{
		margin-top:10px;
		text-align:center;
		font-size:13px;
		line-height:1.6;
		color:var(--xb-text-3);
	}

	.xb-lead{
		margin:0;
		font-size:17px;
		line-height:1.9;
		color:var(--xb-text);
	}

	.xb-actions{
		display:flex;
		flex-wrap:wrap;
		gap:12px;
		margin-top:18px;
	}

	.xb-btn{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-height:46px;
		padding:0 18px;
		border:1px solid transparent;
		border-radius:12px;
		font-size:15px;
		font-weight:700;
		transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
	}

	.xb-btn:hover{
		transform:translateY(-1px);
	}

	.xb-btn-primary{
		background:var(--xb-primary);
		color:#fff;
	}

	.xb-btn-primary:hover{
		background:var(--xb-primary-dark);
	}

	.xb-btn-ghost{
		background:#fff;
		border-color:#d2deeb;
		color:var(--xb-primary-dark);
	}

	.xb-btn-ghost:hover{
		background:#f8fbff;
	}

	.xb-hero-stats{
		display:grid;
		grid-template-columns:repeat(4,minmax(0,1fr));
		gap:12px;
		margin-top:18px;
	}

	.xb-stat{
		padding:16px 14px;
		border:1px solid var(--xb-line);
		border-radius:16px;
		background:#fff;
	}

	.xb-stat strong{
		display:block;
		margin-bottom:7px;
		font-size:23px;
		line-height:1.2;
		color:var(--xb-primary-dark);
	}

	.xb-stat span{
		display:block;
		font-size:13px;
		line-height:1.65;
		color:var(--xb-text-3);
	}

	.xb-flow{
		padding-bottom:0;
	}

	.xb-toc{
		margin:0 0 18px;
		padding:18px;
		border:1px solid var(--xb-line);
		border-radius:18px;
		background:#fff;
		box-shadow:var(--xb-shadow);
	}

	.xb-toc h2{
		margin:0 0 12px;
		font-size:19px;
		line-height:1.45;
	}

	.xb-toc-links{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}

	.xb-toc-links a{
		display:inline-flex;
		align-items:center;
		min-height:38px;
		padding:0 12px;
		border:1px solid var(--xb-line);
		border-radius:999px;
		background:#f8fbff;
		color:var(--xb-text);
		font-size:14px;
		line-height:1;
	}

	.xb-toc-links a:hover{
		background:#eef5ff;
	}

	.xb-block{
		margin-bottom:18px;
		padding:24px;
		border:1px solid var(--xb-line);
		border-radius:22px;
		background:#fff;
		box-shadow:var(--xb-shadow);
	}

	.xb-block:last-of-type{
		margin-bottom:0;
	}

	.xb-block h2{
		margin:0 0 14px;
		font-size:30px;
		line-height:1.28;
		color:#101d31;
		scroll-margin-top:88px;
	}

	.xb-block h3{
		margin:24px 0 12px;
		font-size:22px;
		line-height:1.42;
		color:#162841;
		scroll-margin-top:88px;
	}

	.xb-block h4{
		margin:0 0 10px;
		font-size:18px;
		line-height:1.45;
		color:#12305d;
	}

	.xb-block p,
	.xb-block li{
		font-size:16px;
		line-height:1.9;
		color:var(--xb-text);
	}

	.xb-block p{
		margin:0 0 16px;
	}

	.xb-block ul,
	.xb-block ol{
		margin:0 0 18px 1.2em;
		padding:0;
	}

	.xb-block li{
		margin-bottom:10px;
	}

	.xb-block strong{
		color:var(--xb-primary-dark);
	}

	.xb-chips{
		display:flex;
		flex-wrap:wrap;
		gap:10px;
		margin:0 0 14px;
	}

	.xb-chip{
		display:inline-flex;
		align-items:center;
		padding:7px 10px;
		border:1px solid #d9e6fa;
		border-radius:999px;
		background:#f2f7ff;
		color:#194699;
		font-size:12px;
		font-weight:700;
	}

	.xb-note{
		margin:16px 0 18px;
		padding:16px 18px;
		border-left:4px solid var(--xb-primary);
		border-radius:14px;
		background:#f7fbff;
		font-size:15px;
		line-height:1.85;
		color:var(--xb-text);
	}

	.xb-map-grid,
	.xb-gallery,
	.xb-mini-grid{
		display:grid;
		gap:16px;
		margin:18px 0;
	}

	.xb-map-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.xb-gallery,
	.xb-mini-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.xb-map-card,
	.xb-mini-card{
		padding:18px;
		border:1px solid var(--xb-line);
		border-radius:18px;
		background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
	}

	.xb-map-card h3,
	.xb-mini-card h4{
		margin-top:0;
	}

	.xb-map-card p,
	.xb-mini-card p{
		margin:0;
		font-size:14px;
		line-height:1.8;
		color:var(--xb-text-2);
	}

	.xb-table-wrap{
		width:100%;
		margin:18px 0 22px;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		border:1px solid var(--xb-line);
		border-radius:16px;
		background:#fff;
	}

	.xb-table{
		width:100%;
		min-width:700px;
		border-collapse:separate;
		border-spacing:0;
	}

	.xb-table caption{
		padding:14px 14px 0;
		text-align:left;
		font-size:14px;
		line-height:1.7;
		color:var(--xb-text-3);
		caption-side:top;
	}

	.xb-table th,
	.xb-table td{
		padding:14px;
		vertical-align:top;
		text-align:left;
		border-right:1px solid #edf2f8;
		border-bottom:1px solid var(--xb-line);
		font-size:14px;
		line-height:1.75;
		color:var(--xb-text);
	}

	.xb-table th:last-child,
	.xb-table td:last-child{
		border-right:none;
	}

	.xb-table thead th{
		background:linear-gradient(180deg,#f3f7fc 0%,#ecf2fa 100%);
		color:#12233a;
		font-weight:800;
		white-space:nowrap;
	}

	.xb-table tbody tr:nth-child(even) td,
	.xb-table tbody tr:nth-child(even) th{
		background:#fbfdff;
	}

	.xb-figure{
		margin:18px 0;
	}

	.xb-figure figure{
		padding:12px;
		border:1px solid var(--xb-line);
		border-radius:18px;
		background:#fff;
	}

	.xb-cta{
		padding:28px;
		border:1px solid #d8e6fb;
		border-radius:24px;
		background:
			radial-gradient(circle at top right, rgba(21,96,212,.08), transparent 30%),
			linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
	}

	.xb-cta-center{
		margin-top:16px;
		padding:24px 18px;
		border:1px solid #d6e7ff;
		border-radius:18px;
		background:#eaf4ff;
		text-align:center;
	}

	.xb-cta-center p{
		margin:0;
		font-size:18px;
		line-height:1.9;
		color:#12305d;
	}

	.xb-faq{
		display:grid;
		gap:12px;
	}

	.xb-faq details{
		border:1px solid var(--xb-line);
		border-radius:16px;
		background:#fff;
	}

	.xb-faq summary{
		position:relative;
		display:block;
		padding:16px 44px 16px 16px;
		cursor:pointer;
		list-style:none;
		font-size:16px;
		font-weight:700;
		line-height:1.7;
		color:#14243a;
	}

	.xb-faq summary::-webkit-details-marker{
		display:none;
	}

	.xb-faq summary::after{
		content:"+";
		position:absolute;
		right:16px;
		top:50%;
		transform:translateY(-50%);
		font-size:22px;
		line-height:1;
		color:var(--xb-primary-dark);
	}

	.xb-faq details[open] summary::after{
		content:"–";
	}

	.xb-faq-answer{
		padding:0 16px 16px;
		font-size:15px;
		line-height:1.85;
		color:var(--xb-text-2);
	}

	@media (max-width: 960px){
		.xb-hero-stats,
		.xb-map-grid,
		.xb-gallery,
		.xb-mini-grid{
			grid-template-columns:1fr;
		}

		.xb-title{
			font-size:32px;
		}

		.xb-block h2{
			font-size:26px;
		}

		.xb-block h3{
			font-size:20px;
		}
	}

	@media (max-width: 767px){
		body,
		.site,
		.site-content,
		.content-area,
		.site-main,
		.entry-content,
		.page-content,
		.post-content,
		.container,
		.wrap{
			margin-left:0;
			margin-right:0;
			padding-left:0;
			padding-right:0;
		}

		.xb-page{
			overflow-x:hidden;
		}

		.xb-shell{
			max-width:none;
			padding-left:0;
			padding-right:0;
		}

		.xb-topbar-inner,
		.xb-hero,
		.xb-flow{
			padding-left:var(--xb-mobile-pad);
			padding-right:var(--xb-mobile-pad);
		}

		.xb-hero{
			padding-top:16px;
			padding-bottom:12px;
		}

		.xb-flow{
			padding-bottom:0;
		}

		.xb-hero-box,
		.xb-toc,
		.xb-block,
		.xb-cta{
			margin-left:0;
			margin-right:0;
			padding:16px 12px;
			border-left:0;
			border-right:0;
			border-radius:0;
			box-shadow:none;
		}

		.xb-cover,
		.xb-figure figure,
		.xb-stat,
		.xb-map-card,
		.xb-mini-card,
		.xb-faq details,
		.xb-note,
		.xb-cta-center{
			border-radius:12px;
		}

		.xb-title{
			font-size:28px;
			line-height:1.22;
		}

		.xb-lead{
			font-size:15px;
			line-height:1.85;
		}

		.xb-actions{
			flex-direction:column;
		}

		.xb-btn{
			width:100%;
		}

		.xb-toc-links{
			gap:8px;
		}

		.xb-toc-links a{
			min-height:34px;
			padding:0 10px;
			font-size:13px;
		}

		.xb-block h2{
			font-size:24px;
		}

		.xb-block h3{
			font-size:19px;
			margin-top:20px;
		}

		.xb-block p,
		.xb-block li,
		.xb-faq-answer{
			font-size:14px;
		}

		.xb-table{
			min-width:640px;
		}

		.xb-table th,
		.xb-table td{
			padding:12px;
			font-size:13px;
		}
	}
