@charset "UTF-8";
/* TEST 2025-08-26 15:49 */

:root {
	--border: #d0d4dc;
	--border-focus: #4a90e2;
	--bg: #ffffff;
	--bg-alt: #f5f7fa;
	--accent: #2563eb;
	--radius: 6px;
	--transition: 260ms cubic-bezier(.4, 0, .2, 1);
	--shadow: 0 2px 4px rgba(0, 0, 0, .06);
}

body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, Ubuntu, "Noto Sans TC", "Helvetica Neue", Arial, sans-serif;
	background: var(--bg-alt);
	margin: 0;
	/*padding: 0.2rem;*/
	color: #1f2937;
	line-height: 1.55;
}

h1 {
	margin-top: 0;
	font-size: 1.6rem;
}

.accordion {
	/*max-width: 860px;*/
	margin: 0 auto 0.2rem;
}

.accordion .item {
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	margin-bottom: .75rem;
	box-shadow: var(--shadow);
	overflow: hidden;
}

.accordion[data-level="1"] .item {
	border-left: 4px solid var(--accent);
}

.accordion .item:focus-within {
	border-color: var(--border-focus);
}

.accordion .item>h3, .accordion .item>h4 {
	margin: 0;
}

.accordion button.ac-trigger {
	all: unset;
	display: flex;
	width: 100%;
	align-items: center;
	gap: .75rem;
	cursor: pointer;
	padding: .95rem 1.1rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	position: relative;
	transition: background var(--transition), color var(--transition);
}

.accordion button.ac-trigger:hover {
	background: #eef5ff;
}

.accordion button.ac-trigger:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

.accordion button.ac-trigger .icon {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--accent);
	color: var(--accent);
	border-radius: 4px;
	font-size: .6rem;
	font-weight: 700;
	transition: transform var(--transition), background var(--transition),
		color var(--transition);
}

.accordion button.ac-trigger[aria-expanded="true"] .icon {
	background: var(--accent);
	color: #fff;
	transform: rotate(90deg);
}
/* 內容面板容器基底 */
.accordion .panel {
	overflow: hidden;
	max-height: 0;
	transition: max-height var(--transition);
	will-change: max-height;
}

.accordion .panel[data-open="true"] { 
	/* max-height 動態由 JS 設定 */	
}

.accordion .panel-inner {
	padding: .25rem 0.2rem 0.2rem 0.2rem;
	border-top: 1px solid var(--border);
	background: linear-gradient(#ffffff, #fafbfd);
}  
/* 次層 (Nested) 視覺稍微縮排 */
.accordion[data-level="2"] .item {
	margin: .5rem .25rem .5rem 0.75rem;
	border-left: 3px solid #94bffa;
	box-shadow: none;
}

.accordion[data-level="2"] button.ac-trigger {
	font-size: .92rem;
	padding: .7rem .85rem;
}  
/* 第三層 再縮 */ 
.accordion[data-level="3"] .item {
	margin: .4rem .25rem .4rem 1.2rem;
	border-left: 2px dashed #b3cde8;
	background: #f9fbfe;
}

.accordion[data-level="3"] button.ac-trigger {
	font-size: .86rem;
	padding: .55rem .7rem;
}

code.inline {
	background: #f1f5f9;
	padding: .15rem .4rem;
	border-radius: 4px;
	font-size: .85em;
}

.meta {
	font-size: .8rem;
	opacity: .75;
	margin-top: 2rem;
	text-align: center;
}

@media ( prefers-reduced-motion : reduce) {
	.accordion .panel {
		transition: none;
	}
	.accordion button.ac-trigger .icon {
		transition: none;
	}
}