:root{
	--pin-bg:#ffffff;
	--pin-bg-soft:#f7f9fc;
	--pin-surface:#ffffff;
	--pin-surface-2:#f8fafc;
	--pin-line:#d7e0ea;
	--pin-line-2:#c7d3df;
	--pin-text:#162536;
	--pin-text-2:#4c5e73;
	--pin-text-3:#728297;
	--pin-blue:#1358cc;
	--pin-blue-deep:#0f3f96;
	--pin-green:#0f8b57;
	--pin-gold:#aa7b16;
	--pin-red:#d14d4d;
	--pin-shadow:0 12px 30px rgba(18,34,68,.06);
	--pin-radius:22px;
	--pin-radius-sm:14px;
	--pin-max:1000px;
	--pin-desktop-gutter:0px;
	--pin-mobile-gutter:11px;
	--pin-focus:0 0 0 3px rgba(19,88,204,.18);
}

html{
	scroll-behavior:smooth;
}

body.page-template,
body.page-template-default{
	background:#fff;
}

html,
body{
	max-width:100%;
}

.site,
.site-content,
.content-area,
.site-main,
.entry-content,
.page-content,
.post-content,
.container,
.wrap{
	width:100%;
	max-width:100%;
	margin-left:0;
	margin-right:0;
	padding-left:0;
	padding-right:0;
}

.site-content,
.content-area,
.site-main,
.entry-content,
.page-content,
.post-content{
	overflow:visible;
}

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

.pin-page{
	width:100%;
	max-width:100%;
	margin:0;
	padding:0;
	color:var(--pin-text);
	background:
		radial-gradient(circle at top left, rgba(19,88,204,.06), transparent 28%),
		linear-gradient(180deg, #f9fbff 0%, #f5f7fb 20%, #ffffff 100%);
	overflow-x:clip;
}

.pin-page a{
	color:var(--pin-blue);
	text-decoration:none;
	text-underline-offset:3px;
}

.pin-page a:hover{
	color:var(--pin-blue-deep);
	text-decoration:underline;
}

.pin-page a:focus-visible,
.pin-page button:focus-visible,
.pin-page [tabindex]:focus-visible{
	outline:none;
	box-shadow:var(--pin-focus);
	border-radius:12px;
}

.pin-shell{
	width:100%;
	max-width:var(--pin-max);
	margin:0 auto;
	padding-left:var(--pin-desktop-gutter);
	padding-right:var(--pin-desktop-gutter);
}

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

.pin-topbar-inner{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	min-height:52px;
	font-size:13px;
	line-height:1.5;
	color:var(--pin-text-3);
}

.pin-badge{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:7px 11px;
	border-radius:999px;
	border:1px solid #d9e5f8;
	background:#eef5ff;
	color:var(--pin-blue-deep);
	font-weight:700;
}

.pin-hero{
	padding:0;
}

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

.pin-kicker{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 0 14px;
	padding:8px 12px;
	border-radius:999px;
	background:#eef5ff;
	border:1px solid #d9e6fb;
	color:var(--pin-blue-deep);
	font-size:13px;
	font-weight:700;
}

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

.pin-cover{
	margin:0 0 18px;
}

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

.pin-media-frame{
	padding:12px;
	border:1px solid var(--pin-line);
	border-radius:22px;
	background:#fff;
}

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

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

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

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

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

.pin-btn:hover{
	transform:translateY(-1px);
	text-decoration:none;
}

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

.pin-btn-primary:hover{
	background:var(--pin-blue-deep);
}

.pin-btn-ghost{
	background:#fff;
	border-color:#d2deeb;
	color:var(--pin-blue-deep);
}

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

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

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

.pin-summary-box strong{
	display:block;
	margin-bottom:7px;
	font-size:23px;
	line-height:1.2;
	color:var(--pin-blue-deep);
}

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

.pin-flow{
	margin-top:24px;
}

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

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

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

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

.pin-toc-links a:hover{
	background:#eef5ff;
	text-decoration:none;
}

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

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

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

.pin-block p{
	margin:0 0 16px;
	font-size:16px;
	line-height:1.9;
	color:var(--pin-text);
}

.pin-block strong{
	color:var(--pin-blue-deep);
}

.pin-chips{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-bottom:14px;
}

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

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

.pin-guide-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:16px;
	margin:18px 0;
}

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

