/* Extracted public header styles from inc/header.php. */
/* ------------------- 全局基础样式 ------------------- */
    body {
      max-width: 1280px;
      min-height: 100vh;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      background-color: #f8f8f8;
      font-family: Arial, sans-serif;
    }
    body.qn-home-body {
      max-width: none;
      background: #fff;
      color: #10213d;
      font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    }
    body > .main-container {
      width: 100%;
    }
    header {
      padding: 0 20px;
      text-align: center;
    }
    footer {
      width: 100%;
      margin-top: auto;
      padding: 20px 0;
      background: transparent;
      font-size: 14px;
      color: #666;
      text-align: center;
    }
    /* ------------------- Header 布局 ------------------- */
    .qn-site-header,
    .qn-site-header * {
      box-sizing: border-box;
    }
    .qn-site-header {
      position: relative;
      z-index: 1000;
      padding: 0;
      color: #17181c;
      background: #f8f8f8;
      border-bottom: 0;
      text-align: left;
    }
    .qn-header-inner {
      width: 100%;
      max-width: 1280px;
      min-height: 72px;
      margin: 0 auto;
      padding: 6px 28px;
      display: grid;
      grid-template-columns: auto minmax(280px, 460px) minmax(0, 1fr);
      align-items: center;
      gap: 26px;
    }
    .qn-brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      color: #17181c;
      text-decoration: none;
      white-space: nowrap;
    }
    .qn-brand:hover,
    .qn-brand:focus-visible {
      color: #17181c;
      text-decoration: none;
    }
    .qn-brand:focus-visible,
    .navbar-search:focus-visible,
    .qn-nav-link:focus-visible,
    .navbar-hamburger:focus-visible,
    .navbar-menu a:focus-visible {
      outline: 3px solid rgba(49, 118, 246, .26);
      outline-offset: 3px;
    }
    .qn-brand img {
      width: 48px;
      height: 48px;
      flex: 0 0 auto;
      display: block;
      object-fit: cover;
      background: #35baf4;
      border: 0;
      outline: 0;
      border-radius: 12px;
      box-shadow: 0 8px 22px rgba(46, 116, 214, .14);
    }
    .qn-brand-name {
      font-size: 22px;
      font-weight: 750;
      line-height: 1;
      letter-spacing: -.03em;
    }
    .navbar-search {
      width: 100%;
      height: 56px;
      margin: 0;
      padding: 0 5px 0 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      color: #8a8c97;
      background: #faf9fd;
      border: 1px solid #e5e3ed;
      border-radius: 14px;
      box-shadow: 0 7px 18px rgba(47, 54, 84, .06);
      cursor: pointer;
      font: inherit;
      font-size: 16px;
      text-align: left;
      transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
    }
    .navbar-search:hover {
      background: #fff;
      border-color: #cfd9f0;
      box-shadow: 0 9px 24px rgba(47, 72, 122, .09);
    }
    .navbar-search .qn-search-icon {
      width: 50px;
      height: 46px;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: #3779f3;
      border-radius: 11px;
      box-shadow: 0 7px 16px rgba(55, 121, 243, .24);
    }
    .navbar-search i {
      color: inherit;
      font-size: 20px;
    }
    .navbar-search > span:first-child {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .qn-search-shell {
      position: relative;
      min-width: 0;
    }
    .qn-search-panel {
      width: 100%;
      min-width: 420px;
      padding: 18px;
      position: absolute;
      top: calc(100% + 10px);
      left: 0;
      z-index: 1100;
      color: #24262d;
      background: #fff;
      border: 1px solid #e1e5ee;
      border-radius: 14px;
      box-shadow: 0 18px 45px rgba(36, 52, 82, .16);
    }
    .qn-search-panel[hidden] { display: none !important; }
    .qn-search-panel__header {
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .qn-search-panel__title {
      margin: 0;
      color: #20232a;
      font-size: 17px;
      font-weight: 650;
    }
    .qn-search-panel__close {
      width: 36px;
      height: 36px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #687080;
      background: transparent;
      border: 0;
      border-radius: 9px;
      cursor: pointer;
    }
    .qn-search-panel__close:hover { color: #2f73e8; background: #f1f5fd; }
    .qn-search-panel .form-group { margin-bottom: 14px; }
    .qn-search-panel label {
      margin-bottom: 7px;
      color: #555e6d;
      font-size: 13px;
      font-weight: 600;
    }
    .qn-search-panel .form-control,
    .qn-search-panel .input-group-text {
      height: 43px;
      border-color: #d8dee9;
    }
    .qn-search-panel .form-control:focus {
      border-color: #4b83ee;
      box-shadow: 0 0 0 3px rgba(55, 121, 243, .12);
    }
    .qn-search-panel .btn-primary {
      min-height: 44px;
      border: 0;
      border-radius: 10px;
      background: #3779f3;
      font-weight: 650;
    }
    .qn-search-panel #searchResults {
      max-height: 260px;
      overflow-y: auto;
    }
    .qn-language-control {
      min-height: 42px;
      padding: 0 8px 0 10px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #50515a;
      background: transparent;
      border: 1px solid transparent;
      border-radius: 10px;
    }
    .qn-language-control i { font-size: 15px; }
    .qn-language-select {
      max-width: 112px;
      padding: 4px 22px 4px 4px;
      color: inherit;
      background: transparent;
      border: 0;
      outline: 0;
      font: inherit;
      font-size: 13px;
      cursor: pointer;
    }
    html[data-theme="dark"] .qn-language-control { color: var(--qn-theme-text); border-color: #343d49; }
    html[data-theme="dark"] .qn-language-select { color: var(--qn-theme-text); background: #12171e; }
    .qn-mobile-language-row {
      padding: 10px 12px;
      display: flex;
      align-items: center;
      gap: 8px;
      color: #687080;
      font-size: 13px;
    }
    .qn-mobile-language-row a { min-height: auto !important; padding: 4px 6px !important; width: auto !important; font-size: 13px !important; }
    .qn-nav-links {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
      white-space: nowrap;
    }
    .qn-nav-link {
      min-height: 48px;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      color: #50515a;
      text-decoration: none;
      font-size: 16px;
      font-weight: 500;
      transition: color 140ms ease, background-color 140ms ease;
    }
    .qn-nav-link--icon {
      width: 48px;
      padding-right: 0;
      padding-left: 0;
      justify-content: center;
    }
    .qn-nav-link i {
      width: 20px;
      color: #343740;
      font-size: 19px;
      text-align: center;
    }
    .qn-user-online {
      position: relative;
    }
    .qn-user-online > i {
      color: #22a447 !important;
    }
    .qn-user-online::after {
      content: '';
      width: 9px;
      height: 9px;
      position: absolute;
      right: 8px;
      bottom: 10px;
      background: #31c862;
      border: 2px solid var(--qn-theme-canvas, #f8f8f8);
      border-radius: 50%;
      box-sizing: content-box;
    }
    .navbar-menu .qn-mobile-user-online i {
      color: #22a447;
    }
    .navbar-menu .qn-mobile-user-online::after {
      content: '在线';
      margin-left: auto;
      color: #22a447;
      font-size: 12px;
      font-weight: 700;
    }
    .qn-nav-link:hover,
    .qn-nav-link[aria-current="page"] {
      color: #3378ee;
      text-decoration: none;
    }
    .qn-nav-link:hover i,
    .qn-nav-link[aria-current="page"] i {
      color: #3378ee;
    }
    .qn-nav-link--quiet {
      padding-left: 9px;
      padding-right: 9px;
      color: #73747c;
      font-size: 14px;
    }
    .qn-nav-link.btn-publish {
      min-height: 50px;
      margin-left: 12px;
      padding: 0 20px;
      color: #fff;
      background: linear-gradient(135deg, #5cc975, #4bb964);
      border: 0;
      border-radius: 12px;
      box-shadow: 0 8px 18px rgba(55, 159, 79, .2);
      font-weight: 650;
    }
    .qn-nav-link.btn-publish i,
    .qn-nav-link.btn-publish:hover i {
      color: #fff;
    }
    .qn-nav-link.btn-publish:hover {
      color: #fff;
      background: linear-gradient(135deg, #53c16d, #3eaa58);
      box-shadow: 0 10px 22px rgba(55, 159, 79, .26);
    }
    .qn-header-home {
      max-width: 1280px;
      min-height: 72px;
      padding-left: 28px;
      padding-right: 28px;
      display: flex !important;
      align-items: center;
      gap: 34px;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    }
    .qn-header-home .qn-brand {
      flex: 0 0 auto;
      gap: 10px;
    }
    .qn-header-home .qn-brand img {
      width: 48px;
      height: 48px;
      border-radius: 13px;
    }
    .qn-header-home .qn-brand-name {
      font-size: 22px;
      font-weight: 800;
      line-height: 1;
      letter-spacing: .02em;
    }
    .qn-header-home .qn-nav-links {
      min-width: 0;
      flex: 1 1 auto;
      gap: 2px;
      justify-content: flex-start !important;
      font-family: inherit;
    }
    .qn-header-home .qn-nav-link,
    .qn-header-home .qn-more-menu > summary,
    .qn-header-home .qn-language-control {
      font-family: inherit;
      font-size: 15px;
      font-weight: 500;
    }
    .qn-header-home .qn-language-menu { margin-left: auto; }
    .qn-search-shell { display:none; }
    .qn-more-menu { position:relative; display:inline-flex; align-items:center; }
    .qn-more-menu > summary {
      min-height:44px;
      padding:0 12px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:#50515a;
      cursor:pointer;
      list-style:none;
      font-size:15px;
      font-weight:500;
      border-bottom:2px solid transparent;
      border-radius:10px;
      white-space:nowrap;
      transition:color .16s ease,background .16s ease,border-color .16s ease;
    }
    .qn-more-menu > summary::-webkit-details-marker { display:none; }
    .qn-more-menu > summary:focus { outline:none !important; }
    .qn-more-menu > summary:focus-visible { outline:none !important; box-shadow:0 0 0 2px rgba(22,119,255,.18); }
    .qn-more-menu[open] > summary,
    .qn-more-menu > summary:hover { color:#1677ff; background:#f4f8ff; border-bottom-color:#1677ff; }
    .qn-header-dropdown {
      width:160px;
      padding:6px;
      position:absolute;
      right:0;
      top:calc(100% + 7px);
      z-index:1600;
      display:flex;
      flex-direction:column;
      gap:2px;
      background:#fff;
      border:1px solid #e6ebf2;
      border-radius:12px;
      box-shadow:0 14px 34px rgba(32,55,88,.14);
    }
    .qn-header-dropdown a {
      min-height:42px;
      padding:0 11px;
      display:flex;
      align-items:center;
      gap:10px;
      color:#253858;
      text-decoration:none;
      border-radius:8px;
      font-size:14px;
      font-weight:520;
      white-space:nowrap;
    }
    .qn-header-dropdown a i { width:18px; color:#1677ff; text-align:center; font-size:14px; }
    .qn-header-dropdown a:hover,
    .qn-header-dropdown a:focus-visible { color:#0f6ee8; background:#f3f8ff; outline:none; }
    .qn-auth-menu { position:relative !important; overflow:visible !important; }
    .qn-auth-menu > .qn-header-dropdown {
      width:160px;
      min-width:160px;
      padding:6px;
      position:absolute !important;
      top:calc(100% + 7px) !important;
      right:0 !important;
      left:auto !important;
      z-index:2000 !important;
      flex-direction:column !important;
      align-items:stretch !important;
      gap:2px !important;
    }
    .qn-auth-menu:not([open]) > .qn-header-dropdown { display:none !important; }
    .qn-auth-menu[open] > .qn-header-dropdown { display:flex !important; }
    .qn-auth-menu > .qn-header-dropdown a {
      width:100%;
      min-height:40px;
      padding:0 10px;
      display:flex !important;
      align-items:center;
      justify-content:flex-start;
      white-space:nowrap;
    }
    .qn-language-menu { position:relative !important; overflow:visible !important; }
    .qn-language-menu:not([open]) > .qn-header-dropdown { display:none !important; }
    .qn-language-menu[open] > .qn-header-dropdown { display:flex !important; }
    .qn-language-menu > summary .fa-globe-americas { color:#53657a; }
    .qn-signup {
      margin-left:6px;
      min-height:44px !important;
      padding:0 17px !important;
      color:#fff !important;
      background:#1677ff;
      border-radius:12px !important;
      border-bottom:0 !important;
      box-shadow:0 7px 16px rgba(22,119,255,.16);
    }
    .qn-more-menu[open] > .qn-signup,
    .qn-signup:hover { background:#0f6ee8 !important; color:#fff !important; }
    html[data-theme="dark"] .qn-header-dropdown { background:#171e27; border-color:#303b48; box-shadow:0 16px 36px rgba(0,0,0,.28); }
    html[data-theme="dark"] .qn-header-dropdown a { color:#dfe7ef; }
    html[data-theme="dark"] .qn-header-dropdown a:hover,
    html[data-theme="dark"] .qn-header-dropdown a:focus-visible { background:#1f2b38; color:#7cb8ff; }
    .qn-nav-link:active,
    .navbar-search:active,
    .navbar-hamburger:active {
      transform: translateY(1px);
    }
    .navbar-hamburger {
      width: 46px;
      height: 46px;
      padding: 0;
      position: relative;
      display: none;
      align-items: center;
      justify-content: center;
      color: #30323a;
      background: #fff;
      border: 1px solid #dedee8;
      border-radius: 12px;
      cursor: pointer;
    }
    .navbar-hamburger span {
      width: 20px;
      height: 2px;
      position: absolute;
      left: 12px;
      top: 21px;
      display: block;
      background: currentColor;
      border-radius: 999px;
      transition: transform 150ms ease, opacity 150ms ease;
    }
    .navbar-hamburger span:nth-child(1) { transform: translateY(-7px); }
    .navbar-hamburger span:nth-child(3) { transform: translateY(7px); }
    .navbar-hamburger[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
    .navbar-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .navbar-hamburger[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }
    .navbar-menu {
      display: none;
    }
    @media (max-width: 1180px) {
      .qn-header-inner:not(.qn-header-home) {
        grid-template-columns: auto minmax(220px, 1fr) auto;
        gap: 20px;
      }
      .qn-header-home {
        padding-left: 20px;
        padding-right: 20px;
        gap: 22px;
      }
      .qn-header-home .qn-nav-link { padding-left: 9px; padding-right: 9px; font-size:14px; }
      .qn-header-home .qn-language-select { max-width:96px; }
      .qn-nav-link--icon { padding-right: 0; padding-left: 0; }
      .qn-nav-link.btn-publish { margin-left: 4px; }
    }
    @media (max-width: 1080px) {
      .qn-header-home {
        justify-content: space-between;
      }
      .qn-header-home .qn-nav-links { display:none; }
      .qn-header-home .navbar-hamburger { display:flex; margin-left:auto; }
    }
    @media (max-width: 820px) {
      .qn-site-header { padding: 0; }
      .qn-header-inner {
        min-height: 0;
        padding: 6px 14px 7px;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
      }
      .qn-brand { gap: 10px; }
      .qn-brand img {
        width: 46px;
        height: 46px;
        border-radius: 11px;
      }
      .qn-brand-name { font-size: 24px; }
      .qn-search-shell {
        position: absolute;
        top: 100%;
        right: 14px;
        left: 14px;
      }
      .navbar-search {
        display: none;
      }
      .navbar-search .qn-search-icon {
        width: 46px;
        height: 40px;
        border-radius: 10px;
      }
      .qn-search-panel {
        min-width: 0;
        padding: 16px;
        top: 0;
      }
      .qn-nav-links { display: none; }
      .navbar-hamburger { display: flex; }
      .navbar-menu {
        width: min(230px, calc(100vw - 28px));
        padding: 8px;
        position: absolute;
        top: 100%;
        right: 14px;
        flex-direction: column;
        gap: 3px;
        background: #fff;
        border: 1px solid #e2e3eb;
        border-radius: 14px;
        box-shadow: 0 18px 48px rgba(37, 44, 71, .16);
      }
      .navbar-menu.show { display: flex; }
      .navbar-menu a {
        min-height: 44px;
        padding: 0 13px;
        display: flex;
        align-items: center;
        gap: 11px;
        color: #363840;
        border-radius: 9px;
        text-decoration: none;
        font-size: 15px;
        font-weight: 550;
      }
      .navbar-menu .qn-mobile-search-link {
        width: 100%;
        min-height: 44px;
        padding: 9px 12px;
        display: flex;
        align-items: center;
        gap: 11px;
        color: #363840;
        background: transparent;
        border: 0;
        border-radius: 9px;
        text-align: left;
        font-size: 15px;
        font-weight: 550;
        cursor: pointer;
      }
      .navbar-menu .qn-mobile-search-link:hover,
      .navbar-menu .qn-mobile-search-link:focus-visible {
        color: #2f73e8;
        background: #f2f6ff;
      }
      .navbar-menu a:hover { color: #2f73e8; background: #f2f6ff; }
      .navbar-menu > a:last-child { color: #fff; background: #4dbb66; }
    }
    @media (prefers-reduced-motion: reduce) {
      .navbar-search,
      .qn-nav-link,
      .navbar-hamburger span { transition: none; }
    }

