:root {
  --c-bg: #F9F9FA;
  --c-panel: #FFFFFF;
  --c-panel-2: #F0F1F3;
  --c-border: #E2E4E8;
  --c-border-strong: #D3D6DC;
  --c-accent: #0C8599;
  --c-accent-dark: #086A7A;
  --c-accent-2: #22B8CF;
  --c-ink: #16181D;
  --c-ink-2: #2C3038;
  --c-text: #16181D;
  --c-muted: #5B616B;
  --c-faint: #868C96;
  --c-success: #1F9D55;
  --c-warn: #C98A0B;
  --c-error: #D33A3A;
  --c-on-ink: #FFFFFF;
  --c-on-ink-muted: rgba(255,255,255,.66);
  --c-on-ink-line: rgba(255,255,255,.18);
  --c-on-ink-faint: rgba(255,255,255,.10);
  --a-accent-03: rgba(12,133,153,.03);
  --a-accent-05: rgba(12,133,153,.05);
  --a-accent-06: rgba(12,133,153,.06);
  --a-accent-10: rgba(12,133,153,.10);
  --a-accent-14: rgba(12,133,153,.14);
  --a-accent-22: rgba(12,133,153,.22);
  --a-accent-32: rgba(12,133,153,.32);
  --a-ink-04: rgba(22,24,29,.04);
  --a-ink-06: rgba(22,24,29,.06);
  --a-ink-10: rgba(22,24,29,.10);
  --a-white-16: rgba(255,255,255,.16);
  --a-white-72: rgba(255,255,255,.72);
  --a-white-86: rgba(255,255,255,.86);
  --mask-solid: #000000;
  --flag-red: #D0283A;
  --flag-navy: #27366F;
  --flag-white: #FFFFFF;
  --flag-edge: rgba(22,24,29,.14);
  --flag-green: #1F9D55;
  --font-display: "Inter","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body: "Inter","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono: "JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --fs-body: 17px;
  --fs-h1: 68px;
  --r-xs: 5px;
  --r-sm: 7px;
  --r-md: 8px;
  --r-lg: 10px;
  --r-pill: 999px;
  --gutter: 24px;
  --content-width: 1312px;
  --sh-hair: 0 1px 2px var(--a-ink-06);
  --sh-soft: 0 1px 2px var(--a-ink-06),0 14px 32px -14px var(--a-accent-14);
  --sh-panel: 0 1px 2px var(--a-ink-06),0 30px 64px -20px var(--a-accent-22),0 10px 26px -12px var(--a-accent-10);
  --sh-float: 0 1px 2px var(--a-ink-06),0 22px 48px -18px var(--a-accent-14),0 6px 16px -10px var(--a-accent-10);
  --hl-inset: inset 0 1px 0 var(--c-panel);
}
*,*::before,*::after { box-sizing:border-box }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:96px }
html.nav-open { overflow:hidden }
body { margin:0; background:var(--c-bg); color:var(--c-text); font:400 var(--fs-body)/1.65 var(--font-body); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip }
button,input { font:inherit; color:inherit }
button { cursor:pointer }
a { color:inherit }
img,svg { max-width:100% }
img { display:block }
ul { list-style:none; margin:0; padding:0 }
p { margin:0 0 1em }
h1,h2,h3 { margin:0; color:var(--c-ink); font-family:var(--font-display); line-height:1.18; text-wrap:balance }
h1 { font-size:clamp(52px,5vw,72px); font-weight:900; letter-spacing:-.02em }
h2 { font-size:clamp(32px,3.5vw,48px); font-weight:800; letter-spacing:-.02em }
h3 { font-size:clamp(21px,2vw,27px); font-weight:700 }
code,pre,kbd { font-family:var(--font-mono) }
code { overflow-wrap:anywhere }
pre { max-width:100%; overflow-x:auto }
pre code { overflow-wrap:normal }
.no-break { white-space:nowrap }
.zn-mono { font-family:var(--font-mono) }
.zn-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
:where(a,button,input,summary,[role="tab"]):focus-visible { outline:2px solid var(--c-accent); outline-offset:3px }
.wrap { width:100%; max-width:calc(var(--content-width) + 2 * var(--gutter)); margin-inline:auto; padding-inline:var(--gutter) }
.sec { padding-top:96px; padding-bottom:96px }
.section-shell { position:relative; overflow-x:clip; max-width:100% }
.section-heading { max-width:740px; margin-bottom:40px }
.section-heading p { margin-top:14px; color:var(--c-muted) }
.eyebrow { display:inline-flex; align-items:center; gap:9px; font:600 11px/1.5 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--c-accent-dark) }
.eyebrow::before { content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--c-accent); box-shadow:0 0 0 3px var(--a-accent-14) }
.panel { background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--hl-inset),var(--sh-soft) }
.btn,.zn-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 24px; border-radius:var(--r-md); font-size:16px; font-weight:600; text-decoration:none; white-space:nowrap; flex-shrink:0; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease }
.btn:hover,.zn-btn:hover { transform:translateY(-1px) }
.btn-primary,.zn-btn--primary { position:relative; color:var(--c-on-ink); background:linear-gradient(180deg,var(--c-ink-2),var(--c-ink)); border:1px solid var(--c-ink); box-shadow:inset 0 1px 0 var(--a-white-16),0 14px 28px -14px var(--a-accent-32); overflow:hidden }
.btn-primary::after,.zn-btn--primary::after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:2px; background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2)) }
.btn-secondary,.zn-btn--ghost { color:var(--c-ink); background:var(--c-panel); border:1px solid var(--c-border-strong); box-shadow:var(--hl-inset),var(--sh-hair) }
.btn-secondary:hover,.zn-btn--ghost:hover { border-color:var(--c-ink) }
.reveal { transition:opacity .55s ease,transform .55s ease }
.reveal.pending { opacity:0; transform:translateY(16px) }
.reveal.shown { opacity:1; transform:none }
#server-status { position:relative; overflow:hidden; max-width:100%; margin-bottom:24px }
#server-status + * { margin-top:24px }

