/* 沿用既有 Bussbit Logo 與專案的紅、黃配色；表單資料識別值保持不變。 */
:root {
  --bg:#fff7f7; --fg:#292122; --muted:#6f6264; --card:#fff;
  --line:#ead7d7; --line2:#d6b9bc; --hd:#fff0ee;
  --ab:#fff0ee; --af:#a9000d; --wb:#fff4cc; --wf:#735000;
  --ob:#fff0ee; --of:#a9000d; --ol:#e60012;
  --brand-action:#d90011; --brand-yellow:#ffc107; --brand-soft:#fff4cc;
  --brand-note:#765500; --brand-hero:#fff; --brand-white:#fff;
  color-scheme:light;
}
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --bg:#211b1c; --fg:#fff4f1; --muted:#d1bfc0; --card:#302628;
    --line:#60484d; --line2:#86636a; --hd:#3d2b30;
    --ab:#4b252d; --af:#ffb2ad; --wb:#493a1b; --wf:#ffda76;
    --ob:#4b252d; --of:#ffb2ad; --ol:#ff8178;
    --brand-soft:#493a1b; --brand-note:#ffda76; --brand-hero:#302628;
    color-scheme:dark;
  }
}
:root[data-theme="dark"] {
  --bg:#211b1c; --fg:#fff4f1; --muted:#d1bfc0; --card:#302628;
  --line:#60484d; --line2:#86636a; --hd:#3d2b30;
  --ab:#4b252d; --af:#ffb2ad; --wb:#493a1b; --wf:#ffda76;
  --ob:#4b252d; --of:#ffb2ad; --ol:#ff8178;
  --brand-soft:#493a1b; --brand-note:#ffda76; --brand-hero:#302628;
  color-scheme:dark;
}
* { box-sizing:border-box; }
body { border-top:5px solid var(--brand-action); text-wrap:pretty; }
.wrap { max-width:1040px; padding:0 24px 36px; }
.brand-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; }
.logo-plate { background:var(--brand-white); padding:7px 12px; border-radius:10px; }
.logo-plate img { display:block; width:176px; height:auto; }
.brand-header p { margin:0; color:var(--muted); font-size:13px; }
.brief { padding:26px 30px 22px; margin-bottom:24px; background:var(--brand-hero); border:1px solid var(--line); border-radius:14px; }
h1 { font-size:clamp(26px,4vw,34px); line-height:1.3; letter-spacing:-.02em; font-weight:700; margin:0 0 10px; }
.brief-lead { font-size:19px; line-height:1.6; margin:0 0 10px; }
.brief-lead strong { color:var(--af); font-weight:600; }
.brief-copy { max-width:70ch; margin:0; font-size:15px; line-height:1.8; color:var(--muted); }
.fill-steps { display:flex; flex-wrap:wrap; gap:8px 28px; list-style:none; counter-reset:fill; padding:14px 18px; margin:18px 0 12px; background:var(--brand-soft); border-radius:8px; color:var(--brand-note); }
.fill-steps li { display:flex; align-items:center; gap:8px; font-size:13px; line-height:1.6; counter-increment:fill; }
.fill-steps li::before { content:counter(fill); display:inline-grid; place-items:center; width:22px; height:22px; flex:none; border:1px solid currentColor; border-radius:50%; font-size:12px; font-weight:600; }
.brief-note { margin:0; font-size:13px; color:var(--muted); line-height:1.7; }
.btn { min-height:44px; font-size:14px; padding:8px 16px; }
.btn.pri { background:var(--brand-action); border-color:var(--brand-action); color:var(--brand-white); }
.btn:hover:not(:disabled) { border-color:var(--af); }
.btn.pri:hover:not(:disabled) { filter:brightness(.92); }
.btn:active:not(:disabled) { transform:translateY(1px); }
:focus-visible { outline:3px solid var(--af); outline-offset:3px; }
::selection { background:var(--brand-action); color:var(--brand-white); }
* { scrollbar-color:var(--line2) var(--bg); }
input { accent-color:var(--brand-action); }
.it { min-height:76px; padding:10px; font-size:14px; border-radius:8px; }
.it:hover { border-color:var(--af); }
.it input { width:17px; height:17px; margin-top:2px; }
.h { padding:12px 6px; font-size:15px; }
.h small { margin-top:4px; }
.nt { font-size:12px; line-height:1.6; }
.tg { font-size:11px; padding:2px 7px; }
.st { font-size:13px; line-height:1.6; min-height:22px; }
#cnt { font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; }
.root { width:220px; margin:18px auto; padding:10px; }
.dl { margin-top:24px; padding:16px; border-radius:12px; }
.brand-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); color:var(--af); font-size:14px; font-weight:600; }
.brand-footer span { font-size:12px; color:var(--muted); font-weight:400; }
@media(max-width:640px) {
  .wrap { padding:0 16px 28px; }
  .brand-header { gap:10px; padding:14px 0; }
  .logo-plate { padding:5px 8px; }
  .logo-plate img { width:142px; }
  .brand-header p { font-size:12px; text-align:right; }
  .brief { padding:20px 18px; margin-bottom:20px; }
  .brief-lead { font-size:17px; }
  .brief-copy { font-size:14px; }
  .fill-steps { display:grid; gap:10px; padding:14px; }
  .top { gap:8px; }
  .top .trk { min-width:70px; }
  .top .btn { padding:8px 12px; }
  .g { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .col { min-width:0; }
  .it { padding:9px 7px; gap:5px; }
  .it>div { min-width:0; overflow-wrap:anywhere; }
  .it input { flex-shrink:0; }
}
@media(max-width:359px) { .top .trk { flex-basis:100%; order:1; } .brand-header p { max-width:85px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; } }
