/* assets/css/site.css — 柚城盃共用主題（柚子綠） */
:root { --brand:#16a34a; --brand-dark:#166534; --brand-pale:#f0fdf4; --brand-border:#bbf7d0; --ink:#1c1917; }
* { font-family:"Noto Sans TC",system-ui,-apple-system,sans-serif; }
body { background:var(--brand-pale); color:var(--ink); }
.card { border:none; border-radius:16px; box-shadow:0 8px 28px rgba(20,83,45,.08); }
.card-header { background:#fff; border-bottom:1px solid var(--brand-border); border-radius:16px 16px 0 0 !important; font-weight:700; }
.btn-primary, .bg-primary { background-color:var(--brand) !important; border-color:var(--brand) !important; }
.btn-primary:hover, .btn-primary:focus { background-color:var(--brand-dark) !important; border-color:var(--brand-dark) !important; }
.btn-outline-primary { color:var(--brand-dark) !important; border-color:var(--brand) !important; }
.btn-outline-primary:hover { background-color:var(--brand) !important; border-color:var(--brand) !important; color:#fff !important; }
.form-check-input:checked { background-color:var(--brand); border-color:var(--brand); }
.form-select, .form-control { border-radius:10px; border-color:var(--brand-border); padding:.6rem .8rem; }
.form-select:focus, .form-control:focus { border-color:var(--brand); box-shadow:0 0 0 .2rem rgba(22,163,74,.15); }
.site-hero {
  background:linear-gradient(135deg,#16a34a 0%,#166534 55%,#14532d 100%);
  color:#fff; padding:2.4rem 1rem 3.2rem; text-align:center;
}
.site-hero h1 { font-weight:900; font-size:1.6rem; margin-bottom:.3rem; }
.site-hero .meta { opacity:.92; font-size:.9rem; }
.site-shell { max-width:620px; margin:-2.2rem auto 2.5rem; padding:0 16px; }
.site-shell.wide { max-width:1080px; }
.query-link { color:#fff; text-decoration:underline; opacity:.95; }
.query-link:hover { color:#fff; opacity:1; }