/* Notice and shared navigation */
.zn-announce { min-height:40px; display:flex; align-items:center; justify-content:center; padding:6px var(--gutter); background:var(--c-ink); color:var(--c-on-ink); font-size:13.5px; letter-spacing:.01em; box-shadow:inset 0 -1px 0 var(--c-on-ink-faint) }
.zn-announce p { display:flex; align-items:center; justify-content:center; gap:16px; margin:0; white-space:nowrap }
.zn-announce__rule { width:1px; height:16px; flex:none; background:var(--c-on-ink-line) }
.zn-announce a { display:inline-flex; align-items:center; gap:8px; color:var(--c-on-ink); font-weight:600; text-decoration:none; white-space:nowrap }
.zn-announce a:hover { text-decoration:underline; text-underline-offset:3px }
.zn-announce a svg { width:7px; height:8px; flex:none }
.zn-top { position:relative; z-index:30; padding:12px 64px 0 }
.zn-nav { position:relative; display:flex; align-items:center; gap:8px; max-width:1312px; min-height:56px; margin:0 auto; padding:0 10px 0 14px; background:var(--a-white-86); backdrop-filter:blur(10px); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--hl-inset),0 1px 2px var(--a-ink-04),0 16px 36px -22px var(--a-accent-22) }
.zn-brand { display:inline-flex; align-items:center; gap:10px; padding:4px 6px 4px 2px; text-decoration:none; flex:none }
.zn-brand img { width:28px; height:28px }
.zn-brand__en { font:800 18px/1 var(--font-display); letter-spacing:-.02em; color:var(--c-ink) }
.zn-brand__local { color:var(--c-muted); font-size:13px }
.zn-nav__sep { width:1px; height:24px; flex:none; background:var(--c-border); margin:0 6px }
.zn-nav__links { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0 }
.zn-nav__links > li { position:relative }
.zn-nav__links a,.zn-more__btn { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 12px; border:0; border-radius:var(--r-sm); background:transparent; font-size:15px; font-weight:500; text-decoration:none; white-space:nowrap }
.zn-nav__links a:hover,.zn-more__btn:hover { background:var(--c-panel-2) }
.zn-nav__links a[aria-current="page"],.zn-more__btn.is-current { background:var(--c-panel-2); box-shadow:inset 0 0 0 1px var(--c-border); font-weight:600 }
.zn-more__btn svg,.zn-lang__btn svg { width:12px; height:12px; flex:none }
.zn-menu { position:absolute; top:calc(100% + 10px); left:-8px; width:400px; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--sh-panel); opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .16s ease,transform .16s ease,visibility .16s }
.zn-more.is-open .zn-menu,.zn-more:hover .zn-menu,.zn-more:focus-within .zn-menu { opacity:1; visibility:visible; transform:none }
.zn-menu__label { display:flex; align-items:center; gap:8px; padding:4px 8px 8px; color:var(--c-faint); font:500 10.5px/1.4 var(--font-mono); letter-spacing:.1em; text-transform:uppercase }
.zn-menu__label::before { content:""; width:6px; height:6px; flex:none; border-radius:50%; background:var(--c-accent) }
.zn-menu a { display:flex; flex-direction:column; align-items:flex-start; gap:2px; height:auto; padding:8px }
.zn-menu a b { font-size:14.5px }
.zn-menu a span { color:var(--c-muted); font-size:12.5px; font-weight:400 }
.zn-nav__end { display:flex; align-items:center; gap:8px; margin-left:auto }
.zn-lang { position:relative }
.zn-lang__btn { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 10px; border:0; border-radius:var(--r-sm); background:transparent; color:var(--c-muted); font-size:14px; white-space:nowrap }
.zn-lang__btn:hover { background:var(--c-panel-2) }
.zn-lang__menu { position:absolute; right:0; top:calc(100% + 10px); z-index:40; min-width:150px; padding:6px; background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-md); box-shadow:var(--sh-panel) }
.zn-lang__menu[hidden] { display:none }
.zn-lang__menu a { display:flex; align-items:center; min-height:40px; padding:6px 12px; border-radius:var(--r-sm); text-decoration:none; white-space:nowrap }
.zn-lang__menu a:hover,.zn-lang__menu a[aria-current="true"] { background:var(--c-panel-2) }
.zn-login { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 18px; border:1px solid var(--c-border-strong); border-radius:var(--r-md); background:var(--c-panel); color:var(--c-ink); font-size:14.5px; font-weight:600; text-decoration:none; white-space:nowrap; box-shadow:var(--hl-inset),var(--sh-hair) }
.zn-login:hover { border-color:var(--c-ink) }
.zn-hamburger { display:none; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid var(--c-border); border-radius:var(--r-md); background:var(--c-panel) }
.zn-hamburger svg { width:20px; height:20px }
.zn-drawer { display:none }
.zn-veil { display:none }

