/* Team Zynergy shell v1: tokens for both rooms, fonts, <tz-bar> and <tz-footer>.
   https://teamzynergy.com/ui/v1/tz.css — see README.md. Markup and class names never change in v1. */

/* fonts: IBM Plex (Latin) always; Noto Sans SC / TC only download when Chinese is on the page */
@font-face{font-family:'IBM Plex Sans';font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-weight:600;font-display:swap;src:url(fonts/ibm-plex-serif-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
/* fonts:begin (tools/fonts.py) */
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-501e5c7161.woff2) format('woff2');unicode-range:U+3000-52AA}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-72f963693f.woff2) format('woff2');unicode-range:U+52AB-59CF}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-002710cdeb.woff2) format('woff2');unicode-range:U+59D0-61F1}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-65daabb7ce.woff2) format('woff2');unicode-range:U+61F2-6845}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-6d64e65fe0.woff2) format('woff2');unicode-range:U+6846-730D}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-4adafb0c80.woff2) format('woff2');unicode-range:U+730E-7EA1}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-855f1a14af.woff2) format('woff2');unicode-range:U+7EA2-8A01}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-5785c36fbd.woff2) format('woff2');unicode-range:U+8A02-91CB}
@font-face{font-family:'Noto Sans SC';font-weight:400;font-display:swap;src:url(fonts/noto-sc-400-307607924d.woff2) format('woff2');unicode-range:U+91CC-FFEF}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-3291f9e5b6.woff2) format('woff2');unicode-range:U+3000-52AA}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-1436813642.woff2) format('woff2');unicode-range:U+52AB-59CF}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-b1b0b0432c.woff2) format('woff2');unicode-range:U+59D0-61F1}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-352cffc35d.woff2) format('woff2');unicode-range:U+61F2-6845}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-729051c8e4.woff2) format('woff2');unicode-range:U+6846-730D}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-cadc194cb0.woff2) format('woff2');unicode-range:U+730E-7EA1}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-5cc5209897.woff2) format('woff2');unicode-range:U+7EA2-8A01}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-550b402a80.woff2) format('woff2');unicode-range:U+8A02-91CB}
@font-face{font-family:'Noto Sans SC';font-weight:900;font-display:swap;src:url(fonts/noto-sc-900-8d74b1ed3f.woff2) format('woff2');unicode-range:U+91CC-FFEF}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-b9d83657a1.woff2) format('woff2');unicode-range:U+3000-52AA}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-3a12fb5135.woff2) format('woff2');unicode-range:U+52AB-59CF}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-4c65b9b7cb.woff2) format('woff2');unicode-range:U+59D0-61F1}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-b587615c1e.woff2) format('woff2');unicode-range:U+61F2-6845}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-000431c030.woff2) format('woff2');unicode-range:U+6846-730D}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-a5148792bb.woff2) format('woff2');unicode-range:U+730E-7EA1}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-85787454b8.woff2) format('woff2');unicode-range:U+7EA2-8A01}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-4d5f785c21.woff2) format('woff2');unicode-range:U+8A02-91CB}
@font-face{font-family:'Noto Sans TC';font-weight:400;font-display:swap;src:url(fonts/noto-tc-400-d2aa2eb4b6.woff2) format('woff2');unicode-range:U+91CC-FFEF}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-a454b3336a.woff2) format('woff2');unicode-range:U+3000-52AA}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-0d0a98d9d3.woff2) format('woff2');unicode-range:U+52AB-59CF}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-ac71d39e4a.woff2) format('woff2');unicode-range:U+59D0-61F1}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-1a7d62718a.woff2) format('woff2');unicode-range:U+61F2-6845}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-1e5f70aede.woff2) format('woff2');unicode-range:U+6846-730D}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-fbfe9cfb71.woff2) format('woff2');unicode-range:U+730E-7EA1}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-9ac564c63c.woff2) format('woff2');unicode-range:U+7EA2-8A01}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-6966b920df.woff2) format('woff2');unicode-range:U+8A02-91CB}
@font-face{font-family:'Noto Sans TC';font-weight:900;font-display:swap;src:url(fonts/noto-tc-900-82290b59b2.woff2) format('woff2');unicode-range:U+91CC-FFEF}
/* fonts:end */

:root{
  --tz-serif:"IBM Plex Serif",Georgia,serif;
  --tz-sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --tz-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --tz-head:var(--tz-serif); --tz-head-weight:600;
  --tz-radius:12px; --tz-pill:999px; --tz-bar-h:48px;
}
/* Chinese: body in Noto Sans 400, headings in Noto Sans Black (900) */
:root:lang(zh-Hans),:root:lang(zh-CN),:root:lang(zh){
  --tz-sans:"IBM Plex Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --tz-head:"IBM Plex Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif; --tz-head-weight:900;
}
:root:lang(zh-Hant),:root:lang(zh-TW),:root:lang(zh-HK){
  --tz-sans:"IBM Plex Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --tz-head:"IBM Plex Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif; --tz-head-weight:900;
}

