/* ===== 基礎 ===== */
html { -webkit-text-size-adjust: 100%; }
:lang(ja) body { font-family: 'Inter', 'Noto Sans JP', system-ui, sans-serif; }
:lang(ja) .font-serif { font-family: 'Lora', 'Noto Serif JP', serif; }
:lang(zh-Hant) body { font-family: 'Inter', 'Noto Sans TC', system-ui, sans-serif; }
:lang(zh-Hant) .font-serif { font-family: 'Lora', 'Noto Serif TC', serif; }

.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

@keyframes heartbeat { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.12); } 28% { transform: scale(1); } 42% { transform: scale(1.12); } 70% { transform: scale(1); } }
.animate-heartbeat { animation: heartbeat 2.2s ease-in-out infinite; }

/* 隱藏 number input 的箭頭 */
#custom-amount::-webkit-outer-spin-button, #custom-amount::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#custom-amount { -moz-appearance: textfield; }

/* ===== 文章排版 ===== */
.prose-article { font-size: 1.0625rem; line-height: 1.85; color: #334155; }
.prose-article > * + * { margin-top: 1.25em; }
.prose-article h2 { font-family: 'Lora', 'Noto Serif TC', 'Noto Serif JP', serif; font-weight: 700; font-size: 1.6rem; line-height: 1.3; color: #0f172a; margin-top: 2.4em; padding-bottom: .4em; border-bottom: 2px solid #ede8dd; position: relative; }
.prose-article h2::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 3rem; height: 2px; background: #f2922f; }
.prose-article h3 { font-weight: 700; font-size: 1.2rem; color: #115e59; margin-top: 1.8em; }
.prose-article p { margin-top: 1.1em; }
.prose-article a { color: #0d9488; text-decoration: underline; text-underline-offset: 3px; }
.prose-article strong { color: #0f172a; font-weight: 700; background: linear-gradient(transparent 60%, #fde3bf 60%); }
.prose-article em { color: #475569; }
.prose-article ul, .prose-article ol { padding-left: 1.5rem; }
.prose-article ul li { list-style: none; position: relative; padding-left: .25rem; margin-top: .5em; }
.prose-article ul li::before { content: ''; position: absolute; left: -1.1rem; top: .75em; width: .45rem; height: .45rem; border-radius: 9999px; background: #14b8a6; }
.prose-article ol { counter-reset: item; }
.prose-article ol li { list-style: none; position: relative; counter-increment: item; margin-top: .6em; padding-left: .5rem; }
.prose-article ol li::before { content: counter(item); position: absolute; left: -1.75rem; top: .15em; width: 1.5rem; height: 1.5rem; border-radius: 9999px; background: #ccfbf1; color: #0f766e; font-size: .8rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.prose-article blockquote { margin: 1.8em 0; padding: 1.25rem 1.5rem; border-left: 4px solid #f2922f; background: #fffbf5; border-radius: 0 1rem 1rem 0; font-family: 'Lora', 'Noto Serif TC', 'Noto Serif JP', serif; font-size: 1.1rem; color: #7c2d12; }
.prose-article blockquote p { margin: 0; }
.prose-article hr { border: 0; height: 1px; background: #ede8dd; margin: 2.5em 0; }
.prose-article code { background: #f1f5f9; padding: .15em .4em; border-radius: .35rem; font-size: .9em; }
.prose-article img { border-radius: 1rem; margin: 1.5em 0; }

/* 表格 */
.prose-article table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 1.8em 0; font-size: .95rem; border: 1px solid #ede8dd; border-radius: 1rem; overflow: hidden; display: block; overflow-x: auto; }
.prose-article thead th { background: #0f766e; color: #fff; font-weight: 600; text-align: left; padding: .8rem 1rem; white-space: nowrap; }
.prose-article tbody td { padding: .75rem 1rem; border-top: 1px solid #ede8dd; vertical-align: top; }
.prose-article tbody tr:nth-child(even) td { background: #fcfbf8; }
.prose-article tbody tr:hover td { background: #f0fdfa; }
@media (min-width: 640px) { .prose-article table { display: table; } }

/* 最後一段的免責聲明斜體 */
.prose-article > p:last-child em { display: block; margin-top: 2em; padding: 1rem 1.25rem; background: #f7f4ee; border-radius: .75rem; font-size: .9rem; color: #64748b; }

/* 列印 */
@media print { #site-header, #site-footer, #support-banner, .share-btn { display: none !important; } }

/* 隱藏捲軸（導覽列溢出時仍可橫向捲動） */
.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}
.no-scrollbar::-webkit-scrollbar{display:none}
