html { overflow-x: clip; }
body { font-family: 'Noto Sans TC', system-ui, sans-serif; overflow-x: clip; }

.mobile-menu { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.25s ease-out, visibility 0.25s; }
.mobile-menu.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

/* Collapsible section — uses <details> native */
details summary { list-style: none; cursor: pointer; }
details summary::-webkit-details-marker { display: none; }
details summary .chevron { transition: transform 0.2s ease; }
details[open] summary .chevron { transform: rotate(180deg); }

.pdfjs-viewport {
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
}

#pdfjs-canvas {
	max-width: none;
}

#pdfjs-error:not(.hidden) {
	display: flex;
}