/* The official home-page header is shared by every page. */
.icp-registration { white-space: nowrap; color: inherit; text-decoration: none; }
.icp-registration:hover { text-decoration: underline; }
.footer-bottom .icp-registration { display: inline-block; margin-left: 12px; }
.icp-footer { padding: 14px 20px; color: #8794ac; font: 12px/1.8 'Microsoft YaHei', 'PingFang SC', sans-serif; text-align: center; }
.police-registration { display: inline-flex; align-items: center; gap: 4px; margin-left: 12px; white-space: nowrap; color: inherit; text-decoration: none; vertical-align: middle; }
.police-registration:hover { text-decoration: underline; }
.police-registration img { width: 20px; height: 20px; flex: 0 0 20px; }
@media (max-width: 720px) { .site-footer .footer-bottom { padding-bottom: 136px; } }
.tj-site-header,
.tj-site-header * { box-sizing: border-box; }
.tj-site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 64px !important;
  zoom: 1;
  padding: 0 30px !important;
  gap: 0;
  color: #13223f;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(215, 225, 244, .7);
  font: 15px/1.65 'Microsoft YaHei', 'PingFang SC', Arial, sans-serif;
  letter-spacing: normal;
}
.tj-site-header a { color: inherit; text-decoration: none; }
.tj-site-header button { font: inherit; cursor: pointer; }
.tj-site-header [hidden] { display: none !important; }
html[data-signed-in] .tj-site-header .main-nav [data-nav-page="index.html"],
html[data-signed-in] .tj-site-header .main-nav [data-nav-page="cooperation.html"],
html[data-signed-in] .tj-site-header .main-nav [data-nav-page="about"] { display: none !important; }
.tj-site-header .brand--header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  height: 64px;
  gap: 8px;
  white-space: nowrap;
}
.tj-site-header .brand-sigil { display: flex; align-items: flex-end; width: 38px; height: 28px; gap: 4px; transform: skewX(-13deg); }
.tj-site-header .brand-sigil i { display: block; width: 7px; border-radius: 4px; }
.tj-site-header .brand-sigil i:nth-child(1) { height: 13px; background: #7cceff; }
.tj-site-header .brand-sigil i:nth-child(2) { height: 27px; background: #1267d8; }
.tj-site-header .brand-sigil i:nth-child(3) { height: 18px; background: #1c9ff0; }
.tj-site-header .brand-wordmark { font: italic 800 25px/1 'PingFang SC', 'Microsoft YaHei', sans-serif; letter-spacing: -2px; color: #0a4eaf; transform: skewX(-8deg); }
.tj-site-header .brand-roman { align-self: center; margin-left: 2px; font: 700 9px/1 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; letter-spacing: 1.6px; color: #287fd5; }
.tj-site-header .main-nav { display: flex; flex: 0 0 auto; align-items: center; height: 100%; margin: 0 auto 0 48px; gap: 33px; }
.tj-site-header .main-nav a { position: relative; display: grid; place-items: center; height: 100%; padding: 0; color: #13223f; font-size: 15px; font-weight: 600; white-space: nowrap; }
.tj-site-header .main-nav a:hover,
.tj-site-header .main-nav a.active { color: #2f72ff; }
.tj-site-header .main-nav a.active::after { content: ''; position: absolute; bottom: 0; width: 28px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #2f72ff, #20c7d7); }
.tj-site-header .nav-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; min-width: 255px; gap: 23px; margin-left: 22px; white-space: nowrap; }
.tj-site-header .text-action { display: inline-block; padding: 0; color: #4c5a74; background: transparent; border: 0; }
.tj-site-header .text-action:hover { color: #2f72ff; }
.tj-site-header .register { display: inline-block; padding: 7px 16px; border: 0; border-radius: 9px; color: #fff; background: linear-gradient(102deg, #2876ff, #21c7d6); box-shadow: 0 10px 24px rgba(45, 111, 253, .25); font-weight: 700; }
.tj-site-header .register span { margin-left: 8px; }
.tj-site-header .nav-account { position: relative; }
.tj-site-header .nav-account summary { display: flex; align-items: center; gap: 7px; padding: 6px 0; color: #4c5a74; cursor: pointer; list-style: none; }
.tj-site-header .nav-account summary::-webkit-details-marker { display: none; }
.tj-site-header .nav-account summary::after { content: '⌄'; color: #8794a9; }
.tj-site-header .user-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: transparent; background: url('assets/default-avatar.jpg') center / cover no-repeat; font-size: 13px; overflow: hidden; }
.tj-site-header .user-name { display: inline-block; max-width: 112px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.tj-site-header .nav-account-menu { position: absolute; right: 0; top: calc(100% + 8px); display: grid; min-width: 190px; padding: 7px; border: 1px solid #e2e9f3; border-radius: 10px; background: #fff; box-shadow: 0 10px 30px rgba(31, 65, 112, .13); }
.tj-site-header .nav-account-menu a,
.tj-site-header .nav-account-menu button { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 6px; background: transparent; color: #4c5a74; text-align: left; font: inherit; }
.tj-site-header .nav-account-menu a:hover,
.tj-site-header .nav-account-menu button:hover { background: #eef5ff; color: #2f72ff; }
.tj-site-header a:focus-visible,
.tj-site-header button:focus-visible,
.tj-site-header summary:focus-visible { outline: 2px solid #2f72ff; outline-offset: 4px; }
/* Account and information pages retain their original body zoom. Only the
   header cancels that scale, including on the first paint before scripts run. */
.tj-site-header[data-content-scale='0.9'] { zoom: 1.1111111111111111; }
@media (max-width: 800px) {
  .tj-site-header[data-content-scale='0.9'] { zoom: 1; }
}
@media (max-width: 1320px) {
  .tj-site-header .main-nav { margin-left: 28px; gap: 22px; }
  .tj-site-header .nav-actions { min-width: 230px; gap: 17px; margin-left: 18px; }
}
@media (max-width: 1180px) {
  .tj-site-header { height: 110px !important; padding: 0 20px !important; flex-wrap: wrap; }
  .tj-site-header .brand--header { height: 64px; }
  .tj-site-header .nav-actions { min-width: 0; margin-left: auto; }
  .tj-site-header .main-nav { order: 3; flex: 1 0 100%; height: 46px; min-width: 0; margin: 0; gap: 28px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
  .tj-site-header .main-nav a { flex: 0 0 auto; }
}
@media (max-width: 600px) {
  .tj-site-header { height: 102px !important; padding: 0 14px !important; }
  .tj-site-header .brand--header { height: 56px; gap: 5px; }
  .tj-site-header .brand-sigil { width: 30px; height: 24px; gap: 3px; }
  .tj-site-header .brand-sigil i { width: 6px; }
  .tj-site-header .brand-sigil i:nth-child(2) { height: 24px; }
  .tj-site-header .brand-wordmark { font-size: 21px; }
  .tj-site-header .brand-roman { display: none; }
  .tj-site-header .nav-actions { gap: 12px; font-size: 13px; }
  .tj-site-header .register { padding: 7px 10px; }
  .tj-site-header .register span { margin-left: 4px; }
  .tj-site-header .main-nav { gap: 25px; }
  .tj-site-header .main-nav a { font-size: 14px; }
  .tj-site-header .user-name { max-width: 95px; }
}