/* Hero system: the approved central device composition */
.zn-stage { position:relative; isolation:isolate; overflow-x:clip; max-width:100% }
.zn-stage::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,var(--a-accent-06),var(--a-accent-03) 42%,transparent 82%) }
.zn-circuit { position:absolute; inset:0; z-index:-1; width:100%; height:100%; color:var(--c-ink); opacity:.09; pointer-events:none; mask-image:radial-gradient(ellipse 38% 46% at 50% 45%,transparent 0 46%,var(--mask-solid) 100%) }
.zn-hero { position:relative; padding:0 64px }
.zn-hero__inner { position:relative; max-width:1312px; margin:0 auto; padding:36px 0 120px }
.zn-copy { position:relative; z-index:3; max-width:900px; margin:0 auto; text-align:center }
.zn-badge { display:inline-flex; align-items:center; gap:10px; min-height:28px; padding:0 14px 0 10px; background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-pill); box-shadow:var(--sh-hair) }
.zn-dot { width:7px; height:7px; flex:none; border-radius:50%; background:var(--c-accent); box-shadow:0 0 0 3px var(--a-accent-14) }
.zn-badge__code { font:600 11px/1 var(--font-mono); letter-spacing:.12em; color:var(--c-ink) }
.zn-badge__rule { width:1px; height:12px; background:var(--c-border-strong) }
.zn-badge__txt { font-size:13px; color:var(--c-muted) }
.zn-h1 { position:relative; z-index:0; margin:20px 0 0; font:900 clamp(52px,5vw,68px)/1.1 var(--font-display); letter-spacing:-.02em }
.zn-kw { position:relative; display:inline-block }
.zn-kw::after { content:""; position:absolute; left:.02em; right:.05em; bottom:-.04em; z-index:-1; height:.11em; border-radius:var(--r-xs); background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2)) }
.zn-ctas { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:28px }
.zn-btn svg { width:7px; height:8px; flex:none }
.zn-lede { max-width:680px; margin:24px auto 0; color:var(--c-muted); font-size:18px; line-height:1.6 }
.zn-lede strong { color:var(--c-ink) }
.zn-trust { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-top:14px; color:var(--c-muted); font-size:14px; line-height:22px }
.zn-trust li { display:inline-flex; align-items:center; gap:6px }
.zn-trust svg { width:14px; height:14px; flex:none; color:var(--c-accent-dark) }
.zn-device { position:relative; z-index:2; width:560px; max-width:100%; margin:32px auto 0 }
.zn-device::before { content:""; position:absolute; inset:36px 48px -24px; z-index:-1; background:radial-gradient(closest-side,var(--a-accent-14),transparent); filter:blur(22px) }
.zn-sub { position:relative; background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--sh-panel) }
.zn-sub::before { content:""; position:absolute; left:12%; right:12%; top:-1px; height:2px; background:linear-gradient(90deg,transparent,var(--c-accent) 26%,var(--c-accent-2) 74%,transparent) }
.zn-win { display:flex; align-items:center; gap:12px; height:36px; padding:0 14px; background:linear-gradient(180deg,var(--c-panel),var(--c-panel-2)); border-bottom:1px solid var(--c-border); border-radius:var(--r-lg) var(--r-lg) 0 0; box-shadow:var(--hl-inset) }
.zn-dots { display:inline-flex; gap:6px }
.zn-dots i { width:8px; height:8px; border-radius:50%; background:var(--c-border-strong) }
.zn-win__code { font:600 10.5px/1 var(--font-mono); letter-spacing:.12em; color:var(--c-faint) }
.zn-win__title { font-size:12.5px; color:var(--c-muted) }
.zn-win__aside { display:inline-flex; align-items:center; gap:6px; margin-left:auto; color:var(--c-muted); font-size:12px; white-space:nowrap }
.zn-tabs { display:flex; align-items:stretch; gap:2px; height:46px; padding:0 10px; border-bottom:1px solid var(--c-border); overflow-x:auto; scrollbar-width:none }
.zn-tabs::-webkit-scrollbar { display:none }
.zn-tabs li { position:relative; display:inline-flex; align-items:center; gap:7px; flex:none; padding:0 11px; color:var(--c-faint); font-size:14px; font-weight:500 }
.zn-tabs svg { width:16px; height:16px; flex:none }
.zn-tabs li.is-on { color:var(--c-ink); font-weight:600 }
.zn-tabs li.is-on::after { content:""; position:absolute; left:10px; right:10px; bottom:-1px; height:2px; background:var(--c-ink) }
.zn-prompt { display:flex; align-items:center; gap:12px; padding:14px 12px 14px 18px; font:400 13.5px/1.5 var(--font-mono); color:var(--c-text) }
.zn-prompt__text { min-width:0; overflow-wrap:anywhere }
.zn-prompt__caret,.zn-prompt__sep { color:var(--c-faint) }
.zn-prompt__code { padding:2px 6px; border-radius:var(--r-xs); background:var(--c-panel-2); box-shadow:inset 0 0 0 1px var(--c-border); font-weight:600 }
.zn-copy-btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; flex:none; margin-left:auto; border:1px solid var(--c-border); border-radius:var(--r-sm); background:var(--c-panel); color:var(--c-muted); box-shadow:var(--hl-inset),var(--sh-hair) }
.zn-copy-btn svg { width:16px; height:16px }
.zn-guide { display:flex; justify-content:center; margin-top:14px }
.zn-guide a { display:inline-flex; align-items:center; gap:10px; min-height:24px; color:var(--c-ink); font-size:14.5px; font-weight:600; text-decoration:none }
.zn-guide a:hover { text-decoration:underline; text-underline-offset:4px }
.zn-flags { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:18px }
.zn-flags__label { font:600 10.5px/1 var(--font-mono); letter-spacing:.12em; color:var(--c-faint) }
.zn-flags ul { display:flex; justify-content:center; flex-wrap:wrap; gap:8px }
.zn-flags li { display:inline-flex; align-items:center; gap:8px; min-height:30px; padding:0 12px 0 7px; border:1px solid var(--c-border); border-radius:var(--r-pill); background:var(--a-white-72); font-size:13.5px; font-weight:500; box-shadow:var(--sh-hair) }
.zn-flags svg { display:block; width:22px; height:15px; flex:none; border-radius:3px; overflow:hidden }
.fl-r { fill:var(--flag-red) }.fl-n { fill:var(--flag-navy) }.fl-w { fill:var(--flag-white) }.fl-g { fill:var(--flag-green) }
.fl-edge { fill:none; stroke:var(--flag-edge); stroke-width:1 }
.zn-zones { position:absolute; left:8px; top:192px; z-index:1; width:268px; background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--sh-float); transform:rotate(-3deg) }
.zn-zones .zn-win { height:34px }
.zn-zones__list li { display:grid; grid-template-columns:12px minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 14px; border-top:1px solid var(--c-border) }
.zn-zones__list li.is-on { background:linear-gradient(90deg,var(--a-accent-06),transparent 80%) }
.zn-radio { width:11px; height:11px; flex:none; border:1.5px solid var(--c-border-strong); border-radius:50%; background:var(--c-panel) }
.is-on .zn-radio { border-color:var(--c-accent); background:var(--c-accent); box-shadow:0 0 0 3px var(--a-accent-14) }
.zn-zone__code { font:600 10.5px/1.5 var(--font-mono); letter-spacing:.1em; color:var(--c-faint) }
.is-on .zn-zone__code { color:var(--c-accent-dark) }
.zn-zone__regions { font-size:14px; font-weight:600; line-height:1.5 }
.zn-tag { display:inline-flex; align-items:center; max-width:100%; min-height:24px; padding:4px 7px; border:1px solid var(--c-border); border-radius:var(--r-xs); background:var(--c-panel-2); color:var(--c-muted); font:600 10.5px/1 var(--font-mono); white-space:nowrap; overflow:hidden }
.zn-tag--iepl { background:var(--c-ink); border-color:var(--c-ink); color:var(--c-on-ink) }
.zn-tag--relay { background:var(--c-panel); border-color:var(--c-border-strong); color:var(--c-ink) }
.zn-zones__foot { display:flex; align-items:center; justify-content:space-between; padding:9px 14px; border-top:1px solid var(--c-border); border-radius:0 0 var(--r-lg) var(--r-lg); background:var(--c-panel-2); color:var(--c-muted); font:500 11px/1.4 var(--font-mono) }
.zn-acct { position:absolute; right:4px; top:302px; z-index:1; width:272px; background:var(--c-panel); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--sh-panel) }
.zn-acct__stamp { position:absolute; top:-13px; right:-12px; display:inline-flex; align-items:center; gap:8px; min-height:26px; padding:0 11px; border:1px solid var(--c-border); border-radius:var(--r-pill); background:var(--c-panel); box-shadow:var(--sh-soft); font:600 11px/1 var(--font-mono); white-space:nowrap }
.zn-acct__body { padding:22px 20px 20px }
.zn-acct__title { text-align:center; font-size:17px; font-weight:700 }
.zn-acct__sub { margin:2px 0 0; text-align:center; color:var(--c-muted); font-size:12.5px }
.zn-field { margin-top:16px }
.zn-field + .zn-field { margin-top:12px }
.zn-field__label { display:block; margin-bottom:6px; font-size:12.5px; font-weight:600 }
.zn-field__box { display:flex; align-items:center; justify-content:space-between; height:38px; padding:0 12px; border:1px solid var(--c-border-strong); border-radius:var(--r-sm); background:var(--c-panel); box-shadow:inset 0 1px 2px var(--a-ink-04); font-size:14px }
.zn-field__pw { letter-spacing:2px }
.zn-acct__pill { display:flex; justify-content:center; margin-top:14px }
.zn-acct__pill span { display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:0 11px; border:1px solid var(--c-accent); border-radius:var(--r-pill); background:var(--a-accent-05); color:var(--c-accent-dark); font-size:12.5px; font-weight:600 }
.zn-acct__cta { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; min-height:40px; margin-top:14px; border-radius:var(--r-sm); color:var(--c-on-ink); background:linear-gradient(180deg,var(--c-ink-2),var(--c-ink)); font-size:14.5px; font-weight:600; text-decoration:none }
.zn-acct__foot { display:flex; align-items:center; justify-content:center; gap:6px; min-height:35px; border-top:1px solid var(--c-border); border-radius:0 0 var(--r-lg) var(--r-lg); background:var(--c-panel-2); color:var(--c-muted); font-size:12.5px }
.zn-acct__foot a { color:var(--c-ink); font-weight:600; text-decoration:none }

/* Footer */
.site-footer { background:var(--c-ink); color:var(--c-on-ink) }
.footer-grid { display:grid; grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(0,1fr)); gap:48px; padding-top:72px; padding-bottom:64px }
.footer-brand { display:inline-flex; align-items:center; gap:10px; font-weight:800; text-decoration:none }
.footer-brand img { width:30px; height:30px }
.footer-about { max-width:300px; margin-top:18px; color:var(--c-on-ink-muted); font-size:14px }
.footer-col h2 { margin-bottom:14px; color:var(--c-on-ink); font:600 11px/1.5 var(--font-mono); letter-spacing:.12em; text-transform:uppercase }
.footer-col ul { display:grid; gap:4px }
.footer-col a { display:inline-flex; align-items:center; min-height:30px; color:var(--c-on-ink-muted); font-size:14px; text-decoration:none }
.footer-col a:hover { color:var(--c-on-ink); text-decoration:underline }
.footer-base { display:flex; justify-content:space-between; gap:20px; padding-top:20px; padding-bottom:24px; border-top:1px solid var(--c-on-ink-line); color:var(--c-on-ink-muted); font-size:13px }
.footer-base a { margin-left:18px; color:inherit; text-decoration:none }
.footer-base a:hover { text-decoration:underline }
@media (max-width:1100px) {
  .zn-top,.zn-hero { padding-inline:32px }
  .zn-zones { left:-18px }
  .zn-acct { right:-18px }
}
@media (max-width:900px) {
  .zn-nav__desktop { display:none }
  .zn-nav { justify-content:space-between; width:100%; max-width:none }
  .zn-nav__end { position:static; margin-left:auto; padding-right:0 }
  .zn-hamburger { display:inline-flex }
  .zn-top { z-index:50 }
  .zn-drawer { position:absolute; top:calc(100% + 8px); right:0; left:0; z-index:52; display:none; max-height:calc(100dvh - 110px); padding:12px; overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--c-border); border-radius:var(--r-lg); background:var(--c-panel); box-shadow:var(--sh-panel) }
  .zn-drawer.is-open { display:block }
  .zn-drawer a { display:flex; align-items:center; width:100%; min-height:44px; padding:10px 14px; border-radius:var(--r-sm); text-decoration:none }
  .zn-drawer a:hover,.zn-drawer a[aria-current="page"] { background:var(--c-panel-2) }
  .zn-drawer__label { display:block; padding:12px 14px 4px; color:var(--c-faint); font:600 11px/1.4 var(--font-mono); letter-spacing:.1em }
  .zn-veil.is-open { position:fixed; inset:0; z-index:29; display:block; background:var(--a-ink-10) }
  .zn-zones,.zn-acct { display:none }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width:768px) {
  h1,.zn-h1 { font-size:clamp(28px,7vw,40px); line-height:1.15; letter-spacing:-.02em }
  .zn-hero__inner { padding-top:40px; padding-bottom:80px }
  .zn-lede { font-size:17px }
  .sec { padding-top:72px; padding-bottom:72px }
}
@media (max-width:640px) {
  :root { --gutter:18px }
  .no-break { white-space:normal }
  .zn-top { padding:10px var(--gutter) 0 }
  .zn-nav { padding:0 6px 0 10px }
  .zn-nav__end { margin-left:auto }
  .zn-nav__sep,.zn-lang { display:none }
  .zn-login { padding-inline:12px }
  .zn-hero { padding-inline:var(--gutter) }
  .zn-hero__inner { padding-top:38px; padding-bottom:70px }
  .zn-announce { font-size:11px }
  .zn-announce p { max-width:100%; flex-wrap:wrap; gap:4px 8px; white-space:normal; text-align:center }
  .zn-announce p > span:first-child { min-width:0 }
  .zn-announce__rule { display:none }
  .zn-badge__txt { font-size:11px }
  .zn-badge__code { font-size:10px }
  .zn-h1 { margin-top:18px }
  .zn-ctas { margin-top:22px }
  .zn-lede { margin-top:19px }
  .zn-trust { gap:4px 12px; font-size:12px }
  .zn-device { margin-top:26px }
  .zn-win__aside { display:none }
  .zn-prompt { font-size:11px; gap:6px; padding-left:10px }
  .zn-flags { gap:8px }
  .zn-flags ul { gap:6px }
  .zn-flags li { font-size:12px }
  .footer-grid { gap:32px; padding-top:52px }
  .footer-base { flex-direction:column }
  .footer-base a:first-child { margin-left:0 }
  .section-shell { max-width:100% }
  [class*="tilt"] { transform:none }
}
@media (max-width:360px) {
  :root { --gutter:16px }
  .zn-brand__en { font-size:16px }
  .zn-announce { font-size:10px }
  .zn-btn,.btn { padding-inline:16px; font-size:14px }
  .footer-grid { grid-template-columns:1fr 1fr; gap:22px }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  .reveal,.reveal.pending,.reveal.shown { opacity:1; transform:none; transition:none }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important }
}