

    :root {



      color-scheme: light;



      --ink: #07132f;



      --muted: #60708f;



      --soft: #f4f8ff;



      --paper: rgba(255, 255, 255, 0.88);



      --paper-solid: #ffffff;






      --accent: #00dff6;



      --accent-strong: #0068ff;



      --lime: #7cff00;



      --magenta: #ff007f;



      --orange: #ff3b1f;



      --navy: #071342;



      --shadow: 0 24px 78px rgba(7, 19, 66, 0.16);



      --radius: 8px;



      --max: 1180px;



    }







    * {



      box-sizing: border-box;



    }







    html {



      scroll-behavior: smooth;



    }







    body {



      min-height: 100vh;



      margin: 0;



      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;



      background:



        linear-gradient(116deg, #f9fcff 0%, #eefaff 36%, #f9f2ff 68%, #fff7ef 100%);



      color: var(--ink);



      letter-spacing: 0;



    }







    img {



      user-select: none;



      -webkit-user-drag: none;



    }







    body::before {



      position: fixed;



      inset: 0;



      z-index: -1;



      pointer-events: none;



      content: "";



      background-image:



        linear-gradient(rgba(7, 19, 66, 0.045) 1px, transparent 1px),



        linear-gradient(90deg, rgba(7, 19, 66, 0.045) 1px, transparent 1px);



      background-size: 48px 48px;



      mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.58), transparent 72%);



    }







    /* 页面背景蒙层由 Worker 注入的 body::after 动态控制，见 cloudflare-worker/src/46_主站视觉主题引擎_Theme.js */







    a {



      color: inherit;



    }







    button,



    input {



      font: inherit;



    }







    .site-shell {



      width: min(var(--max), calc(100% - 40px));



      margin: 0 auto;



    }







    .topbar {



      display: flex;



      align-items: center;



      justify-content: space-between;



      gap: 18px;



      padding: 22px 0;



    }







    .brand {



      display: inline-flex;



      align-items: center;



      gap: 12px;



      min-width: 0;



      text-decoration: none;



    }







    .brand-mark {



      display: grid;



      flex: 0 0 auto;



      width: 42px;



      height: 42px;



      place-items: center;



      border: none;



      border-radius: 0;



      background: transparent;



      box-shadow: none;



      color: #004bd8;



      font-weight: 800;



    }







    .brand-mark .brand-logo {

      width: 100%;

      height: 100%;

      object-fit: contain;

      display: block;

    }

    .brand-copy {



      min-width: 0;



    }







    .brand-name {



      display: block;



      font-size: 1rem;



      color: var(--brand-text, var(--ink)); /* 顶栏品牌名称（Endril）色（2026-09-01 升级为主题字段 brandText，fallback 走 ink 保原继承行为） */
      font-weight: 760;



      line-height: 1.1;



    }







    .brand-note {



      display: block;



      margin-top: 3px;



      color: var(--muted);
      color: var(--top-text, var(--muted)); /* 主题套装跟随：顶部文案色（fallback：上一行原值） */



      font-size: 0.78rem;



      white-space: nowrap;



    }



    .stats-link {

      display: inline-flex;

      align-items: center;

      gap: 4px;

      min-width: 28px;

      height: 28px;

      padding: 0 7px;

      border-radius: 999px;

      color: var(--muted);

      text-decoration: none;

      transition: color 0.15s, background 0.15s;

    }

    .stats-link:hover {

      color: var(--accent);

      background: rgba(0, 223, 246, 0.1);

    }

    .stats-link svg {

      flex-shrink: 0;

    }

    .stats-pv {

      font-size: 0.68rem;

      font-weight: 700;

      color: var(--ink);

      line-height: 1;

      white-space: nowrap;

    }







    .nav-links {



      display: flex;



      align-items: center;



      gap: 8px;



    }







    .nav-link {



      min-height: 38px;



      padding: 10px 13px;



      border: 1px solid transparent;



      border-radius: var(--radius);



      color: var(--nav-text, #26395f); /* 顶部导航链接（窗口/关于）默认色，与 .contact-icon-btn 同源（2026-09-01 由硬编码升级为主题字段 navText） */



      font-size: 0.9rem;



      text-decoration: none;



    }







    .nav-link:hover {



      border-color: rgba(0, 223, 246, 0.34);



      background: rgba(255, 255, 255, 0.72);



      color: var(--accent-strong);



    }







    /* ── 联系方式图标区 ─────────────────────────────── */







    /* ── 主题套装切换器 ─────────────────────────────── */

    /* 全局主题过渡：切换套装时所有颜色/背景平滑过渡，但遵守 prefers-reduced-motion */
    html[data-theme-pack] body,
    html[data-theme-pack] .card,
    html[data-theme-pack] .hero-card,
    html[data-theme-pack] .panel-card,
    html[data-theme-pack] .tool-card-inner,
    html[data-theme-pack] .eyebrow,
    html[data-theme-pack] .button {
      transition: background-color 320ms ease, background 320ms ease, color 240ms ease, border-color 240ms ease, box-shadow 320ms ease;
    }

    @media (prefers-reduced-motion: reduce) {
      html[data-theme-pack] body,
      html[data-theme-pack] .card,
      html[data-theme-pack] .hero-card,
      html[data-theme-pack] .panel-card,
      html[data-theme-pack] .tool-card-inner,
      html[data-theme-pack] .eyebrow,
      html[data-theme-pack] .button {
        transition: none !important;
      }
    }

    /* Eyebrow 可点击态 */
    .eyebrow-switcher,
    .eyebrow[role="button"] {
      cursor: pointer;
      user-select: none;
    }

    .eyebrow-switcher:hover,
    .eyebrow[role="button"]:hover {
      transform: translateY(-1px);
      box-shadow: 0 18px 40px rgba(0, 104, 255, 0.14);
      box-shadow: 0 18px 40px color-mix(in srgb, var(--accent-strong) 14%, transparent);
    }

    .eyebrow-switcher:active,
    .eyebrow[role="button"]:active {
      transform: translateY(0);
    }

    .eyebrow-switcher:focus-visible,
    .eyebrow[role="button"]:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }




