/* 上線用補充樣式（版型樣式在各頁 <style> 內） */
html { background: #FFFFFF; }
body[data-mode="d"] { margin: 0 auto; }
a.card, a.tab { cursor: pointer; }
a.card:hover .h3 { color: var(--dgold); }

/* 表單 */
input.in, textarea.in, select.in { width: 100%; font: inherit; font-size: 15px; color: var(--navy); outline: none; }
input.in::placeholder, textarea.in::placeholder { color: #8A8486; }
input.in:focus, textarea.in:focus, select.in:focus { border-color: var(--gold); }
textarea.in { display: block; padding: 14px 18px; line-height: 1.7; }
.chip { cursor: pointer; position: relative; user-select: none; }
.chip input, .chk input { position: absolute; opacity: 0; pointer-events: none; }
.chip:has(input:checked) { border-color: var(--gold); color: var(--dgold); background: #FBF6EC; }
.chip:has(input:checked) .box, .chk:has(input:checked) .box { background: var(--gold); border-color: var(--gold); }
.chk { cursor: pointer; position: relative; }
button.btn:disabled { opacity: .6; cursor: wait; }

/* 文章內文 */
.prose { font-size: 17px; line-height: 2; color: var(--navy); }
.prose > * + * { margin-top: 1.1em; }
.prose h2 { font-family: 'Noto Serif TC', serif; font-size: 28px; line-height: 1.5; margin-top: 1.8em; }
.prose h3 { font-family: 'Noto Serif TC', serif; font-size: 22px; line-height: 1.5; margin-top: 1.6em; }
.prose img { max-width: 100%; height: auto; border-radius: 12px; display: block; }
.prose a { color: var(--dgold); text-decoration: underline; }
.prose ul, .prose ol { padding-left: 1.5em; }
.prose blockquote { border-left: 3px solid var(--gold); padding: 4px 0 4px 20px; color: var(--ink2); }
body[data-mode="m"] .prose { font-size: 16px; line-height: 1.95; }
body[data-mode="m"] .prose h2 { font-size: 22px; }
