/* ── base：重置、字、按鈕、焦點框、底部小提示 ── */
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-size:var(--fs-body);line-height:var(--lh);
  font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;line-break:strict;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;touch-action:manipulation}
[hidden]{display:none!important}
/* 鍵盤操作時看得到焦點在哪（滑鼠點不會出現） */
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-6);
  font-weight:700;font-size:var(--fs-body);min-height:var(--tap);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.btn:hover{border-color:var(--ink-3)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn.danger{color:var(--bad-ink);border-color:var(--bad)}
.linkbtn{background:none;border:0;padding:var(--sp-1) 0;min-height:var(--tap);color:var(--people-ink);font-weight:700;font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px}

#toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:var(--sp-4) var(--sp-7);border-radius:var(--r-pill);
  font-size:var(--fs-sm);font-weight:700;z-index:var(--z-toast);opacity:0;transition:opacity var(--dur);pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
#toast.on{opacity:1}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