/* the two rooms */
[data-tz-room="dark"]{--tz-bg:#101619;--tz-panel:#161e23;--tz-rule:#2a363e;--tz-text:#e6edf1;--tz-muted:#9db0bc;--tz-warm:#e0a35a;--tz-cool:#5fb1e3;--tz-on-accent:#101619}
[data-tz-room="paper"]{--tz-bg:#f6f3ec;--tz-panel:#fffdf7;--tz-rule:#e3dccb;--tz-text:#1d2b3a;--tz-muted:#5f5a52;--tz-warm:#a8641c;--tz-cool:#0b5c8a;--tz-on-accent:#fffdf7}

/* <tz-bar>: its 48 px are reserved here, before the script runs */
tz-bar{display:block;box-sizing:border-box;height:var(--tz-bar-h);position:sticky;top:0;z-index:60;
  background:var(--tz-bg,#101619);color:var(--tz-text,#e6edf1);border-bottom:1px solid var(--tz-rule,#2a363e);
  font:400 14px/1 var(--tz-sans);-webkit-font-smoothing:antialiased}
tz-bar *{box-sizing:border-box}
tz-bar .tz-in{display:flex;align-items:center;justify-content:space-between;gap:12px;height:100%;width:min(1120px,100% - 32px);margin-inline:auto}
/* the page's fallback wordmark, if the script has not run (block, so "Team " keeps its space) */
tz-bar>a:only-child{display:block;line-height:calc(var(--tz-bar-h) - 1px);width:min(1120px,100% - 32px);margin-inline:auto;
  color:inherit;font-weight:600;font-size:15px;text-decoration:none}
tz-bar .tz-brand{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}
tz-bar .tz-mark{font:600 15px/1 var(--tz-sans);letter-spacing:.02em;color:inherit;text-decoration:none}
tz-bar .tz-mark b{color:var(--tz-warm);font-weight:600}
tz-bar .tz-site{color:var(--tz-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis}
tz-bar .tz-langs{display:flex;flex:none;gap:2px;padding:3px;border:1px solid var(--tz-rule);border-radius:var(--tz-pill)}
tz-bar .tz-langs button{font:500 12px/1 var(--tz-sans);color:var(--tz-muted);background:none;border:0;border-radius:var(--tz-pill);
  padding:7px 9px;min-width:34px;cursor:pointer}
tz-bar .tz-langs button:hover{color:var(--tz-text)}
/* 简体 in a Simplified face and 繁體 in a Traditional one, whatever the page's own language */
tz-bar .tz-langs button:lang(zh-Hans){font-family:"IBM Plex Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
tz-bar .tz-langs button:lang(zh-Hant){font-family:"IBM Plex Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
tz-bar .tz-langs button[aria-pressed="true"]{color:var(--tz-bg);background:var(--tz-text)}
tz-bar .tz-langs button[aria-disabled="true"]{opacity:.38;cursor:not-allowed}
tz-bar .tz-langs button[aria-disabled="true"]:hover{color:var(--tz-muted)}
tz-bar :focus-visible{outline:2px solid var(--tz-cool);outline-offset:2px}
@media (max-width:400px){tz-bar .tz-site{display:none}tz-bar .tz-langs button{padding:7px 7px;min-width:30px}}

/* <tz-footer> */
tz-footer{display:block;box-sizing:border-box;background:var(--tz-bg,transparent);color:var(--tz-muted,inherit);
  border-top:1px solid var(--tz-rule,currentColor);font:400 13px/1.55 var(--tz-sans)}
tz-footer .tz-in,tz-footer>p{width:min(1120px,100% - 32px);margin-inline:auto}
tz-footer .tz-in{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-block:22px 28px}
tz-footer>p{padding-block:22px}
tz-footer p{margin:0 0 6px}
tz-footer .tz-ribbon{color:var(--tz-text)}
tz-footer a{color:inherit;text-underline-offset:3px}
tz-footer .tz-ip{flex:none;height:24px;width:auto;padding:7px 10px;border-radius:6px;background:#101619;box-sizing:content-box}
tz-footer[ip-logo="fixed"] .tz-ip{position:fixed;right:max(12px,2vw);bottom:12px;z-index:20;background:rgba(16,22,25,.85);border:1px solid #2a363e}
@media (max-width:640px){tz-footer .tz-in{flex-direction:column;align-items:flex-start}
  tz-footer[ip-logo="fixed"] .tz-ip{height:19px;bottom:10px}tz-footer[ip-logo="fixed"] .tz-in{padding-bottom:64px}}
