:root {
  --ink:#10213e;
  --muted:#607088;
  --blue:#2878f0;
  --line:#e0e9f5;
  --paper:#fff;
  --background:#f5f8fd;
  --warning:#fff8e7;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:var(--background);
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans TC",Arial,sans-serif;
  line-height:1.72;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
a { color:#155fae; }
.container { width:min(960px,calc(100% - 36px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:rgba(255,255,255,.95); backdrop-filter:blur(14px); }
.nav { display:flex; min-height:70px; align-items:center; justify-content:space-between; gap:18px; }
.brand { display:inline-flex; min-width:0; align-items:center; gap:10px; color:#26354c; font-weight:800; text-decoration:none; }
.brand img { width:34px; height:34px; border-radius:10px; box-shadow:0 5px 14px rgba(31,119,245,.18); }
.language-selector { min-height:42px; padding:7px 30px 7px 10px; border:1px solid var(--line); border-radius:9px; color:#34445d; background:#fff; font:inherit; font-size:.86rem; font-weight:700; }
.language-selector:focus-visible,a:focus-visible,button:focus-visible { outline:3px solid rgba(40,120,240,.3); outline-offset:3px; }

.identity-strip { border-bottom:1px solid #f1d89b; background:var(--warning); }
.identity-strip .container { display:flex; align-items:flex-start; gap:10px; padding-top:12px; padding-bottom:12px; color:#624a16; font-size:.86rem; }
.identity-strip strong { flex:0 0 auto; }

.breadcrumb { display:flex; flex-wrap:wrap; gap:8px; padding:28px 0 0; color:#76859a; font-size:.86rem; }
.breadcrumb a { color:#4d6f98; text-decoration:none; }
.page-shell { padding:22px 0 72px; }
.legal-card { padding:clamp(24px,5vw,54px); border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 20px 52px rgba(13,39,81,.09); }
.page-kicker { margin:0 0 8px; color:var(--blue); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.3; }
h1 { margin:0 0 10px; color:#1b2f4e; font-size:clamp(2rem,6vw,3.1rem); letter-spacing:-.04em; }
h2 { margin:36px 0 12px; padding-top:4px; color:#1c3558; font-size:1.35rem; }
h3 { margin:24px 0 8px; font-size:1.05rem; }
p { margin:0 0 14px; }
.lede { color:var(--muted); font-size:1.03rem; }
.updated { margin:18px 0 28px; padding:12px 14px; border-radius:10px; color:#52647c; background:#f4f8fd; font-size:.9rem; }
ul,ol { margin:10px 0 18px; padding-left:1.35rem; }
li { margin:6px 0; }
.notice { margin:20px 0; padding:16px 18px; border:1px solid #f0d28a; border-radius:12px; color:#614710; background:#fff8e5; }
.danger-notice { border-color:#efc5c5; color:#733333; background:#fff4f4; }
.data-table { width:100%; margin:18px 0; border-collapse:collapse; font-size:.92rem; }
.data-table th,.data-table td { padding:12px; border:1px solid var(--line); vertical-align:top; text-align:left; overflow-wrap:anywhere; }
.data-table th { width:28%; background:#f5f8fd; }
code { overflow-wrap:anywhere; color:#203f68; font-family:Consolas,"SFMono-Regular",monospace; font-size:.88em; }
.action-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:32px; padding-top:22px; border-top:1px solid var(--line); }
.action-links a { font-weight:700; text-decoration:none; }
.action-links a:hover { text-decoration:underline; }

.contact-card { margin-top:18px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#f8fbff; }
.contact-card a { font-size:1.05rem; font-weight:800; }
.contact-form { display:grid; gap:16px; margin-top:24px; }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.form-field { display:grid; gap:7px; }
.form-field label { color:#273b59; font-size:.9rem; font-weight:800; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid #cedaea; border-radius:9px; color:#1f3048; background:#fff; font:inherit; }
.form-field textarea { min-height:150px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:3px solid rgba(40,120,240,.22); border-color:#70a7ed; }
.form-consent { display:flex; align-items:flex-start; gap:9px; color:#53637a; font-size:.88rem; }
.form-consent input { width:18px; height:18px; margin-top:4px; }
.contact-submit { min-height:48px; padding:11px 20px; border:0; border-radius:10px; color:#fff; background:#2674d7; font:inherit; font-weight:800; cursor:pointer; }
.contact-submit[disabled] { opacity:.65; cursor:wait; }
.form-status { min-height:26px; margin:0; font-size:.9rem; font-weight:700; }
.form-status.success { color:#167342; }
.form-status.error { color:#a23232; }
.honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.site-footer { padding:34px 0; color:#b7c5da; background:#07172f; }
.footer-content { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.footer-content p { margin:0; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 18px; }
.footer-links a { color:#d9e8fb; text-decoration:none; }

[data-language-content][hidden] { display:none !important; }

@media (max-width:620px) {
  .container { width:calc(100% - 24px); }
  .nav { min-height:62px; gap:10px; }
  .brand { font-size:.9rem; }
  .brand img { width:30px; height:30px; }
  .language-selector { max-width:108px; min-height:42px; padding-left:8px; font-size:.76rem; }
  .identity-strip .container { font-size:.78rem; }
  .breadcrumb { padding-top:18px; }
  .page-shell { padding-top:16px; padding-bottom:48px; }
  .legal-card { padding:23px 18px; border-radius:16px; }
  .data-table,.data-table tbody,.data-table tr,.data-table th,.data-table td { display:block; width:100%; }
  .data-table th { border-bottom:0; }
  .data-table tr + tr th { border-top:0; }
  .form-row { grid-template-columns:1fr; }
  .footer-content { flex-direction:column; }
  .footer-links { justify-content:flex-start; }
}
