:root{--ink:#2b2721;--paper:#f2ede3;--dim:#6f675c;--line:#d3cbbc;--field:#f8f5ee;--soft:#e8e2d5;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.75}
main{max-width:720px;margin:0 auto;padding:40px 24px 80px}
header{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:2px solid var(--ink)}
header img{width:64px;height:64px;border-radius:14px}
header h1{font-size:24px;margin:0;letter-spacing:.06em}
header small{display:block;color:var(--dim);font-size:13px;letter-spacing:.12em}
nav{margin:14px 0 0;font-size:14px;display:flex;flex-wrap:wrap;gap:4px 16px}nav a{color:var(--ink);padding:4px 0}
h2{font-size:18px;margin:36px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--ink)}
h3{font-size:16px;margin:22px 0 6px}
table{width:100%;border-collapse:collapse;font-size:15px}
td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-weight:500;color:var(--dim);font-size:13px}
.note{border-left:3px solid var(--ink);padding:6px 0 6px 14px;color:var(--dim);font-size:14px}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.95em}
footer{margin-top:60px;color:var(--dim);font-size:13px}
a{color:var(--ink)}
@media (max-width:480px){main{padding:24px 18px 64px}header img{width:52px;height:52px}header h1{font-size:21px}h2{margin-top:30px}}

/* ===== 對我說 ===== */
.say{margin-top:18px}
.say-field{margin:18px 0}
.say-field>label{display:block;font-size:13px;color:var(--dim);letter-spacing:.08em;margin-bottom:6px}
.say input[type=text],.say input[type=email]{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:0;padding:12px 14px;line-height:1.5;-webkit-appearance:none;appearance:none}
.say input:focus,.say textarea:focus{outline:none}
.say input:focus,.say-box:focus-within{border-color:var(--ink)}
/* 訊息＋圖片同一個框 */
.say-box{border:1px solid var(--line);background:var(--field)}
.say-box.over{border-color:var(--ink);border-style:dashed}
.say textarea{display:block;width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-radius:0;padding:12px 14px;line-height:1.6;resize:vertical;min-height:150px}
.say-strip{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--line);flex-wrap:wrap}
.say-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.say-thumb{position:relative;width:64px;height:64px;border:1px solid var(--line);background:var(--soft);overflow:hidden}
.say-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.say-thumb .rm{position:absolute;top:0;right:0;width:24px;height:24px;background:var(--ink);color:var(--paper);border:0;font-size:15px;line-height:24px;cursor:pointer;padding:0}
.say-thumb.busy::after{content:"";position:absolute;inset:0;background:rgba(242,237,227,.6)}
.say-add{font:inherit;font-size:14px;color:var(--ink);background:transparent;border:1px dashed var(--dim);padding:6px 12px;cursor:pointer;min-height:40px}
.say-add:disabled{opacity:.4;cursor:default}
.say-strip .say-hint{margin:0 0 0 auto}
.say-hint{font-size:13px;color:var(--dim);margin-top:6px}
.say-err{font-size:13px;color:#8a3b2a;margin-top:6px;min-height:1em}
.say-hp{position:absolute;left:-9999px;top:-9999px}
.say-actions{display:flex;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}
.say-actions .say-hint{margin:0}
.say button[type=submit]{font:inherit;font-size:16px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 32px;cursor:pointer;letter-spacing:.1em;min-height:48px}
.say button[type=submit]:disabled{opacity:.5;cursor:default}
.say-done{margin-top:18px}
.cf-turnstile{margin-top:18px}
@media (max-width:480px){
  .say button[type=submit]{width:100%}
  .say-strip .say-hint{margin-left:0;width:100%}
  .say-thumb{width:56px;height:56px}
}
@media (prefers-reduced-motion:no-preference){.say-box,.say input{transition:border-color .15s}}