.pin-guide-card h3{
	margin:0 0 10px;
	font-size:18px;
	line-height:1.45;
	color:#122b4f;
}

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

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

.pin-table-wrap:focus-visible{
	outline:none;
	box-shadow:var(--pin-focus);
}

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

.pin-table caption{
	padding:14px 14px 0;
	text-align:left;
	font-size:13px;
	line-height:1.65;
	color:var(--pin-text-3);
}

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

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

.pin-table thead th{
	background:linear-gradient(180deg, #f3f7fc 0%, #ecf2fa 100%);
	color:#12233a;
	font-weight:800;
	font-size:14px;
	position:sticky;
	top:0;
	z-index:1;
}

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

.pin-table tbody tr:hover td{
	background:#f5f9ff;
}

.pin-table tbody tr:last-child td,
.pin-table tbody tr:last-child th{
	border-bottom:none;
}

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

.pin-gallery{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:16px;
	margin:18px 0;
}

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

.pin-block li{
	margin-bottom:10px;
	font-size:16px;
	line-height:1.8;
	color:var(--pin-text);
}

.pin-mini-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:16px;
	margin-top:18px;
}

.pin-mini-card{
	background:#fbfdff;
	border-radius:16px;
}

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

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

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

@media (max-width: 1000px){
	.pin-shell{
		padding-left:var(--pin-mobile-gutter);
		padding-right:var(--pin-mobile-gutter);
	}
}

@media (max-width: 900px){
	.sidebar,
	.widget-area,
	.right-sidebar,
	.secondary{
		order:-1;
		width:100%;
		margin:0;
		padding:0;
	}

	.pin-page{
		overflow-x:clip;
	}

	.pin-shell{
		max-width:none;
		width:100%;
		padding-left:var(--pin-mobile-gutter);
		padding-right:var(--pin-mobile-gutter);
	}

	.pin-hero-box,
	.pin-toc{
		padding:18px 14px;
		border-radius:16px;
	}

	.pin-block{
		padding:18px 0;
		border:0;
		border-radius:0;
		background:transparent;
		box-shadow:none;
	}

	.pin-title{
		font-size:30px;
	}

	.pin-summary,
	.pin-guide-grid,
	.pin-gallery,
	.pin-mini-grid{
		grid-template-columns:1fr;
	}

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

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

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

	.pin-btn{
		width:100%;
	}

	.pin-guide-card,
	.pin-mini-card,
	.pin-summary-box{
		border-radius:14px;
	}
}

@media (max-width: 640px){
	.pin-shell{
		padding-left:var(--pin-mobile-gutter);
		padding-right:var(--pin-mobile-gutter);
	}

	.pin-topbar{
		padding:0;
	}

	.pin-topbar-inner{
		min-height:auto;
		padding:12px 0;
	}

	.pin-hero{
		padding:0;
	}

	.pin-hero-box{
		padding:16px 12px;
		border-radius:14px;
		box-shadow:none;
	}

	.pin-toc{
		padding:14px 12px;
		border-radius:14px;
		box-shadow:none;
	}

	.pin-title{
		font-size:26px;
		line-height:1.18;
	}

	.pin-lead{
		font-size:15px;
		line-height:1.82;
	}

	.pin-block{
		padding:16px 0;
		margin-bottom:10px;
	}

	.pin-note{
		padding:14px 12px;
		border-radius:12px;
	}

	.pin-media-frame{
		padding:8px;
		border-radius:14px;
	}

	.pin-table-wrap{
		border-radius:14px;
		margin:16px 0 20px;
	}

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

	.pin-table caption{
		padding:12px 12px 0;
		font-size:12px;
	}

	.pin-guide-card,
	.pin-mini-card,
	.pin-summary-box{
		padding:14px 12px;
	}

	.pin-cta{
		padding:16px 12px;
		border-radius:14px;
	}

	.pin-cta-center{
		padding:18px 12px;
		border-radius:14px;
	}

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

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