/* WTDA design system v2 — navy / gold, square corners, bilingual type. One file for every front. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fonts/archivo-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500.woff2) format('woff2')}
:root{
  --navy:#003366;--navy-d:#00264d;--navy-l:#1a4d80;--gold:#eba91d;--gold-d:#d4961a;--sky:#2499de;--red:#c1121f;--ok:#15803d;--warn:#b45309;
  --ink:#1b2430;--muted:#5b6472;--faint:#8e95a5;--line:#e3e8ef;--border:#cfd6e0;--bg:#f4f6f9;--s2:#eef1f5;--white:#fff;
  --font:'IBM Plex Sans',-apple-system,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',Helvetica,Arial,sans-serif;
  --head:'Archivo',var(--font);--mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --r:0px;--shadow:0 1px 2px rgba(16,24,40,.06),0 4px 16px rgba(16,24,40,.06);
}
/* China front: red and white. Set data-theme="cn" on <html>; every component below follows the tokens. */
:root[data-theme="cn"]{--navy:#c8102e;--navy-d:#8f0b21;--navy-l:#e01f3d;--sky:#e8572a;--gold:#f6b400;--red:#8f0b21;--bg:#f7f5f4;--s2:#f3eeee;--line:#ece4e4;--border:#d9cccc}
:root[data-theme="cn"] .hero{background:#fff;color:var(--ink);border-bottom:4px solid var(--navy)}:root[data-theme="cn"] .hero h1{color:var(--navy)}:root[data-theme="cn"] .hero .lead{color:var(--muted)}:root[data-theme="cn"] .hero .eyebrow{color:var(--navy)}
:root[data-theme="cn"] .stat b{color:var(--navy)}:root[data-theme="cn"] .stat span{color:var(--muted)}
:root[data-theme="cn"] .hdr{background:var(--navy);border-bottom:0}:root[data-theme="cn"] .hdr nav a{color:#fff}:root[data-theme="cn"] .hdr .btn.ghost{background:transparent;color:#fff;border-color:#fff}:root[data-theme="cn"] .lang button{background:transparent;color:#fff;border-color:#fff}:root[data-theme="cn"] .hdr .lang{border-color:rgba(255,255,255,.6)}:root[data-theme="cn"] .lang button[aria-pressed=true]{background:#fff;color:var(--navy)}
:root[data-theme="cn"] .ft{background:#2a1b1e;color:#c9b8ba}:root[data-theme="cn"] .ft a{color:#fff}
:root[data-theme="cn"] .side{background:var(--navy-d);color:#f3d6da}:root[data-theme="cn"] .side a.nav{color:#fbe3e6}:root[data-theme="cn"] .side a.nav.on{background:rgba(255,255,255,.14);border-left-color:var(--gold)}:root[data-theme="cn"] .side .sec{color:#e8a2ad}
:root[data-theme="cn"] .kpi b{color:var(--navy)}:root[data-theme="cn"] .price-card .usd{color:var(--navy)}:root[data-theme="cn"] .price-card.hi{border-color:var(--navy)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font)}
h1,h2,h3,h4{font-family:var(--head);margin:0 0 .4em;line-height:1.2;letter-spacing:-.01em}
h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}h4{font-size:15px}
p{margin:0 0 .8em}a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--sky)}
.mono{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.tiny{font-size:12px}.b{font-weight:600}.right{text-align:right}.center{text-align:center}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.gap4{gap:4px}.gap16{gap:16px}.mt{margin-top:16px}.mb{margin-bottom:16px}.mt8{margin-top:8px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);padding:18px 20px}.card.pad0{padding:0}.card h2{font-size:18px;margin-bottom:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--navy);background:var(--navy);color:#fff;font:600 14px/1 var(--font);padding:11px 16px;cursor:pointer;text-decoration:none;white-space:nowrap;border-radius:var(--r)}
.btn:hover{background:var(--navy-l);border-color:var(--navy-l);color:#fff}.btn:disabled{opacity:.5;cursor:default}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.gold:hover{background:var(--gold-d);border-color:var(--gold-d)}
.btn.ghost,.btn-g{background:#fff;color:var(--navy)}.btn.ghost:hover,.btn-g:hover{background:var(--s2);color:var(--navy)}.btn-p{background:var(--navy);color:#fff}
.btn.line{background:transparent;color:var(--navy)}.btn.danger{background:#fff;color:var(--red);border-color:var(--red)}.btn.danger:hover{background:#fdecee}
.btn.sm{padding:7px 11px;font-size:13px}.btn.lg{padding:14px 22px;font-size:16px}.btn.block{width:100%}.btn.link{border:0;background:none;color:var(--navy);padding:4px 2px;text-decoration:underline;font-weight:500}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label,.lbl{font-size:13px;font-weight:600;color:var(--ink)}.field .hint{font-size:12px;color:var(--muted)}
.input,select,textarea{width:100%;border:1.5px solid var(--border);background:#fff;color:var(--ink);font:15px var(--font);padding:10px 12px;border-radius:var(--r);outline:none}
.input:focus,select:focus,textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,51,102,.12)}textarea{min-height:90px;resize:vertical}select{appearance:auto}
.input.sm{padding:7px 10px;font-size:14px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;padding:4px 10px;font-size:13px;color:var(--ink)}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.chip.btn{cursor:pointer}
.pill{display:inline-block;padding:2px 8px;font-size:12px;font-weight:600;background:var(--s2);color:var(--ink);border:1px solid var(--line)}
.pill.ok{background:#e7f5ec;color:var(--ok);border-color:#c5e6d0}.pill.warn{background:#fff4e5;color:var(--warn);border-color:#f6ddb8}.pill.bad{background:#fdecee;color:var(--red);border-color:#f5c2c7}.pill.navy{background:var(--navy);color:#fff;border-color:var(--navy)}.pill.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.tier{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:700;letter-spacing:.2px}.tier.stated{background:var(--s2);color:var(--muted)}.tier.checked{background:#e6f0fa;color:var(--navy)}.tier.verified{background:var(--navy);color:#fff}.tier.proven{background:var(--gold);color:var(--navy)}
.msg{padding:10px 12px;font-size:14px;border:1px solid var(--line);background:var(--s2)}.msg.err{background:#fdecee;border-color:#f5c2c7;color:var(--red)}.msg.ok{background:#e7f5ec;border-color:#c5e6d0;color:var(--ok)}.msg.info{background:#e6f0fa;border-color:#c9dcf0;color:var(--navy)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;background:var(--s2)}
tr.click{cursor:pointer}tr.click:hover td{background:#f8fafc}.scroll{overflow:auto;max-width:100%}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;font-size:14px;z-index:1000;box-shadow:var(--shadow);max-width:90vw}
.sheet-bg{position:fixed;inset:0;background:rgba(10,20,40,.45);z-index:900}.sheet{position:fixed;top:0;right:0;bottom:0;width:min(640px,96vw);background:#fff;z-index:901;overflow:auto;padding:22px 24px;box-shadow:-8px 0 30px rgba(0,0,0,.18)}
.sheet .hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.modal{position:fixed;inset:0;z-index:901;display:flex;align-items:center;justify-content:center;padding:20px}.modal .in{background:#fff;width:min(560px,100%);max-height:92vh;overflow:auto;padding:22px 24px}
.xbtn{border:0;background:none;font-size:22px;cursor:pointer;color:var(--muted);line-height:1}
.kpi{background:#fff;border:1px solid var(--line);padding:14px 16px}.kpi b{display:block;font:700 26px/1.1 var(--head);color:var(--navy)}.kpi span{font-size:12.5px;color:var(--muted)}
.ph{background:var(--s2);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--faint);font-size:12px}.ph img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}.thumbs .t{position:relative;width:88px;height:88px;border:1px solid var(--line)}.thumbs .t img{width:100%;height:100%;object-fit:cover}.thumbs .t button{position:absolute;top:2px;right:2px;border:0;background:rgba(0,0,0,.6);color:#fff;width:20px;height:20px;cursor:pointer;font-size:12px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow:auto}.tabs button{border:0;background:none;padding:10px 12px;font:600 14px var(--font);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.on{color:var(--navy);border-bottom-color:var(--gold)}
.empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--border);background:#fff}
.dropzone{border:2px dashed var(--border);padding:26px;text-align:center;color:var(--muted);background:#fff;cursor:pointer}.dropzone.over{border-color:var(--navy);background:#e6f0fa}
.badge-n{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:700;text-align:center;line-height:18px}
.loading{display:flex;justify-content:center;padding:40px}.spin{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--navy);border-radius:50%;animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
/* app shell: sidebar + main */
.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--navy-d);color:#c9d6ea;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.side .logo{display:flex;align-items:center;gap:10px;color:#fff;padding:6px 8px 16px;text-decoration:none}.side .logo b{font-family:var(--head);letter-spacing:.5px}
.side .sec{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#7f93b3;padding:14px 10px 4px}
.side a.nav{display:flex;align-items:center;gap:9px;color:#dbe4f3;text-decoration:none;padding:9px 10px;font-size:14.5px;border-left:3px solid transparent}.side a.nav:hover{background:rgba(255,255,255,.06);color:#fff}.side a.nav.on{background:rgba(255,255,255,.1);color:#fff;border-left-color:var(--gold)}
.main{padding:22px 26px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.topbar h1{font-size:24px;margin:0}
.menubtn{display:none;border:1px solid var(--border);background:#fff;padding:7px 10px;cursor:pointer}
@media(max-width:860px){.shell{grid-template-columns:1fr}.side{position:fixed;left:-260px;width:250px;z-index:800;transition:left .2s}.side.open{left:0}.menubtn{display:inline-flex}.main{padding:16px}}
/* marketing header / hero */
.hdr{background:#fff;border-bottom:1px solid var(--line)}.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;gap:14px}.hdr nav{display:flex;gap:18px;align-items:center}.hdr nav a{text-decoration:none;color:var(--ink);font-weight:500}
.lang{display:inline-flex;border:1px solid var(--border)}.lang button{border:0;background:#fff;padding:5px 10px;font:600 13px var(--font);cursor:pointer;color:var(--muted)}.lang button[aria-pressed=true]{background:var(--navy);color:#fff}
.hero{background:var(--navy);color:#fff;padding:56px 0}.hero h1{font-size:clamp(28px,4vw,44px);color:#fff;max-width:760px}.hero .lead{font-size:18px;color:#c9d6ea;max-width:640px}.hero .eyebrow{color:var(--gold);font-weight:700;letter-spacing:.8px;text-transform:uppercase;font-size:12px}
.sec{padding:48px 0}.sec h2{font-size:26px}.feed-item{background:#fff;border:1px solid var(--line);padding:14px 16px;display:flex;gap:12px;align-items:flex-start}.feed-item .cat{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.ft{background:var(--navy-d);color:#9fb0cc;padding:28px 0;font-size:13px}.ft a{color:#dbe4f3}
.price-card{background:#fff;border:1px solid var(--line);padding:22px}.price-card.hi{border:2px solid var(--gold)}.price-card .usd{font:700 34px/1 var(--head);color:var(--navy)}.price-card ul{padding-left:18px;margin:12px 0 0;color:var(--ink);font-size:14px}.price-card li{margin:5px 0}
