/**
 * Responsive Layout — 3 tiers
 *
 * Breakpoint contract (do not overlap):
 * Mobile  — max-width: 767px  (this file + style.css §mobile)
 * Tablet  — min-width: 768px and max-width: 1024px
 * PC      — min-width: 1025px (this file) + style.css defaults
 *
 * Note: style.css mobile uses max-width: 767px (768px is tablet-only).
 *
 * Spacing tokens (Cyworld frame + minimal card):
 * Mobile  — inset 18px, stack gap 18px, card padding 12px
 * Tablet  — sidebar 168px (+13px), content padding 18px, unified frame gap
 *
 * Frame layout tokens (--cy-frame-sidebar-w, --cy-frame-content-padding-x):
 * PC 1025px+  — sidebar 210px, content padding 18px, main 1fr
 * Tablet 768–1024 — sidebar 168px, content padding 18px, sidebar/main gap 18px
 */

/* ==========================================================================
   PC (min-width 1025px) — 프레임 비율 통일
   ========================================================================== */

@media (min-width: 1025px) {
	:root {
		--cy-frame-sidebar-w: 210px;
		--cy-profile-w: var(--cy-frame-sidebar-w);
		--cy-frame-content-padding-x: 18px;
		--cy-frame-main-panel-margin-y: 16px;
	}

	.cy-frame-body {
		display: flex;
		flex-direction: row;
		align-items: stretch;
	}

	.cy-profile {
		width: var(--cy-frame-sidebar-w);
		flex: 0 0 var(--cy-frame-sidebar-w);
		max-width: var(--cy-frame-sidebar-w);
		min-width: var(--cy-frame-sidebar-w);
	}

	.cy-content {
		flex: 1 1 auto;
		min-width: 0;
		width: auto;
		max-width: none;
	}

	.cy-content-header {
		padding-left: var(--cy-frame-content-padding-x);
		padding-right: var(--cy-frame-content-padding-x);
	}

	.cy-content-inner {
		padding-top: 12px;
		padding-bottom: 16px;
		padding-left: var(--cy-frame-content-padding-x);
		padding-right: var(--cy-frame-content-padding-x);
	}

	.cy-content-inner--panel {
		padding: 0;
	}

	.cy-main-panel--enabled {
		margin-top: var(--cy-frame-main-panel-margin-y);
		margin-bottom: var(--cy-frame-main-panel-margin-y);
		margin-left: var(--cy-frame-content-padding-x);
		margin-right: var(--cy-frame-content-padding-x);
	}

	.cy-content-inner--panel .cy-main-panel--enabled {
		margin-right: calc(var(--cy-frame-content-padding-x) - var(--cy-scrollbar-size));
		width: calc(100% - (var(--cy-frame-content-padding-x) * 2) + var(--cy-scrollbar-size));
		max-width: calc(100% - (var(--cy-frame-content-padding-x) * 2) + var(--cy-scrollbar-size));
	}

	.cy-main-panel--disabled {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ==========================================================================
   TABLET (768px – 1024px)
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
	:root {
		--cy-frame-sidebar-w: 168px;
		--cy-profile-w: var(--cy-frame-sidebar-w);
		--cy-frame-content-padding-x: 18px;
		--cy-frame-sidebar-main-gap: var(--cy-frame-content-padding-x);
		--cy-frame-outer-gutter: 40px;
		--cy-frame-border: 5px;
		--cy-frame-mat: 4px;
		--cy-main-panel-margin-r: var(--cy-frame-content-padding-x);
		--cy-frame-sidebar-padding-y: 12px;
		--cy-frame-sidebar-padding-x: 10px;
		--cy-profile-image-size: min(var(--cy-profile-image-size, 110px), 88px);
		--cy-tab-width: 92px;
		--cy-tab-height: 42px;
		--cy-tab-protrude: 92px;
		--cy-main-panel-radius: 4px;
		--cy-pc-profile-card-radius: 8px;
		--cy-tablet-read-padding-x: var(--cy-frame-content-padding-x);
		--cy-tablet-section-gap: 20px;
		--cy-tablet-card-padding: 18px;
		--cy-tablet-tree-panels-gap: 18px;
		--cy-tablet-tree-panel-max-height: 300px;
	}

	/* 레이아웃: PC 가로 구조 유지 (768px 모바일 규칙 복원) */
	.cy-frame-body {
		flex-direction: row;
	}

	.cy-content {
		flex: 1 1 auto;
		min-width: 0;
		width: auto;
		max-width: none;
	}

	.cy-tabs {
		display: block;
	}

	.cy-mobile-tabs {
		display: none;
	}

	.cy-wrapper {
		padding: 12px 16px 16px 12px;
	}

	.cy-frame-outer {
		width: calc(100vw - var(--cy-tab-width) - var(--cy-frame-outer-gutter));
		max-width: calc(100vw - var(--cy-tab-width) - var(--cy-frame-outer-gutter));
		padding: var(--cy-frame-border);
		box-sizing: border-box;
	}

	/* ── Tablet frame contract: Home / Wiki / Gallery / Calendar / Category 동일 ── */
	.cy-profile {
		width: var(--cy-frame-sidebar-w);
		flex: 0 0 var(--cy-frame-sidebar-w);
		max-width: var(--cy-frame-sidebar-w);
		min-width: var(--cy-frame-sidebar-w);
		border-right: 2px solid var(--cy-inner-line-color);
		border-bottom: none;
		padding: var(--cy-frame-sidebar-padding-y) var(--cy-frame-sidebar-padding-x) 10px;
	}

	.cy-content-header {
		padding-left: var(--cy-frame-sidebar-main-gap);
		padding-right: var(--cy-frame-content-padding-x);
	}

	.cy-content-inner {
		padding-top: 12px;
		padding-bottom: 20px;
		padding-left: var(--cy-frame-sidebar-main-gap);
		padding-right: var(--cy-frame-content-padding-x);
	}

	.cy-content-inner--panel {
		padding-top: 12px;
		padding-bottom: 20px;
		padding-left: 0;
		padding-right: 0;
	}

	.cy-main-panel--enabled {
		margin-top: 0;
		margin-bottom: 0;
		margin-left: var(--cy-frame-sidebar-main-gap);
		margin-right: var(--cy-frame-content-padding-x);
		padding: var(--cy-tablet-card-padding);
		box-shadow: none;
	}

	.cy-content-inner--panel .cy-main-panel--enabled {
		width: calc(100% - var(--cy-frame-sidebar-main-gap) - var(--cy-frame-content-padding-x));
		max-width: calc(100% - var(--cy-frame-sidebar-main-gap) - var(--cy-frame-content-padding-x));
	}

	.cy-tabs {
		left: calc(100% - var(--cy-frame-mat) - 2px - var(--cy-main-panel-margin-r) + var(--cy-tabs-base-x-offset) + var(--cy-tabs-x-offset));
		width: var(--cy-tab-width);
		max-width: var(--cy-tab-width);
	}

	/* —— Home —— */
	.cy-home-front {
		gap: var(--cy-tablet-section-gap);
	}

	.cy-home-card,
	.cy-home-preview-card,
	.cy-home-hero-featured-card {
		border-radius: 8px;
		box-shadow: none;
	}

	.cy-home-hero-featured-card,
	.cy-home-preview-card {
		padding: var(--cy-tablet-card-padding);
	}

	/* —— Tree 게시판 (트리형 / 글목록): 태블릿 상하 배치 —— */
	.cy-tree-archive-panels,
	.cy-tree-list-panels {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--cy-tablet-tree-panels-gap);
		align-items: stretch;
	}

	.cy-tree-archive-panel--tree {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		display: flex;
		flex-direction: column;
		max-height: var(--cy-tablet-tree-panel-max-height);
		overflow: hidden;
	}

	.cy-tree-archive-panel--tree > .cy-tree-archive-panel-title,
	.cy-tree-archive-panel--tree > .cy-tree-archive-empty,
	.cy-tree-archive-panel--tree .cy-tree-archive-panel-head,
	.cy-tree-archive-panel--tree .cy-tree-archive-bulk-form,
	.cy-tree-archive-panel--tree .cy-tree-archive-pagination {
		flex: 0 0 auto;
	}

	.cy-tree-archive-panel--tree .cy-tree-archive-tree {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.cy-tree-archive-panel--detail,
	.cy-tree-list-panel--main {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	body.cy-is-wiki-list .cy-tree-archive-detail,
	body.cy-is-wiki-single .cy-post-single {
		padding: 0;
	}

	body.cy-is-wiki-list .cy-tree-archive-detail {
		padding: 14px 16px 16px;
	}

	body.cy-is-wiki-single .cy-post-single-header {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-layout,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-layout {
		margin-top: var(--cy-wiki-reader-section-gap, 24px);
		padding: 0 var(--cy-wiki-reader-content-x, 28px) 24px;
		background: transparent;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content {
		width: 100%;
		max-width: none;
	}

	/* —— 게시판 상세 —— */
	.cy-post-single {
		padding: 0;
	}

	.cy-post-single-header {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.cy-post-single-body {
		padding: 0;
	}

	.cy-post-actions .cy-btn {
		box-shadow: none;
	}

	/* —— Gallery (프레임 gap은 공통 contract 유지, 내부 카드만 조정) —— */
	body.cy-is-gallery-list .cy-main-panel--enabled {
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	body.single-cy_gallery .cy-content-inner {
		padding-top: 10px;
		padding-bottom: 16px;
	}

	body.single-cy_gallery .cy-main-panel--enabled {
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	body.single-cy_gallery .cy-gallery-single-page {
		padding: 0;
	}

	body.single-cy_gallery .cy-gallery-single {
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		background: var(--cy-mobile-surface-bg);
		box-shadow: var(--cy-mobile-surface-shadow);
		overflow: hidden;
	}

	body.single-cy_gallery .cy-gallery-header {
		margin: 0;
		padding: 14px var(--cy-tablet-read-padding-x) 12px;
		border-bottom: 1px solid color-mix(in srgb, var(--cy-inner-line-color, #b7d9f1) 50%, transparent);
	}

	body.single-cy_gallery .cy-gallery-single-content {
		padding: 0 var(--cy-tablet-read-padding-x);
		box-sizing: border-box;
	}

	body.single-cy_gallery .cy-gallery-single-content img,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-image img,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-image img.cy-content-lightbox-image {
		max-width: 100% !important;
		width: 100%;
	}

	body.single-cy_gallery .cy-gallery-single-content .wp-block-image {
		margin-left: calc(var(--cy-tablet-read-padding-x) * -1);
		margin-right: calc(var(--cy-tablet-read-padding-x) * -1);
		width: calc(100% + (var(--cy-tablet-read-padding-x) * 2));
		max-width: none;
	}

	body.single-cy_gallery .cy-gallery-single-content .wp-block-image img {
		border-radius: 0;
	}

	/* —— Diary / Calendar —— */
	.cy-diary-entry {
		padding: 16px 0 18px;
	}

	.cy-diary-list--cards .cy-post-card {
		padding: var(--cy-tablet-card-padding);
		margin-bottom: var(--cy-tablet-section-gap);
	}
}

/* ==========================================================================
   MOBILE (max-width 767px)
   ========================================================================== */

@media (max-width: 767px) {
	:root {
		--cy-mobile-read-padding-x: 18px;
		--cy-mobile-section-gap: 18px;
		--cy-mobile-card-padding: 12px;
		--cy-mobile-surface-border: 1px solid color-mix(in srgb, var(--cy-inner-line-color, #b7d9f1) 68%, transparent);
		--cy-mobile-surface-radius: 10px;
		--cy-mobile-surface-bg: color-mix(in srgb, var(--cy-main-panel-bg-color, #fff) 96%, #fff8f4);
		--cy-mobile-surface-shadow: none;
		/* legacy alias */
		--cy-mobile-card-border: var(--cy-mobile-surface-border);
		--cy-mobile-card-radius: var(--cy-mobile-surface-radius);
		--cy-wiki-mobile-wrap-x: 14px;
		--cy-wiki-mobile-content-x: 14px;
		--cy-wiki-mobile-read-x: 14px;
		--cy-wiki-mobile-section-gap: 18px;
		--cy-wiki-mobile-inset-box-padding: 16px;
		/* 태블릿/PC 프레임 변수 무효화 */
		--cy-frame-sidebar-w: 100%;
		--cy-profile-w: 100%;
	}

	/* ── Frame: 모바일 전용 (768px+ 태블릿 규칙과 분리) ── */
	.cy-frame-body {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: auto;
		overflow: visible;
	}

	.cy-frame-body > .cy-profile {
		width: 100%;
		max-width: 100%;
		flex: 0 0 auto;
		min-width: 0;
	}

	.cy-frame-body > .cy-content {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
	}

	.cy-tabs {
		display: none;
	}

	.cy-mobile-tabs {
		display: block;
	}
	.cy-wrapper {
		align-items: flex-start;
		padding: 10px;
		padding-bottom: 72px;
	}

	.cy-stage {
		max-width: 100%;
		width: 100%;
	}

	.cy-frame-outer {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: auto;
		min-height: auto;
		max-height: none;
		padding: var(--cy-frame-border, 5px);
		border-radius: 6px;
		background: linear-gradient(
			160deg,
			color-mix(in srgb, var(--cy-frame-color) 80%, #fff) 0%,
			var(--cy-frame-color) 35%,
			var(--cy-frame-color-dark) 100%
		);
		box-shadow:
			0 0 0 1px var(--cy-frame-border-color),
			0 2px 0 var(--cy-frame-border-color),
			0 6px 20px rgba(30, 70, 110, 0.18);
		overflow: visible;
	}

	.cy-frame-inner {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		height: auto;
		min-height: auto;
		padding: var(--cy-frame-mat, 4px);
		background: var(--cy-inner-bg-color);
		border: 2px solid var(--cy-inner-line-color);
		border-radius: 2px;
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.9);
		overflow: visible;
	}

	/* ── Cyworld main frame 유지 (그림자만 축소) ── */
	.cy-post-card,
	.cy-home-card,
	.cy-home-preview-card,
	.cy-home-preview-box.cy-home-preview-card,
	.cy-home-hero-featured-card,
	.cy-home-notice,
	.cy-tree-archive-panel:not(.cy-tree-archive-panel--detail),
	.cy-profile-main,
	.cy-mobile-profile-card,
	body.single .cy-post-single,
	body.cy-is-wiki-list .cy-tree-archive-detail,
	.cy-diary-list:not(.cy-diary-list--cards) {
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		background: var(--cy-mobile-surface-bg);
		box-shadow: var(--cy-mobile-surface-shadow);
	}

	/* ── 중첩 제거: main-panel은 래퍼만, 카드 스타일 없음 ── */
	.cy-main-panel--enabled,
	.cy-content-inner--panel .cy-main-panel--enabled {
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
		width: 100%;
		max-width: 100%;
		min-height: 0;
	}

	.cy-main-panel--disabled {
		padding: 0 var(--cy-mobile-read-padding-x) 16px;
	}

	.cy-profile {
		padding: 12px var(--cy-mobile-read-padding-x) 10px;
		border-bottom: 2px solid var(--cy-inner-line-color);
		background: var(--cy-profile-bg-color);
	}

	.cy-profile-main,
	.cy-mobile-profile-card {
		padding: var(--cy-mobile-card-padding);
		box-shadow: none !important;
	}

	.cy-content-header {
		padding: 12px var(--cy-mobile-read-padding-x) 8px;
		gap: var(--cy-mobile-section-gap);
		border-bottom: 2px solid var(--cy-inner-line-color);
		background: var(--cy-content-bg-color);
	}

	.cy-content-inner {
		padding: 8px var(--cy-mobile-read-padding-x) 16px;
	}

	/* ================================================================
	   1. Home
	   ================================================================ */

	body.home .cy-content,
	body.front-page .cy-content {
		display: contents;
	}

	body.home .cy-frame-body,
	body.front-page .cy-frame-body {
		display: flex;
		flex-direction: column;
	}

	body.home .cy-content-header,
	body.front-page .cy-content-header {
		order: 1;
		flex-direction: column;
		align-items: stretch;
		gap: var(--cy-mobile-section-gap);
		min-height: 0;
		padding: 12px var(--cy-mobile-read-padding-x) 8px;
		background: var(--cy-content-bg-color, #fff);
	}

	body.home .cy-content-title,
	body.front-page .cy-content-title {
		order: 1;
		flex: none;
		max-width: 100%;
		margin: 0;
		font-size: 1.2rem;
		line-height: 1.35;
	}

	body.home .cy-home-notice,
	body.front-page .cy-home-notice {
		order: 2;
		flex: none;
		width: 100%;
		max-width: 100%;
		padding: 10px var(--cy-mobile-card-padding);
	}

	body.home .cy-content-inner,
	body.front-page .cy-content-inner {
		order: 3;
		padding: 6px var(--cy-mobile-read-padding-x) 16px;
	}

	body.home .cy-profile,
	body.front-page .cy-profile {
		order: 2;
		margin-top: 0;
		padding: 10px var(--cy-mobile-read-padding-x) 12px;
		border-top: none;
	}

	body.home .cy-profile .cy-mobile-tabs,
	body.front-page .cy-profile .cy-mobile-tabs {
		margin-top: var(--cy-mobile-section-gap);
	}

	.cy-home-front {
		gap: var(--cy-mobile-section-gap);
		width: 100%;
		max-width: 100%;
	}

	.cy-home-front-section {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}

	.cy-home-front-section--hero {
		padding-bottom: 0;
	}

	.cy-home-front-section:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}

	.cy-home-section-title,
	.cy-home-hero-col-title {
		margin-bottom: 12px;
		font-size: 12px;
	}

	.cy-home-hero,
	.cy-home-preview-grid {
		gap: var(--cy-mobile-section-gap);
	}

	.cy-home-hero.cy-home-hero--split,
	.cy-home-hero.cy-home-hero--slider-only,
	.cy-home-hero.cy-home-hero--featured-only {
		display: flex;
		flex-direction: column;
	}

	.cy-home-hero-col--slider {
		order: 1;
	}

	.cy-home-hero-col--featured {
		order: 2;
	}

	.cy-home-slider.cy-home-card,
	.cy-home-gallery-slider.cy-home-card {
		padding-bottom: 28px;
		overflow: hidden;
	}

	.cy-home-hero-featured-card {
		padding: var(--cy-mobile-card-padding);
	}

	.cy-home-hero-featured-thumb {
		border-radius: 8px;
		overflow: hidden;
		margin-bottom: 10px;
	}

	.cy-home-hero-featured-title {
		font-size: 1rem;
		line-height: 1.45;
	}

	.cy-home-hero-featured-excerpt {
		font-size: 12px;
		line-height: 1.55;
	}

	.cy-home-preview-card,
	.cy-home-preview-box.cy-home-preview-card {
		padding: var(--cy-mobile-card-padding);
		min-height: 0;
	}

	.cy-home-preview-head {
		margin-bottom: 10px;
		padding: 0;
	}

	.cy-home-preview-list {
		gap: 0;
	}

	.cy-home-preview-item + .cy-home-preview-item {
		margin-top: 2px;
		padding-top: 8px;
		border-top: 1px solid rgba(0, 0, 0, 0.05);
	}

	.cy-home-preview-link {
		gap: 10px;
		padding: 2px 0;
	}

	.cy-home-preview-thumb {
		border-radius: 6px;
		overflow: hidden;
		flex-shrink: 0;
	}

	.cy-home-preview-item-title {
		font-size: 13px;
		line-height: 1.45;
	}

	/* ================================================================
	   2. Wiki
	   ================================================================ */

	/* Wiki 상세/단일 — 모바일 순서 (Home flex order 패턴)
	   프로필 → 메뉴탭 → 지식방 제목/공지 → 목록 버튼 → 문서 제목/본문 */
	body.cy-is-wiki-detail .cy-sidebar-mini-stack,
	body.cy-is-wiki-single .cy-sidebar-mini-stack {
		display: none;
	}

	body.cy-is-wiki-detail .cy-frame-body,
	body.cy-is-wiki-single .cy-frame-body {
		display: flex;
		flex-direction: column;
	}

	body.cy-is-wiki-detail .cy-profile,
	body.cy-is-wiki-single .cy-profile {
		order: 1;
		width: 100%;
		max-width: 100%;
		flex: 0 0 auto;
		padding: 10px var(--cy-mobile-read-padding-x) 12px;
		border-bottom: none;
	}

	body.cy-is-wiki-detail .cy-profile .cy-mobile-tabs,
	body.cy-is-wiki-single .cy-profile .cy-mobile-tabs {
		margin-top: var(--cy-mobile-section-gap);
	}

	body.cy-is-wiki-detail .cy-content,
	body.cy-is-wiki-single .cy-content {
		display: contents;
	}

	body.cy-is-wiki-detail .cy-content-header,
	body.cy-is-wiki-single .cy-content-header {
		order: 2;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--cy-mobile-section-gap);
		width: 100%;
		padding: 12px var(--cy-wiki-mobile-read-x, 14px) 8px;
	}

	body.cy-is-wiki-detail .cy-content-inner,
	body.cy-is-wiki-single .cy-content-inner {
		order: 3;
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 6px var(--cy-wiki-mobile-read-x, 14px) 16px;
	}

	body.cy-is-wiki-detail .cy-wiki-toolbar,
	body.cy-is-wiki-single .cy-wiki-toolbar {
		order: 1;
		flex: 0 0 auto;
		margin-bottom: var(--cy-mobile-section-gap);
	}

	body.cy-is-wiki-detail .cy-mini-wiki--single,
	body.cy-is-wiki-single .cy-mini-wiki--single,
	body.cy-is-wiki-detail .cy-post-single:has(.cy-mini-wiki),
	body.cy-is-wiki-single .cy-post-single:has(.cy-mini-wiki) {
		order: 2;
		flex: 1 1 auto;
		min-width: 0;
	}

	body.cy-is-wiki-list .cy-tree-archive-panel--tree {
		display: none !important;
	}

	body.cy-is-wiki-list .cy-tree-archive-panels,
	body.cy-is-wiki-list .cy-tree-list-panels {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--cy-mobile-section-gap);
	}

	/* 숏코드 상세: theme post-single 카드와 wiki reader 중첩 제거 */
	body.cy-is-wiki-single .cy-post-single:has(.cy-mini-wiki),
	body.cy-is-wiki-detail .cy-main-panel--enabled,
	body.cy-is-wiki-list .cy-mini-wiki--single {
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	body.cy-is-wiki-detail .cy-mini-wiki--single > .cy-wiki-single,
	body.cy-is-wiki-list .cy-mini-wiki--single > .cy-wiki-single {
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.cy-is-wiki-detail .cy-wiki-reader,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader {
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		background: var(--cy-mobile-surface-bg);
		box-shadow: var(--cy-mobile-surface-shadow);
		overflow: hidden;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-header,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-header {
		padding: 12px 0 8px;
		border-bottom: 1px solid color-mix(in srgb, var(--cy-inner-line-color, #b7d9f1) 55%, transparent);
	}

	body.cy-is-wiki-detail .cy-wiki-reader-kicker,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-kicker {
		display: none;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-layout,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-layout {
		margin-top: var(--cy-wiki-mobile-section-gap, 18px);
		padding: 0 0 16px;
		background: transparent;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-summary,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-summary {
		padding: var(--cy-wiki-mobile-inset-box-padding, 16px);
		border-bottom: 1px solid color-mix(in srgb, var(--cy-inner-line-color, #b7d9f1) 45%, transparent);
	}

	body.cy-is-wiki-detail .cy-wiki-reader-summary p,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-summary p {
		max-width: none;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-featured-image,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-featured-image {
		padding: 8px 0 0;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		font-size: 15px;
		line-height: 1.8;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content blockquote,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content blockquote,
	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-callout,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-callout,
	body.cy-is-wiki-detail .cy-wiki-reader-content .is-style-cy-wiki-callout,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .is-style-cy-wiki-callout,
	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-faq-question,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-faq-question {
		margin-left: 0;
		margin-right: 0;
		padding: var(--cy-wiki-mobile-inset-box-padding);
		box-shadow: none;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-faq-question,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-faq-question {
		padding-left: 42px;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-auto-summary-heading,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-auto-summary-heading,
	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-auto-summary-content,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-auto-summary-content {
		margin-left: 0;
		margin-right: 0;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-auto-summary-heading,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-auto-summary-heading {
		padding: var(--cy-wiki-mobile-inset-box-padding);
		padding-bottom: 10px;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-auto-summary-content,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-auto-summary-content {
		padding: 0 var(--cy-wiki-mobile-inset-box-padding) var(--cy-wiki-mobile-inset-box-padding);
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content :where(p, li, dd, dt, a, figcaption, .cy-wiki-callout-title),
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content :where(p, li, dd, dt, a, figcaption, .cy-wiki-callout-title) {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-table-scroll,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-table-scroll,
	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-code-block,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-code-block {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		max-width: 100%;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-table-scroll,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-table-scroll {
		margin: 1.6em 0;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-table-scroll table,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-table-scroll table {
		width: max-content;
		min-width: 100%;
		margin: 0;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-table-scroll th,
	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-table-scroll td,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-table-scroll th,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-table-scroll td {
		white-space: normal;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content .cy-wiki-code-block pre,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content .cy-wiki-code-block pre {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		max-width: none;
		white-space: pre;
		word-break: normal;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content :not(pre) > code,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content :not(pre) > code {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content h2,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content h2 {
		padding-left: var(--cy-wiki-mobile-inset-box-padding, 16px);
	}

	body.cy-is-wiki-detail .cy-wiki-reader-content h3,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-content h3 {
		padding-left: var(--cy-wiki-mobile-inset-box-padding, 16px);
	}

	body.cy-is-wiki-detail .cy-wiki-reader-taxonomy,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader-taxonomy {
		padding: 10px 0 12px;
		border-top: 1px solid color-mix(in srgb, var(--cy-inner-line-color, #b7d9f1) 45%, transparent);
	}

	body.cy-is-wiki-single .cy-post-single-header {
		margin-bottom: 8px;
		padding-bottom: 8px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	body.cy-is-wiki-single .cy-post-single-date {
		margin-bottom: 6px;
		font-size: 11px;
	}

	body.cy-is-wiki-single .cy-post-single-title {
		font-size: 1.3rem;
		line-height: 1.4;
	}

	body.cy-is-wiki-single .cy-post-single-body {
		margin-top: 0;
		padding: 0;
		font-size: 15px;
		line-height: 1.8;
	}

	body.cy-is-wiki-list .cy-tree-archive-panel--detail {
		border: none;
		border-radius: 0;
		box-shadow: none;
		margin: 0;
		background: transparent;
		padding: 0;
	}

	body.cy-is-wiki-list .cy-tree-archive-detail {
		padding: 12px 14px;
		margin-bottom: var(--cy-mobile-section-gap);
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		background: var(--cy-mobile-surface-bg);
		box-shadow: var(--cy-mobile-surface-shadow);
	}

	body.cy-is-wiki-list .cy-tree-archive-detail-title {
		font-size: 1.25rem;
		line-height: 1.4;
		margin-bottom: 6px;
	}

	body.cy-is-wiki-list .cy-tree-archive-detail-meta {
		font-size: 11px;
		margin-bottom: 10px;
		padding-bottom: 0;
		border-bottom: none;
	}

	body.cy-is-wiki-list .cy-tree-archive-detail-content {
		font-size: 15px;
		line-height: 1.8;
		margin-top: 0;
		padding-top: 0;
		padding-left: 0;
		padding-right: 0;
		max-width: none;
	}

	/* ================================================================
	   3. 게시판 상세
	   ================================================================ */

	body.single:not(.cy-is-wiki-single) .cy-post-single,
	.cy-post-single {
		padding: var(--cy-mobile-card-padding);
		margin-bottom: var(--cy-mobile-section-gap);
		box-sizing: border-box;
	}

	body.cy-is-wiki-single .cy-post-single {
		padding: 12px 14px;
		box-sizing: border-box;
	}

	body.cy-is-wiki-single .cy-post-single:has(.cy-mini-wiki) {
		padding: 0;
		border: none;
		background: transparent;
		box-shadow: none;
	}

	.cy-post-single-header {
		margin-bottom: 12px;
		padding-bottom: 10px;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.cy-post-single-title-row {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.cy-post-single-title {
		font-size: 1.35rem;
		line-height: 1.4;
	}

	.cy-post-actions {
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 6px;
	}

	.cy-post-actions .cy-btn {
		min-height: 30px;
		min-width: 0;
		padding: 0 10px;
		font-size: 11px;
		font-weight: 600;
		border: 1px solid rgba(0, 0, 0, 0.12);
		border-radius: 8px;
		background: color-mix(in srgb, var(--cy-content-bg-color, #fff) 92%, #f0f0f1);
		color: var(--cy-text-color, #203850);
		box-shadow: none;
	}

	.cy-post-actions .cy-btn:hover,
	.cy-post-actions .cy-btn:focus-visible {
		background: color-mix(in srgb, var(--cy-content-bg-color, #fff) 85%, #e8e8e8);
		box-shadow: none;
	}

	.cy-post-single-body.cy-post-content {
		padding-left: 0;
		padding-right: 0;
		font-size: 13px;
		line-height: 1.75;
	}

	/* 목록 카드 (게시판·다이어리 공통) */
	.cy-post-card {
		padding: var(--cy-mobile-card-padding);
		margin-bottom: var(--cy-mobile-section-gap);
		box-sizing: border-box;
	}

	.cy-post-card:last-child {
		margin-bottom: 0;
	}

	/* ================================================================
	   4. Gallery
	   ================================================================ */

	body.cy-is-gallery-list .cy-main-panel--enabled .wp-block-group,
	body.cy-is-gallery-list .cy-main-panel--enabled .wp-block-shortcode {
		margin: 0;
		padding: 0;
		border: none;
		background: transparent;
		box-shadow: none;
	}

	body.cy-is-gallery-list .cy-content-inner {
		padding: 8px 12px 16px;
	}

	body.cy-is-gallery-list .cy-main-panel--enabled {
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	body.cy-is-gallery-list .cy-main-panel--enabled .cy-mini-gallery {
		padding: 0;
	}

	body.cy-is-gallery-list .cy-mini-gallery .cy-gallery-item-inner {
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		box-shadow: none;
	}

	/* ── Gallery 상세: 사진 우선, 중첩 제거 ── */
	body.single-cy_gallery .cy-content-inner {
		padding: 8px 12px 16px;
	}

	body.single-cy_gallery .cy-main-panel--enabled {
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	body.single-cy_gallery .cy-gallery-single-page {
		padding: 0;
		margin: 0;
	}

	body.single-cy_gallery .cy-gallery-single,
	body.single-cy_gallery .cy-gallery-single-inner {
		padding: 0;
		border: none;
		background: transparent;
		box-shadow: none;
	}

	body.single-cy_gallery .cy-gallery-single {
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		background: var(--cy-mobile-surface-bg);
		box-shadow: var(--cy-mobile-surface-shadow);
		overflow: hidden;
	}

	body.single-cy_gallery .cy-gallery-header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"title title"
			"meta meta"
			"actions actions";
		gap: 6px 10px;
		align-items: center;
		margin: 0;
		padding: 12px 14px 10px;
		border-bottom: 1px solid color-mix(in srgb, var(--cy-inner-line-color, #b7d9f1) 50%, transparent);
	}

	body.single-cy_gallery .cy-gallery-title-wrap {
		grid-area: title;
		flex: none;
		min-width: 0;
	}

	body.single-cy_gallery .cy-gallery-single-title {
		margin: 0 0 4px;
		font-size: 1.15rem;
		line-height: 1.35;
	}

	body.single-cy_gallery .cy-gallery-single-meta {
		grid-area: meta;
		gap: 4px 8px;
		margin: 0;
		font-size: 11px;
	}

	body.single-cy_gallery .cy-gallery-actions {
		grid-area: actions;
		display: flex;
		flex: none;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 0;
	}

	body.single-cy_gallery .cy-gallery-actions a {
		flex: 0 0 auto;
		min-width: 0;
		white-space: nowrap;
	}

	body.single-cy_gallery .cy-gallery-single-content {
		padding: 0;
		font-size: 14px;
		line-height: 1.65;
	}

	body.single-cy_gallery .cy-gallery-single-content {
		display: flex;
		flex-direction: column;
	}

	body.single-cy_gallery .cy-gallery-single-content .wp-block-image,
	body.single-cy_gallery .cy-gallery-single-content figure.wp-block-image,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-gallery,
	body.single-cy_gallery .cy-gallery-single-content > figure {
		order: -1;
	}

	body.single-cy_gallery .cy-gallery-single-content img,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-image img,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-image img.cy-content-lightbox-image,
	body.single-cy_gallery .cy-gallery-single-content .cyg-mosaic-wrap img {
		display: block;
		width: 100%;
		max-width: 100% !important;
		height: auto;
		margin: 0;
		border-radius: 0;
		box-shadow: none !important;
	}

	body.single-cy_gallery .cy-gallery-single-content .wp-block-image,
	body.single-cy_gallery .cy-gallery-single-content figure.wp-block-image {
		margin: 0 0 6px;
	}

	body.single-cy_gallery .cy-gallery-single-content .wp-block-image:last-of-type,
	body.single-cy_gallery .cy-gallery-single-content figure.wp-block-image:last-of-type {
		margin-bottom: 4px;
	}

	body.single-cy_gallery .cy-gallery-single-content .wp-block-image + p,
	body.single-cy_gallery .cy-gallery-single-content figure.wp-block-image + p,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-image + .wp-block-paragraph {
		margin-top: 10px;
	}

	body.single-cy_gallery .cy-gallery-single-content > p,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-paragraph {
		padding: 0 14px;
		margin-top: 0;
		margin-bottom: 0.85em;
	}

	body.single-cy_gallery .cy-gallery-single-content > p:last-child,
	body.single-cy_gallery .cy-gallery-single-content .wp-block-paragraph:last-child {
		margin-bottom: 14px;
	}

	body.single-cy_gallery .cy-gallery-single-inner .cy-comments-collapsible,
	body.single-cy_gallery .cy-gallery-single-nav {
		margin: 12px 14px 0;
		padding-top: 10px;
	}

	body.single-cy_gallery .cy-post-single {
		padding: 0;
		border: none;
		background: transparent;
		box-shadow: none;
	}

	/* ================================================================
	   5. Diary / Calendar
	   ================================================================ */

	.cy-diary-list:not(.cy-diary-list--cards) {
		padding: 0 var(--cy-mobile-card-padding);
		margin-bottom: var(--cy-mobile-section-gap);
		overflow: hidden;
	}

	.cy-diary-entry {
		padding: var(--cy-mobile-card-padding) 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	.cy-diary-entry:last-child {
		border-bottom: none;
	}

	.cy-diary-title {
		font-size: 1rem;
		line-height: 1.45;
	}

	.cy-diary-body {
		font-size: 13px;
		line-height: 1.65;
	}

	/* Diary 카드형: 태그 최대 2개만 표시 */
	.cy-diary-list .cy-post-meta {
		gap: 4px;
		margin-bottom: 8px;
	}

	.cy-diary-list .cy-post-tag-badge:nth-of-type(n+3) {
		display: none;
	}

	.cy-diary-list .cy-post-tag-badge {
		font-size: 10px;
		padding: 0 6px;
		min-height: 18px;
		font-weight: 600;
	}

	/* Calendar: 달력/목록 토글 숨김 + 목록 고정 */
	body.cy-is-calendar-list .cy-mini-calendar [class*="view-toggle"],
	body.cy-is-calendar-list .cy-mini-calendar [class*="mode-switch"],
	body.cy-is-calendar-list .cy-mini-calendar [class*="view-switch"],
	body.cy-is-calendar-list .cy-mini-calendar-toolbar,
	body.cy-is-calendar-list [class*="calendar-toggle"] {
		display: none !important;
	}

	body.cy-is-calendar-list .cy-mini-calendar [class*="calendar-view"]:not([class*="list"]),
	body.cy-is-calendar-list .cy-mini-calendar__calendar,
	body.cy-is-calendar-list .cy-mini-calendar-calendar {
		display: none !important;
	}

	body.cy-is-calendar-list .cy-mini-calendar [class*="list-view"],
	body.cy-is-calendar-list .cy-mini-calendar__list,
	body.cy-is-calendar-list .cy-mini-calendar-list {
		display: block !important;
	}

	/* 트리 게시판 (Wiki 외) */
	.cy-tree-archive-panel:not(.cy-tree-archive-panel--detail) {
		padding: var(--cy-mobile-card-padding);
		margin-bottom: var(--cy-mobile-section-gap);
		box-sizing: border-box;
	}

	.cy-tree-archive-detail {
		padding: var(--cy-mobile-card-padding);
		margin-bottom: var(--cy-mobile-section-gap);
		box-sizing: border-box;
	}

	/* 본문 미디어 */
	.cy-post-single-body img,
	.cy-post-content img,
	.cy-gallery-single-content img,
	.cy-post-thumb img,
	.cy-post-single-body .wp-block-image img,
	.cy-post-single-body iframe,
	.cy-post-content iframe,
	.cy-post-single-body .wp-block-embed iframe {
		max-width: 100%;
		height: auto;
	}

	/* plugin/페이지 CSS보다 뒤에 로드돼도 surface 통일 (specificity ↑) */
	body .cy-tree-archive-panel:not(.cy-tree-archive-panel--detail),
	body .cy-home-card,
	body .cy-home-preview-card,
	body .cy-home-hero-featured-card,
	body .cy-post-card,
	body .cy-home-notice,
	body .cy-profile-main,
	body .cy-mobile-profile-card,
	body.single .cy-post-single:not(:has(.cy-mini-wiki)),
	body.single-cy_gallery .cy-gallery-single,
	body.cy-is-wiki-detail .cy-wiki-reader,
	body.cy-is-wiki-list .cy-mini-wiki--single .cy-wiki-reader,
	body .cy-diary-list:not(.cy-diary-list--cards) {
		border: var(--cy-mobile-surface-border);
		border-radius: var(--cy-mobile-surface-radius);
		background: var(--cy-mobile-surface-bg);
		box-shadow: var(--cy-mobile-surface-shadow);
	}

	body.cy-is-wiki-single .cy-post-single:has(.cy-mini-wiki),
	body.cy-is-wiki-detail .cy-mini-wiki--single > .cy-wiki-single {
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}
}
