/* ---- home style block 0 ---- */
:root {
      --bg: #eef1f7;
      --bg-soft: #e6ebf4;
      --panel: #ffffff;
      --text: #3a4250;
      --strong: #11151c;
      --muted: #7b8597;
      --soft: #9aa4b3;
      --line: #e4e8f0;
      --line-strong: #d6dce8;
      --blue: #1257ff;
      --blue-2: #3b7bff;
      --blue-ink: #0b3fcc;
      --blue-soft: #eaf0ff;
      --green: #13a05b;
      --green-soft: #e6f6ee;
      --amber: #d97706;
      --amber-soft: #fff7ed;
      --pink: #db2777;
      --pink-soft: #fdf2f8;
      --shadow-sm: 0 1px 2px rgba(20,40,90,.05), 0 2px 8px rgba(20,40,90,.04);
      --shadow: 0 8px 28px rgba(20,46,110,.08);
      --shadow-lg: 0 18px 50px rgba(20,46,110,.12);
      --r: 16px;
      --r-sm: 10px;
      --wrap: 1280px;
      /* 与原型 fx.css 一致：Outfit + Noto Sans SC */
      --sans: "Outfit", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --mono: "SF Mono", "Cascadia Code", "Consolas", ui-monospace, monospace;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: var(--sans);
      background:
        radial-gradient(1100px 480px at 72% -10%, rgba(18,87,255,.08), transparent 58%),
        var(--bg);
      color: var(--text);
      line-height: 1.55;
      min-height: 100vh;
    }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    img { display: block; max-width: 100%; }
    .wrap {
      width: min(var(--wrap), calc(100% - 32px)) !important;
      max-width: 1280px;
      margin: 0 auto;
    }

    /* Topbar */
    .topbar {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(14px);
      background: rgba(255,255,255,.84);
      border-bottom: 1px solid var(--line);
    }
    .topbar-inner {
      display: flex;
      align-items: center;
      gap: 16px;
      min-height: 60px;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
      font-weight: 700;
      color: var(--strong);
      letter-spacing: -.02em;
    }
    .brand-mark {
      width: 32px;
      height: 32px;
      border-radius: 9px;
      background: linear-gradient(135deg, var(--blue), var(--blue-2));
      display: grid;
      place-items: center;
      color: #fff;
      box-shadow: 0 6px 16px rgba(18,87,255,.28);
    }
    .brand-mark svg { width: 18px; height: 18px; }
    .nav-links {
      display: flex;
      gap: 4px;
      margin-left: 8px;
    }
    .nav-links a {
      padding: 8px 12px;
      border-radius: 8px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 600;
      transition: .18s ease;
    }
    .nav-links a:hover,
    .nav-links a.is-active {
      color: var(--blue);
      background: var(--blue-soft);
      border-radius: 8px;
    }
    .top-search {
      margin-left: auto;
      display: flex;
      align-items: center;
      gap: 8px;
      width: min(380px, 42vw);
      height: 40px;
      box-sizing: border-box;
      background: var(--bg);
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 4px 4px 4px 14px;
      transition: .18s ease;
    }
    .top-search:focus-within {
      border-color: rgba(18,87,255,.35);
      box-shadow: 0 0 0 3px rgba(18,87,255,.1);
      background: #fff;
    }
    .top-search svg {
      width: 16px;
      height: 16px;
      color: var(--soft);
      flex-shrink: 0;
      display: block;
    }
    .top-search input {
      border: 0;
      outline: 0;
      background: transparent;
      width: 100%;
      min-width: 0;
      height: 32px;
      line-height: 32px;
      padding: 0;
      margin: 0;
      color: var(--strong);
      font-size: 14px;
      font-family: inherit;
      vertical-align: middle;
      appearance: none;
      -webkit-appearance: none;
    }
    .top-search input::-webkit-search-decoration,
    .top-search input::-webkit-search-cancel-button {
      -webkit-appearance: none;
      appearance: none;
    }
    .top-search input::placeholder {
      color: var(--soft);
      line-height: 32px;
      position: relative;
      top: 0;
    }
    .top-search button[type="submit"] {
      border: 0;
      border-radius: 999px;
      background: var(--blue);
      color: #fff;
      height: 32px;
      padding: 0 14px;
      margin: 0;
      font-size: 13px;
      font-weight: 700;
      font-family: inherit;
      line-height: 32px;
      cursor: pointer;
      white-space: nowrap;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: none;
      transform: none;
    }
    .top-search button[type="submit"]:hover {
      background: var(--blue-ink);
      transform: none;
      filter: none;
    }
    .theme-btn {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      border: 1px solid var(--line);
      background: #fff;
      color: var(--muted);
      display: grid;
      place-items: center;
      cursor: pointer;
      flex-shrink: 0;
    }
    .theme-btn:hover { color: var(--blue); border-color: rgba(18,87,255,.25); }

    /* 头像与个人中心弹窗样式见 shell.css */

    /* Hero carousel */
    .hero {
      padding: 28px 0 8px;
    }
    .hero-intro {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
      flex-wrap: wrap;
    }
    .hero-intro .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      border-radius: 999px;
      background: var(--blue-soft);
      color: var(--blue-ink);
      font-size: 12px;
      font-weight: 700;
      margin-bottom: 10px;
    }
    .hero-intro .eyebrow .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 3px rgba(19,160,91,.18);
    }
    .hero-intro h1 {
      margin: 0;
      font-size: clamp(26px, 3.4vw, 36px);
      line-height: 1.18;
      letter-spacing: -.03em;
      color: var(--strong);
      font-weight: 800;
    }
    .hero-intro h1 b { color: var(--blue); font-weight: 800; }
    .hero-intro p {
      margin: 8px 0 0;
      color: var(--muted);
      font-size: 15px;
      max-width: 46ch;
    }
    .hero-stats {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .hero-stat {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 12px 16px;
      min-width: 108px;
      box-shadow: var(--shadow-sm);
    }
    .hero-stat b {
      display: block;
      font-size: 20px;
      color: var(--strong);
      font-variant-numeric: tabular-nums;
      letter-spacing: -.02em;
      line-height: 1.1;
    }
    .hero-stat span {
      font-size: 12px;
      color: var(--muted);
      font-weight: 600;
    }

    /* 首屏：左幻灯 + 右热门文章 */
    .hero-stage {
      display: grid;
      grid-template-columns: minmax(0, 1.75fr) minmax(280px, 0.95fr);
      gap: 14px;
      align-items: stretch;
    }
    .carousel {
      position: relative;
      border-radius: calc(var(--r) + 8px);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: var(--shadow);
      background: #0d1118;
      min-height: 400px;
      height: 100%;
    }
    /* 右侧热门：无外框，三张大图竖排，圆角与左侧幻灯一致 */
    .hero-hot {
      display: flex;
      flex-direction: column;
      min-height: 400px;
      border: 0;
      background: transparent;
      box-shadow: none;
      overflow: visible;
    }
    .hero-hot-list {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-height: 0;
      padding: 0;
      gap: 10px;
    }
    .hero-hot-item {
      position: relative;
      display: block;
      flex: 1 1 0;
      min-height: 108px;
      border-radius: calc(var(--r) + 8px);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: var(--shadow);
      color: #fff;
      isolation: isolate;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .hero-hot-item:hover {
      border-color: rgba(125,168,255,.35);
      box-shadow: 0 14px 32px rgba(0,0,0,.4);
      transform: translateY(-1px);
    }
    .hero-hot-item .bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }
    .hero-hot-item .bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.03);
      transition: transform .35s ease;
    }
    .hero-hot-item:hover .bg img { transform: scale(1.07); }
    .hero-hot-item .bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(8,12,20,.88) 0%, rgba(8,12,20,.55) 48%, rgba(8,12,20,.28) 100%),
        linear-gradient(0deg, rgba(8,12,20,.55), transparent 55%);
    }
    .hero-hot-item .body {
      position: relative;
      z-index: 1;
      height: 100%;
      min-height: inherit;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 12px 12px 11px;
    }
    .hero-hot-item .tags {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      margin-bottom: 6px;
    }
    .hero-hot-item .tag {
      display: inline-flex;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 10px;
      font-weight: 800;
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.12);
      color: #fff;
    }
    .hero-hot-item .tag.type {
      background: rgba(59,130,246,.35);
      border-color: rgba(147,197,253,.35);
    }
    .hero-hot-item .tag.low {
      background: rgba(16,185,129,.35);
      border-color: rgba(110,231,183,.4);
    }
    .hero-hot-item .title {
      font-size: 13.5px;
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: -.015em;
      color: #fff;
      text-shadow: 0 2px 12px rgba(0,0,0,.45);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .hero-hot-item .foot {
      margin-top: 6px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      font-size: 11px;
      font-weight: 650;
      color: rgba(255,255,255,.72);
    }
    .hero-hot-item .foot .game {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .hero-hot-empty {
      flex: 1;
      display: grid;
      place-items: center;
      padding: 20px;
      color: var(--muted);
      font-size: 13px;
      text-align: center;
    }
    .carousel-track {
      display: flex;
      transition: transform .55s cubic-bezier(.22,.8,.28,1);
      will-change: transform;
    }
    .slide {
      position: relative;
      flex: 0 0 100%;
      min-height: 400px;
      color: #fff;
      isolation: isolate;
    }
    .slide-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }
    .slide-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.04);
      filter: saturate(1.05);
    }
    .slide-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(100deg, rgba(8,12,20,.88) 0%, rgba(8,12,20,.62) 42%, rgba(8,12,20,.22) 72%, rgba(8,12,20,.35) 100%),
        linear-gradient(0deg, rgba(8,12,20,.55), transparent 48%);
    }
    .slide-content {
      position: relative;
      z-index: 1;
      min-height: 400px;
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 20px;
      padding: 42px 44px 48px;
      align-items: end;
    }
    /* 左侧文案列：徽章/标题/按钮纵向排列，不参与被拉宽 */
    .slide-copy {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-end;
      min-width: 0;
    }
    .slide-kicker {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      width: max-content;
      max-width: 100%;
      padding: 5px 10px;
      border-radius: 8px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.16);
      font-size: 12px;
      font-weight: 700;
      margin-bottom: 12px;
      backdrop-filter: blur(8px);
      white-space: nowrap;
      flex: 0 0 auto;
    }
    /* 轮播徽章用建议档色板（140019），不用整条粉红 ribbon */
    .slide-kicker.deal:not(.rec) { color: #93c5fd; }
    .slide-kicker.code:not(.rec) { color: #f9a8d4; }
    .slide h2 {
      margin: 0 0 12px;
      font-size: clamp(28px, 3.6vw, 42px);
      line-height: 1.12;
      letter-spacing: -.04em;
      max-width: 14ch;
      text-shadow: 0 12px 40px rgba(0,0,0,.45);
      font-weight: 800;
    }
    .slide-desc {
      margin: 0 0 18px;
      color: rgba(255,255,255,.78);
      font-size: 15px;
      max-width: 42ch;
      line-height: 1.55;
    }
    .slide-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      border: 0;
      border-radius: 12px;
      padding: 11px 16px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      white-space: nowrap;
      transition: .18s ease;
    }
    .btn-primary {
      background: var(--blue);
      color: #fff;
      box-shadow: 0 8px 20px rgba(18,87,255,.35);
    }
    .btn-primary:hover { background: #0f4ef0; transform: translateY(-1px); }
    .btn-glass {
      background: rgba(255,255,255,.12);
      color: #fff;
      border: 1px solid rgba(255,255,255,.2);
      backdrop-filter: blur(8px);
    }
    .btn-glass:hover { background: rgba(255,255,255,.18); }

    /*
     * 轮播 CTA 是 <a class="btn btn-primary">：
     * 父主题 body.night a { color:#999 } / 日间 a{color:inherit}
     * 会冲掉蓝底白字 → 「查看比价」夜间看不见。
     */
    a.btn.btn-primary,
    a.btn-primary,
    .slide-actions a.btn-primary,
    .carousel a.btn-primary {
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
      opacity: 1 !important;
    }
    a.btn.btn-glass,
    a.btn-glass,
    .slide-actions a.btn-glass,
    .carousel a.btn-glass {
      color: #ffffff !important;
      -webkit-text-fill-color: #ffffff !important;
      opacity: 1 !important;
    }
    .btn-ghost {
      background: #fff;
      color: var(--text);
      border: 1px solid var(--line);
    }
    .btn-ghost:hover {
      border-color: rgba(18,87,255,.25);
      color: var(--blue);
    }
    .slide-price-card {
      justify-self: end;
      width: min(280px, 100%);
      background: rgba(12,16,24,.55);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 18px;
      padding: 18px;
      backdrop-filter: blur(14px);
      box-shadow: 0 16px 40px rgba(0,0,0,.28);
    }
    .slide-price-card .label {
      font-size: 12px;
      color: rgba(255,255,255,.65);
      font-weight: 600;
      margin-bottom: 6px;
    }
    .slide-price-card .now {
      font-size: 32px;
      font-weight: 800;
      letter-spacing: -.03em;
      color: #34d399;
      font-variant-numeric: tabular-nums;
      line-height: 1;
      margin-bottom: 6px;
    }
    .slide-price-card .old {
      color: rgba(255,255,255,.45);
      text-decoration: line-through;
      font-size: 14px;
      margin-right: 8px;
    }
    .slide-price-card .off {
      display: inline-block;
      background: #ef4444;
      color: #fff;
      font-size: 12px;
      font-weight: 800;
      padding: 3px 8px;
      border-radius: 7px;
    }
    .slide-price-card .stores {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: 14px 0 0;
    }
    .slide-price-card .store {
      font-size: 11px;
      font-weight: 700;
      padding: 4px 8px;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.1);
      color: rgba(255,255,255,.78);
    }
    .slide-price-card .store.best {
      background: rgba(52,211,153,.16);
      border-color: rgba(52,211,153,.28);
      color: #6ee7b7;
    }
    .slide-code-box {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
      background: rgba(0,0,0,.28);
      border: 1px dashed rgba(255,255,255,.2);
      border-radius: 10px;
      padding: 10px 12px;
    }
    .slide-code-box code {
      font-family: var(--mono);
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .04em;
      flex: 1;
    }
    .slide-code-box button {
      border: 0;
      background: rgba(255,255,255,.12);
      color: #fff;
      border-radius: 8px;
      padding: 6px 10px;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
    }

    .carousel-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 3;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(10,14,22,.45);
      color: #fff;
      display: grid;
      place-items: center;
      cursor: pointer;
      backdrop-filter: blur(8px);
      transition: .18s ease;
    }
    .carousel-arrow:hover { background: rgba(18,87,255,.85); border-color: transparent; }
    .carousel-arrow.prev { left: 14px; }
    .carousel-arrow.next { right: 14px; }
    .carousel-arrow svg { width: 18px; height: 18px; }
    .carousel-dots {
      position: absolute;
      left: 40px;
      bottom: 18px;
      z-index: 3;
      display: flex;
      gap: 8px;
    }
    .carousel-dots button {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      border: 0;
      background: rgba(255,255,255,.35);
      cursor: pointer;
      padding: 0;
      transition: .2s ease;
    }
    .carousel-dots button.is-active {
      width: 22px;
      background: #fff;
    }

    /* Path chips under carousel */
    .path-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 14px;
    }
    .path-card {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 18px 20px;
      border-radius: var(--r);
      border: 1px solid var(--line);
      background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(248,250,255,.9));
      box-shadow: var(--shadow-sm);
      transition: .18s ease;
      backdrop-filter: blur(10px);
    }
    .path-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong);
    }
    .path-card .ico {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .path-card.compare .ico { background: var(--blue-soft); color: var(--blue); }
    .path-card.codes .ico { background: var(--pink-soft); color: var(--pink); }
    .path-card .ico svg { width: 22px; height: 22px; }
    .path-card h3 {
      margin: 0 0 2px;
      font-size: 16px;
      color: var(--strong);
      letter-spacing: -.02em;
    }
    .path-card p {
      margin: 0;
      font-size: 13px;
      color: var(--muted);
    }
    .path-card .go {
      margin-left: auto;
      color: var(--soft);
      transition: .18s ease;
    }
    .path-card:hover .go { color: var(--blue); transform: translateX(2px); }
    .path-card.codes:hover .go { color: var(--pink); }

    /* Sections stacked */
    .section {
      padding: 28px 0 4px;
    }
    .section-block {
      position: relative;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: calc(var(--r) + 2px);
      box-shadow: var(--shadow-sm);
      overflow: hidden;
    }
    /* 顶部渐变条由 ::after 统一绘制（见 fx.css / store.css），不再用单色 border-top */
    .sec-head {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 20px 22px 4px;
      flex-wrap: wrap;
    }
    .sec-head .ico {
      width: 38px;
      height: 38px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .sec-head .ico.compare { background: var(--blue-soft); color: var(--blue); }
    .sec-head .ico.codes { background: var(--pink-soft); color: var(--pink); }
    .sec-head .ico svg { width: 18px; height: 18px; }
    .sec-head h2 {
      margin: 0;
      font-size: 20px;
      color: var(--strong);
      letter-spacing: -.02em;
    }
    .sec-head .sub {
      color: var(--muted);
      font-size: 13px;
    }
    /* 分区「查看全部」：醒目软链（有存在感，但不做成描边胶囊） */
    a.sec-more-link {
      margin-left: auto;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 8px 12px 8px 13px;
      border: 1px solid rgba(125, 168, 255, .22);
      border-radius: 10px;
      background: linear-gradient(135deg, rgba(77, 139, 255, .18), rgba(77, 139, 255, .08));
      box-shadow: 0 6px 16px rgba(37, 99, 235, .12);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .01em;
      color: #9ec0ff;
      text-decoration: none;
      white-space: nowrap;
      line-height: 1;
      transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease, gap .16s ease;
    }
    a.sec-more-link .sec-more-label { line-height: 1.2; }
    a.sec-more-link .sec-more-ico {
      width: 15px;
      height: 15px;
      display: block;
      flex-shrink: 0;
      opacity: .95;
      transition: transform .16s ease, opacity .16s ease;
    }
    a.sec-more-link:hover {
      color: #fff;
      gap: 9px;
      text-decoration: none;
      border-color: rgba(158, 192, 255, .45);
      background: linear-gradient(135deg, rgba(77, 139, 255, .34), rgba(61, 139, 253, .18));
      box-shadow: 0 10px 22px rgba(37, 99, 235, .22);
      transform: translateY(-1px);
    }
    a.sec-more-link:hover .sec-more-ico {
      transform: translateX(2px);
      opacity: 1;
    }
    .free-block a.sec-more-link {
      color: #6ee7b7;
      border-color: rgba(52, 211, 153, .24);
      background: linear-gradient(135deg, rgba(52, 211, 153, .16), rgba(52, 211, 153, .07));
      box-shadow: 0 6px 16px rgba(16, 185, 129, .1);
    }
    .free-block a.sec-more-link:hover {
      color: #ecfdf5;
      border-color: rgba(110, 231, 183, .45);
      background: linear-gradient(135deg, rgba(52, 211, 153, .3), rgba(16, 185, 129, .14));
      box-shadow: 0 10px 22px rgba(16, 185, 129, .18);
    }
    .demo-block a.sec-more-link {
      color: #fcd34d;
      border-color: rgba(251, 191, 36, .24);
      background: linear-gradient(135deg, rgba(251, 191, 36, .15), rgba(251, 191, 36, .06));
      box-shadow: 0 6px 16px rgba(245, 158, 11, .1);
    }
    .demo-block a.sec-more-link:hover {
      color: #fff7ed;
      border-color: rgba(252, 211, 77, .45);
      background: linear-gradient(135deg, rgba(251, 191, 36, .28), rgba(245, 158, 11, .12));
      box-shadow: 0 10px 22px rgba(245, 158, 11, .18);
    }

    /* 今日好价 — 迷你比价列表（非商店卡片） */
    .deal-table-wrap {
      padding: 4px 10px 14px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .deal-mini-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
      min-width: 720px;
    }
    .deal-mini-table th {
      text-align: left;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .03em;
      text-transform: uppercase;
      color: var(--soft);
      padding: 10px 12px;
      border-bottom: 1px solid var(--line);
      white-space: nowrap;
    }
    .deal-mini-table td {
      padding: 12px;
      border-bottom: 1px solid var(--line);
      vertical-align: middle;
    }
    .deal-mini-table tbody tr:last-child td { border-bottom: 0; }
    .deal-mini-table tbody tr {
      transition: background .15s ease;
    }
    .deal-mini-table tbody tr:hover td {
      background: rgba(18, 87, 255, .04);
    }
    .deal-mini-table .col-trend { width: 72px; }
    .deal-mini-table .col-action { width: 92px; text-align: right; }
    .deal-game {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 168px;
      color: inherit;
    }
    .deal-game:hover .deal-game-name { color: var(--blue); }
    .deal-game img {
      width: 72px;
      height: 34px;
      object-fit: cover;
      border-radius: 6px;
      border: 1px solid var(--line);
      background: var(--bg-soft);
      flex-shrink: 0;
    }
    .deal-game-name {
      font-weight: 700;
      font-size: 13px;
      color: var(--strong);
      line-height: 1.3;
      letter-spacing: -.01em;
    }
    .deal-game-meta {
      margin-top: 2px;
      font-size: 11px;
      color: var(--soft);
    }
    .deal-price-cell { line-height: 1.2; white-space: nowrap; }
    .deal-price-cell .p {
      font-weight: 800;
      font-size: 13px;
      color: var(--strong);
      font-variant-numeric: tabular-nums;
      font-family: var(--mono);
    }
    .deal-price-cell .p.is-low { color: var(--green); }
    .deal-price-cell .d {
      margin-top: 2px;
      font-size: 11px;
      color: var(--soft);
      font-variant-numeric: tabular-nums;
    }
    .deal-price-cell .empty { color: var(--soft); }
    .deal-spark {
      display: block;
      width: 56px;
      height: 22px;
    }
    .deal-spark.is-down { color: var(--green); }
    .deal-spark.is-up { color: #ef4444; }
    .deal-spark.is-flat { color: var(--soft); }
    /* 列表「详情」：醒目主操作 */
    .deal-mini-table a.btn-detail {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 68px;
      padding: 7px 14px;
      border-radius: 9px;
      border: 0;
      font-size: 12.5px;
      font-weight: 800;
      letter-spacing: .02em;
      color: #fff;
      background: linear-gradient(135deg, #4d8bff, #2563eb);
      box-shadow: 0 6px 16px rgba(37, 99, 235, .35);
      text-decoration: none;
      white-space: nowrap;
      transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    }
    .deal-mini-table a.btn-detail:hover {
      color: #fff;
      filter: brightness(1.08);
      transform: translateY(-1px);
      box-shadow: 0 10px 22px rgba(37, 99, 235, .45);
    }
    /* 免费/Demo 卡次级操作：描边轻按钮 */
    .btn-quiet,
    .product-foot .btn {
      background: transparent !important;
      color: var(--blue-ink) !important;
      border: 1px solid rgba(125, 160, 220, .28) !important;
      box-shadow: none !important;
      font-weight: 650;
    }
    .btn-quiet:hover,
    .product-foot .btn:hover {
      background: rgba(77, 139, 255, .1) !important;
      border-color: rgba(125, 160, 220, .5) !important;
      color: var(--strong) !important;
      transform: none !important;
    }
    .btn-quiet::after,
    .product-foot .btn::after {
      display: none !important;
    }

    /* Codes - full width row */
    .code-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      padding: 16px 22px 22px;
    }
    .code-card {
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 16px;
      background: linear-gradient(180deg, #fff, #fffafc);
      transition: border-color .18s ease, box-shadow .18s ease;
      display: flex;
      flex-direction: column;
      min-height: 100%;
    }
    .code-card:hover {
      border-color: rgba(219,39,119,.22);
      box-shadow: var(--shadow-sm);
    }
    .code-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 10px;
    }
    .code-top h3 {
      margin: 0;
      font-size: 14px;
      color: var(--strong);
      line-height: 1.4;
      letter-spacing: -.01em;
    }
    .code-top h3 a:hover { color: var(--pink); }
    .code-off {
      flex-shrink: 0;
      font-size: 12px;
      font-weight: 800;
      color: var(--pink);
      background: var(--pink-soft);
      padding: 4px 8px;
      border-radius: 8px;
      white-space: nowrap;
    }
    .code-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 12px;
      margin-bottom: 14px;
      font-size: 12px;
      color: var(--muted);
    }
    .code-box {
      margin-top: auto;
      display: flex;
      align-items: center;
      gap: 8px;
      background: var(--bg);
      border: 1px dashed var(--line-strong);
      border-radius: 10px;
      padding: 9px 10px;
    }
    .code-box code {
      font-family: var(--mono);
      font-size: 13px;
      font-weight: 700;
      color: var(--strong);
      letter-spacing: .04em;
      flex: 1;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .code-box button,
    .code-box .read-link {
      border: 1px solid var(--line);
      background: #fff;
      border-radius: 8px;
      padding: 6px 10px;
      font-size: 12px;
      font-weight: 700;
      color: var(--text);
      cursor: pointer;
      white-space: nowrap;
    }
    .code-box button:hover,
    .code-box .read-link:hover {
      color: var(--pink);
      border-color: rgba(219,39,119,.3);
    }
    .code-box button.copied {
      color: var(--green);
      border-color: rgba(19,160,91,.3);
      background: var(--green-soft);
    }

    /* Store strip */
    .store-strip {
      margin: 22px 0 8px;
      padding: 16px 18px;
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow-sm);
    }
    .store-strip .label {
      font-size: 13px;
      font-weight: 700;
      color: var(--strong);
      white-space: nowrap;
    }
    .store-strip .items {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      flex: 1;
    }
    .store-item {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      border-radius: 999px;
      background: var(--bg);
      border: 1px solid var(--line);
      font-size: 13px;
      font-weight: 600;
      color: var(--text);
    }
    .store-item .status {
      font-size: 11px;
      font-weight: 800;
      color: var(--green);
    }
    .store-item .status.warn { color: var(--amber); }
    .live {
      margin-left: auto;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
      color: var(--muted);
      white-space: nowrap;
    }
    .live i {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 3px rgba(19,160,91,.16);
      display: block;
    }

    footer {
      padding: 28px 0 40px;
      text-align: center;
      color: var(--soft);
      font-size: 13px;
    }
    footer strong { color: var(--muted); font-weight: 600; }

    .toast {
      position: fixed;
      left: 50%;
      bottom: 28px;
      transform: translateX(-50%) translateY(20px);
      background: var(--strong);
      color: #fff;
      padding: 10px 16px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      opacity: 0;
      pointer-events: none;
      transition: .22s ease;
      z-index: 60;
      box-shadow: var(--shadow-lg);
    }
    .toast.show {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
    }

    /* Dark */
    
    /* 建议档标签色板/图标：统一 glass.css + 规则文档/前端UI规则.md */
    .rec-lg { font-size: 13px; padding: 7px 14px; }
    .rec-legend {
      display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
      padding: 10px 16px; margin: 0 0 12px;
      background: var(--panel); border: 1px solid var(--line);
      border-radius: 12px; box-shadow: var(--shadow-sm);
      font-size: 12px; color: var(--muted);
    }
    .rec-legend .lbl { font-weight: 700; color: var(--strong); margin-right: 4px; }
    .rec-legend .rec { transform: scale(.95); }

    /* Region selector */
    .region-wrap { position: relative; flex-shrink: 0; }
    .region-btn {
      display: inline-flex; align-items: center; gap: 7px;
      height: 36px; padding: 0 12px; border-radius: 10px;
      border: 1px solid var(--line); background: #fff; color: var(--strong);
      font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap;
    }
    .region-btn:hover { border-color: rgba(18,87,255,.3); color: var(--blue); }
    .region-btn .flag { font-size: 15px; line-height: 1; }
    .region-btn .chev { width: 12px; height: 12px; color: var(--soft); transition: transform .15s ease; }
    .region-wrap.open .region-btn .chev { transform: rotate(180deg); }
    .region-menu {
      position: absolute; right: 0; top: calc(100% + 8px); z-index: 60;
      min-width: 240px; padding: 6px;
      background: var(--panel); border: 1px solid var(--line);
      border-radius: 14px; box-shadow: var(--shadow);
      display: none;
    }
    .region-wrap.open .region-menu { display: block; }
    .region-menu .rm-title {
      font-size: 11px; font-weight: 700; color: var(--muted);
      padding: 8px 12px 6px; text-transform: uppercase; letter-spacing: .04em;
    }
    .region-menu button {
      width: 100%; display: flex; align-items: center; gap: 10px;
      border: 0; background: transparent; color: var(--text);
      padding: 10px 12px; border-radius: 10px; cursor: pointer;
      font-size: 13px; font-weight: 600; text-align: left;
    }
    .region-menu button:hover { background: var(--blue-soft); color: var(--blue); }
    .region-menu button.is-active {
      background: var(--blue-soft); color: var(--blue-ink);
    }
    .region-menu .flag { font-size: 16px; width: 22px; text-align: center; }
    .region-menu .meta {
      margin-left: auto; font-size: 11px; font-weight: 700; color: var(--muted);
    }
    .region-note {
      margin: 6px 8px 8px; padding: 8px 10px; border-radius: 10px;
      background: var(--bg); font-size: 11px; color: var(--muted); line-height: 1.45;
    }
    html[data-theme="dark"] .region-btn { background: var(--panel); }
    html[data-theme="dark"] .region-note { background: rgba(255,255,255,.04); }

    html[data-theme="dark"] {
      --bg: #0d0f14;
      --bg-soft: #0b0d11;
      --panel: #161922;
      --text: #b6bdc9;
      --strong: #f3f5fa;
      --muted: #7c8593;
      --soft: #5f6a78;
      --line: rgba(255,255,255,.07);
      --line-strong: rgba(255,255,255,.13);
      --blue: #4d8bff;
      --blue-2: #7aa9ff;
      --blue-ink: #7aa9ff;
      --blue-soft: rgba(77,139,255,.13);
      --green: #34d399;
      --green-soft: rgba(52,211,153,.13);
      --amber: #fbbf24;
      --amber-soft: rgba(251,191,36,.12);
      --pink: #f472b6;
      --pink-soft: rgba(244,114,182,.12);
      --shadow-sm: 0 1px 2px rgba(0,0,0,.4), 0 2px 10px rgba(0,0,0,.3);
      --shadow: 0 12px 34px rgba(0,0,0,.45);
      --shadow-lg: 0 18px 50px rgba(0,0,0,.55);
      color-scheme: dark;
    }
    html[data-theme="dark"] body {
      background:
        radial-gradient(1100px 480px at 72% -10%, rgba(77,139,255,.08), transparent 58%),
        var(--bg);
    }
    html[data-theme="dark"] .topbar { background: rgba(13,15,20,.82); }
    html[data-theme="dark"] .top-search,
    html[data-theme="dark"] .theme-btn,
    html[data-theme="dark"] .code-card,
    html[data-theme="dark"] .code-box button,
    html[data-theme="dark"] .code-box .read-link,
    html[data-theme="dark"] .btn-ghost,
    html[data-theme="dark"] .hero-stat {
      background: var(--panel);
    }
    html[data-theme="dark"] .code-card {
      background: linear-gradient(180deg, #1b1f29, #17131b);
    }
    html[data-theme="dark"] .code-box,
    html[data-theme="dark"] .store-item {
      background: rgba(255,255,255,.03);
    }
    html[data-theme="dark"] .deal-mini-table tbody tr:hover td {
      background: rgba(77, 139, 255, .06);
    }

    @media (max-width: 980px) {
      .hero-stage { grid-template-columns: 1fr; }
      .hero-hot { min-height: 0; }
      .hero-hot-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
      }
      .hero-hot-item {
        flex: none;
        min-height: 140px;
      }
      .slide-content { grid-template-columns: 1fr; align-items: start; padding: 28px 24px 56px; }
      .slide-price-card { justify-self: start; width: min(320px, 100%); }
      .code-grid { grid-template-columns: 1fr 1fr; }
      .nav-links { display: none; }
      .carousel-dots { left: 24px; }
    }
    @media (max-width: 640px) {
      .hero-hot-list { grid-template-columns: 1fr; }
      .hero-hot-item { min-height: 120px; }
    }
    @media (max-width: 640px) {
      .wrap { width: min(var(--wrap), calc(100% - 20px)); }
      .top-search { display: none; }
      .path-row { grid-template-columns: 1fr; }
      .code-grid { grid-template-columns: 1fr; }
      .deal-table-wrap { padding: 0 6px 12px; }
      .carousel, .slide, .slide-content { min-height: 420px; }
      .carousel-arrow { display: none; }
      .store-strip { flex-direction: column; align-items: flex-start; }
      .live { margin-left: 0; }
      .hero-stats { width: 100%; }
      .hero-stat { flex: 1; min-width: 0; }
    }
  
    /* —— Home adapter: free / demo product cards + 3 path —— */
    .path-row { grid-template-columns: repeat(3, 1fr); }
    .path-card.free .ico { background: var(--green-soft); color: var(--green); }
    .path-card.demo .ico { background: var(--amber-soft); color: var(--amber); }
    .path-card.free:hover .go { color: var(--green); }
    .path-card.demo:hover .go { color: var(--amber); }
    /* free / demo 与 compare 共用顶部彩虹渐变条，不再用单色顶边 */
    .sec-head .ico.free { background: var(--green-soft); color: var(--green); }
    .sec-head .ico.demo { background: var(--amber-soft); color: var(--amber); }
    /* 免费领取 / Demo：两个独立模块，各自只排一行（宽屏 4 列） */
    .product-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      padding: 12px 16px 16px;
    }
    .product-grid.is-one-row {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      grid-auto-rows: auto;
    }
    .product-card {
      display: flex; flex-direction: column;
      border-radius: 10px; border: 1px solid var(--line);
      background: linear-gradient(180deg, #1b1f29, #161922);
      overflow: hidden; min-height: 100%;
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .product-card:hover {
      border-color: rgba(61,139,253,.28);
      box-shadow: var(--shadow-sm);
      transform: translateY(-1px);
    }
    .product-cover {
      position: relative; display: block;
      aspect-ratio: 460 / 215; background: #000; overflow: hidden;
    }
    .product-cover img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform .35s ease;
    }
    .product-card:hover .product-cover img { transform: scale(1.03); }
    .product-ribbon {
      position: absolute; top: 0; right: 0; z-index: 2;
      width: 72px; height: 72px; overflow: hidden; pointer-events: none;
    }
    .product-ribbon span {
      position: absolute; top: 12px; right: -26px; width: 96px;
      padding: 3px 0; text-align: center; font-size: 9px; font-weight: 800;
      letter-spacing: .03em; color: #fff; line-height: 1.2; white-space: nowrap;
      transform: rotate(45deg);
      box-shadow: 0 3px 8px rgba(0,0,0,.22);
      text-shadow: 0 1px 0 rgba(0,0,0,.2);
    }
    .product-ribbon.is-claim span {
      background: linear-gradient(135deg, #34d399, #10b981 45%, #059669);
    }
    .product-ribbon.is-claim.is-urgent span {
      background: linear-gradient(135deg, #fb7185, #f43f5e 45%, #e11d48);
    }
    .product-ribbon.is-play span {
      background: linear-gradient(135deg, #fbbf24, #f59e0b 45%, #d97706);
    }
    .product-body {
      display: flex; flex-direction: column; gap: 5px;
      padding: 8px 9px 9px; flex: 1; min-width: 0;
    }
    .product-body h3 {
      margin: 0; font-size: 12.5px; font-weight: 700; color: var(--strong);
      letter-spacing: -.015em; line-height: 1.3;
      display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }
    .product-body h3 a:hover { color: var(--blue); }
    .product-summary { display: none; }
    .product-meta { display: flex; flex-wrap: wrap; gap: 4px; }
    .product-pill {
      font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 999px;
      border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--muted);
    }
    .product-foot {
      display: flex; align-items: center; justify-content: space-between;
      gap: 6px; margin-top: auto; padding-top: 2px;
    }
    .product-foot .hint {
      font-size: 10px; color: var(--soft);
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
    }
    .product-foot .hint b { color: var(--strong); font-weight: 650; }
    .product-foot .btn {
      padding: 4px 8px !important;
      font-size: 11px !important;
      border-radius: 7px;
      flex-shrink: 0;
    }
    .rating-chip {
      display: inline-flex; align-items: center; gap: 4px; align-self: flex-start;
      padding: 2px 7px; border-radius: 999px; font-size: 10px; font-weight: 800;
      letter-spacing: .01em; border: 1px solid transparent; line-height: 1.2;
      max-width: 100%;
    }
    .rating-chip::before {
      content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor;
      box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 22%, transparent); flex-shrink: 0;
    }
    .rating-chip .pct {
      font-family: var(--mono); font-size: 10px;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .rating-chip .lbl { font-weight: 700; opacity: .88; font-size: 10px; flex-shrink: 0; }
    .rating-chip.is-s { color: #6ee7b7; background: rgba(52,211,153,.12); border-color: rgba(52,211,153,.28); }
    .rating-chip.is-a { color: #93c5fd; background: rgba(59,130,246,.12); border-color: rgba(59,130,246,.28); }
    .rating-chip.is-b { color: #fcd34d; background: rgba(251,191,36,.12); border-color: rgba(251,191,36,.28); }
    .rating-chip.is-c { color: #fca5a5; background: rgba(248,113,113,.12); border-color: rgba(248,113,113,.28); }

    .rec-legend { margin: 12px 22px 0; }

    @media (max-width: 980px) {
      .path-row { grid-template-columns: 1fr; }
      .product-grid,
      .product-grid.is-one-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 720px) {
      .product-grid,
      .product-grid.is-one-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    }
    @media (max-width: 420px) {
      .product-grid,
      .product-grid.is-one-row { grid-template-columns: 1fr 1fr; }
    }

/* ---- home style block 1 ---- */
form.top-search {
      height: 40px !important;
      padding: 4px 4px 4px 14px !important;
      align-items: center !important;
    }
    form.top-search input[type="search"] {
      height: 32px !important;
      line-height: 32px !important;
      padding: 0 !important;
      margin: 0 !important;
      font-size: 14px !important;
    }
    form.top-search button[type="submit"] {
      height: 32px !important;
      min-height: 32px !important;
      padding: 0 14px !important;
      margin: 0 !important;
      line-height: 32px !important;
      border-radius: 999px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      transform: none !important;
      box-shadow: 0 4px 12px rgba(37, 99, 235, .28) !important;
    }
    form.top-search button[type="submit"]::after {
      display: none !important;
      content: none !important;
    }
    .login-btn { display: none !important; }

/* ---- home style block 2 ---- */
a.sec-more-link,
    a.sec-more-link:link,
    a.sec-more-link:visited,
    a.sec-more-link:active,
    a.sec-more-link:focus {
      margin-left: auto !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 7px !important;
      appearance: none !important;
      -webkit-appearance: none !important;
      padding: 8px 12px 8px 13px !important;
      min-height: 0 !important;
      border: 1px solid rgba(125, 168, 255, .22) !important;
      border-radius: 10px !important;
      outline: 0 !important;
      background: linear-gradient(135deg, rgba(77, 139, 255, .18), rgba(77, 139, 255, .08)) !important;
      box-shadow: 0 6px 16px rgba(37, 99, 235, .12) !important;
      filter: none !important;
      transform: none !important;
      font-size: 13px !important;
      font-weight: 700 !important;
      letter-spacing: .01em !important;
      line-height: 1 !important;
      color: #9ec0ff !important;
      text-decoration: none !important;
      white-space: nowrap !important;
      cursor: pointer !important;
    }
    a.sec-more-link:hover {
      color: #fff !important;
      gap: 9px !important;
      border-color: rgba(158, 192, 255, .45) !important;
      background: linear-gradient(135deg, rgba(77, 139, 255, .34), rgba(61, 139, 253, .18)) !important;
      box-shadow: 0 10px 22px rgba(37, 99, 235, .22) !important;
      text-decoration: none !important;
      transform: translateY(-1px) !important;
    }
    .free-block a.sec-more-link {
      color: #6ee7b7 !important;
      border-color: rgba(52, 211, 153, .24) !important;
      background: linear-gradient(135deg, rgba(52, 211, 153, .16), rgba(52, 211, 153, .07)) !important;
      box-shadow: 0 6px 16px rgba(16, 185, 129, .1) !important;
    }
    .free-block a.sec-more-link:hover {
      color: #ecfdf5 !important;
      border-color: rgba(110, 231, 183, .45) !important;
      background: linear-gradient(135deg, rgba(52, 211, 153, .3), rgba(16, 185, 129, .14)) !important;
      box-shadow: 0 10px 22px rgba(16, 185, 129, .18) !important;
    }
    .demo-block a.sec-more-link {
      color: #fcd34d !important;
      border-color: rgba(251, 191, 36, .24) !important;
      background: linear-gradient(135deg, rgba(251, 191, 36, .15), rgba(251, 191, 36, .06)) !important;
      box-shadow: 0 6px 16px rgba(245, 158, 11, .1) !important;
    }
    .demo-block a.sec-more-link:hover {
      color: #fff7ed !important;
      border-color: rgba(252, 211, 77, .45) !important;
      background: linear-gradient(135deg, rgba(251, 191, 36, .28), rgba(245, 158, 11, .12)) !important;
      box-shadow: 0 10px 22px rgba(245, 158, 11, .18) !important;
    }
    a.sec-more-link .sec-more-ico {
      width: 15px !important;
      height: 15px !important;
      opacity: .95 !important;
      transition: transform .16s ease, opacity .16s ease !important;
    }
    a.sec-more-link:hover .sec-more-ico {
      transform: translateX(2px) !important;
      opacity: 1 !important;
    }
    a.sec-more-link::before,
    a.sec-more-link::after {
      content: none !important;
      display: none !important;
    }
    /* 今日好价「详情」：实心蓝，压过 quiet 规则 */
    .deal-mini-table a.btn-detail,
    .deal-mini-table a.btn-detail:link,
    .deal-mini-table a.btn-detail:visited {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 68px !important;
      padding: 7px 14px !important;
      border: 0 !important;
      border-radius: 9px !important;
      background: linear-gradient(135deg, #4d8bff, #2563eb) !important;
      color: #fff !important;
      box-shadow: 0 6px 16px rgba(37, 99, 235, .35) !important;
      font-size: 12.5px !important;
      font-weight: 800 !important;
      letter-spacing: .02em !important;
      text-decoration: none !important;
      transform: none !important;
    }
    .deal-mini-table a.btn-detail:hover {
      color: #fff !important;
      filter: brightness(1.08) !important;
      transform: translateY(-1px) !important;
      box-shadow: 0 10px 22px rgba(37, 99, 235, .45) !important;
      background: linear-gradient(135deg, #5b96ff, #2f6ef0) !important;
    }
    .deal-mini-table a.btn-detail::before,
    .deal-mini-table a.btn-detail::after {
      display: none !important;
      content: none !important;
    }
    .btn-quiet,
    .product-foot a.btn {
      position: relative;
      overflow: visible !important;
      background: transparent !important;
      color: #9ec0ff !important;
      border: 1px solid rgba(125, 160, 220, .28) !important;
      box-shadow: none !important;
      border-radius: 8px !important;
      font-weight: 650 !important;
      transform: none !important;
    }
    .btn-quiet:hover,
    .product-foot a.btn:hover {
      background: rgba(61, 139, 253, .1) !important;
      border-color: rgba(125, 160, 220, .55) !important;
      color: #f4f7ff !important;
      box-shadow: none !important;
      transform: none !important;
    }
    .btn-quiet::after,
    .product-foot a.btn::after {
      display: none !important;
      content: none !important;
    }

    /* 日间：压过本页后置深色硬编码（必须放在 glass 之后） */
    html[data-theme="light"] a.sec-more-link,
    html[data-theme="light"] a.sec-more-link:link,
    html[data-theme="light"] a.sec-more-link:visited,
    html[data-theme="light"] a.sec-more-link:active,
    html[data-theme="light"] a.sec-more-link:focus {
      color: #2563eb !important;
      border-color: rgba(37, 99, 235, .2) !important;
      background: linear-gradient(135deg, rgba(37, 99, 235, .1), rgba(37, 99, 235, .04)) !important;
      box-shadow: 0 6px 16px rgba(37, 99, 235, .08) !important;
    }
    html[data-theme="light"] a.sec-more-link:hover {
      color: #1d4ed8 !important;
      border-color: rgba(37, 99, 235, .32) !important;
      background: linear-gradient(135deg, rgba(37, 99, 235, .16), rgba(37, 99, 235, .08)) !important;
    }
    html[data-theme="light"] .free-block a.sec-more-link {
      color: #15803d !important;
      border-color: rgba(22, 163, 74, .22) !important;
      background: linear-gradient(135deg, rgba(22, 163, 74, .1), rgba(22, 163, 74, .04)) !important;
    }
    html[data-theme="light"] .free-block a.sec-more-link:hover {
      color: #047857 !important;
      border-color: rgba(22, 163, 74, .35) !important;
      background: linear-gradient(135deg, rgba(22, 163, 74, .16), rgba(22, 163, 74, .08)) !important;
    }
    html[data-theme="light"] .demo-block a.sec-more-link {
      color: #b45309 !important;
      border-color: rgba(217, 119, 6, .22) !important;
      background: linear-gradient(135deg, rgba(217, 119, 6, .1), rgba(217, 119, 6, .04)) !important;
    }
    html[data-theme="light"] .demo-block a.sec-more-link:hover {
      color: #92400e !important;
      border-color: rgba(217, 119, 6, .35) !important;
      background: linear-gradient(135deg, rgba(217, 119, 6, .16), rgba(217, 119, 6, .08)) !important;
    }
    html[data-theme="light"] .btn-quiet,
    html[data-theme="light"] .product-foot a.btn {
      color: #2563eb !important;
      border-color: rgba(37, 99, 235, .22) !important;
      background: transparent !important;
    }
    html[data-theme="light"] .btn-quiet:hover,
    html[data-theme="light"] .product-foot a.btn:hover {
      color: #1d4ed8 !important;
      background: rgba(37, 99, 235, .08) !important;
      border-color: rgba(37, 99, 235, .35) !important;
    }
    html[data-theme="light"] .rec-legend {
      background: #fff !important;
      border-color: rgba(15, 23, 42, .08) !important;
      color: #64748b !important;
      box-shadow: 0 8px 24px -16px rgba(15, 23, 42, .1) !important;
    }
    html[data-theme="light"] .rec-legend .lbl {
      color: #0f172a !important;
    }

    /* 幻灯价格卡：日/夜都用暗色毛玻璃贴封面（见 glass.css） */

    /* 建议标签色板/图标：统一由 glass.css 控制（见 规则文档/前端UI规则.md） */
/* article game cards (from glass/prototype) */
.dt-article-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dt-game-art-card{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px;background:rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.dt-game-art-body .name{font-weight:800;margin-bottom:6px}
.dt-game-art-price{display:flex;gap:8px;align-items:baseline;margin-bottom:10px}
.dt-game-art-price .num{font-weight:800;color:#2563eb}
.dt-game-art-price .store{font-size:12px;color:#64748b}
.dt-art-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid rgba(15,23,42,.06);font-size:13px;color:#334155;text-decoration:none}
.dt-art-row .date{color:#94a3b8;font-size:12px;flex-shrink:0}
.product-card{border:1px solid rgba(15,23,42,.08);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.product-cover{position:relative;aspect-ratio:16/9;background:#0f172a}
.product-cover img{width:100%;height:100%;object-fit:cover;display:block}
.product-ribbon{position:absolute;left:10px;top:10px;padding:4px 8px;border-radius:8px;background:rgba(22,163,74,.92);color:#fff;font-size:11px;font-weight:800}
.product-body{padding:12px;display:grid;gap:8px}
.product-body h3{margin:0;font-size:14px;font-weight:800}
.product-meta{font-size:12px;color:#64748b}
.product-body .btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:8px;background:#3b82f6;color:#fff;font-weight:700;text-decoration:none;font-size:13px}
@media(max-width:900px){.dt-article-blocks{grid-template-columns:1fr}}

/* ===== Topbar terminal nav + store ticker fix (2026-07-14) ===== */
.gdh-topbar.is-deal-terminal {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-theme="dark"] .gdh-topbar.is-deal-terminal,
body.deal-terminal-home .gdh-topbar.is-deal-terminal {
  background: rgba(12, 16, 24, 0.82) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
html[data-theme="dark"] .gdh-topbar.is-deal-terminal .gdh-brand,
html[data-theme="dark"] .gdh-topbar.is-deal-terminal .gdh-nav-links a,
body.deal-terminal-home .gdh-topbar.is-deal-terminal .gdh-brand,
body.deal-terminal-home .gdh-topbar.is-deal-terminal .gdh-nav-links a {
  color: #e8eef8 !important;
}
.gdh-nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.gdh-nav-links a {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  transition: .18s ease;
}
.gdh-nav-links a:hover,
.gdh-nav-links a.is-active {
  color: #3b82f6;
  background: rgba(59, 130, 246, 0.12);
}
html[data-theme="dark"] .gdh-nav-links a:hover,
html[data-theme="dark"] .gdh-nav-links a.is-active,
body.deal-terminal-home .gdh-nav-links a:hover,
body.deal-terminal-home .gdh-nav-links a.is-active {
  color: #93c5fd !important;
  background: rgba(59, 130, 246, 0.18) !important;
}

/* 跑马灯：对齐原型 store.css（粉→蓝渐变 + 两端淡出） */
.store-ticker {
  position: relative;
  display: flex;
  gap: 0;
  width: 100%;
  margin: 14px 0 18px;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(90deg, rgba(255, 59, 74, 0.15), rgba(61, 139, 253, 0.12));
  height: auto;
  align-items: center;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.store-ticker-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 40px;
  width: max-content;
  white-space: nowrap;
  animation: store-ticker-scroll 28s linear infinite;
  padding: 10px 0;
  font-size: 13px;
  font-weight: 800;
  color: #ffd0d4;
  letter-spacing: 0.02em;
}
.store-ticker-track span {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
  color: inherit;
  line-height: 1;
}
.store-ticker-track b {
  color: #fff;
  font-weight: 800;
}
@keyframes store-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .store-ticker-track { animation: none; }
}

/* ===== Unified theme: topbar same layer as page (2026-07-14) ===== */
html[data-theme="light"] body.deal-terminal-home,
html[data-theme="light"] body.modown-game-deals-home-template {
  background:
    radial-gradient(1100px 480px at 72% -10%, rgba(18,87,255,.08), transparent 58%),
    #eef1f7 !important;
  color: #3a4250 !important;
}
html[data-theme="dark"] body.deal-terminal-home,
html[data-theme="dark"] body.modown-game-deals-home-template {
  background:
    radial-gradient(900px 420px at 70% -8%, rgba(59,130,246,.12), transparent 55%),
    #090c12 !important;
  color: #b7c0d0 !important;
}

/* 顶栏与页面同背景体系，避免“悬浮另一层” */
.gdh-topbar.is-deal-terminal,
.gdh-topbar.game-deals-shared-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  isolation: isolate;
  border-bottom: 1px solid transparent;
  box-shadow: none !important;
}
html[data-theme="light"] .gdh-topbar.is-deal-terminal,
html[data-theme="light"] .gdh-topbar.game-deals-shared-topbar,
html[data-gde-theme="light"] .gdh-topbar.is-deal-terminal {
  background: rgba(238, 241, 247, 0.92) !important;
  border-bottom-color: rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
html[data-theme="dark"] .gdh-topbar.is-deal-terminal,
html[data-theme="dark"] .gdh-topbar.game-deals-shared-topbar,
html[data-gde-theme="dark"] .gdh-topbar.is-deal-terminal,
body.is-theme-dark .gdh-topbar.is-deal-terminal {
  background: rgba(9, 12, 18, 0.88) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html[data-theme="light"] .gdh-topbar .gdh-brand {
  color: #0f172a !important;
}
html[data-theme="light"] .gdh-topbar .gdh-nav-links a {
  color: #64748b !important;
}
html[data-theme="light"] .gdh-topbar .gdh-nav-links a.is-active,
html[data-theme="light"] .gdh-topbar .gdh-nav-links a:hover {
  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.1) !important;
}
html[data-theme="dark"] .gdh-topbar .gdh-brand,
html[data-theme="dark"] .gdh-topbar .gdh-nav-links a {
  color: #e8eef8 !important;
}
html[data-theme="dark"] .gdh-topbar .gdh-nav-links a.is-active,
html[data-theme="dark"] .gdh-topbar .gdh-nav-links a:hover {
  color: #93c5fd !important;
  background: rgba(59, 130, 246, 0.18) !important;
}

/* 搜索框日夜 */
html[data-theme="light"] .gdh-top-search {
  background: #fff !important;
  border-color: rgba(15, 23, 42, 0.1) !important;
}
html[data-theme="dark"] .gdh-top-search {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
html[data-theme="dark"] .gdh-top-search input {
  color: #f1f5f9 !important;
}
html[data-theme="dark"] .gdh-top-search input::placeholder {
  color: #94a3b8 !important;
}

/* 主题按钮：与顶栏同色系圆形 */
.gdh-topbar .game-deals-theme-toggle.gdh-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
html[data-theme="light"] .gdh-topbar .game-deals-theme-toggle.gdh-icon-btn {
  background: #fff !important;
  border-color: rgba(15, 23, 42, 0.1) !important;
  color: #334155 !important;
}
html[data-theme="dark"] .gdh-topbar .game-deals-theme-toggle.gdh-icon-btn {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.12) !important;
  color: #e2e8f0 !important;
}
/* 按当前主题显示月亮/太阳 */
.gdh-topbar .game-deals-theme-toggle .is-light { display: none; }
.gdh-topbar .game-deals-theme-toggle .is-dark { display: none; }
html[data-theme="light"] .gdh-topbar .game-deals-theme-toggle .is-light,
html[data-gde-theme="light"] .gdh-topbar .game-deals-theme-toggle .moon-icon { display: inline-flex !important; }
html[data-theme="dark"] .gdh-topbar .game-deals-theme-toggle .is-dark,
html[data-gde-theme="dark"] .gdh-topbar .game-deals-theme-toggle .sun-icon { display: inline-flex !important; }

/* 主内容区不要被顶栏“压成另一卡片层”的错觉：去掉顶栏过重投影 */
.gdh-topbar.is-deal-terminal + main,
.gdh-topbar.is-deal-terminal ~ main {
  position: relative;
  z-index: 1;
}

/* store-ticker：日间保留原型粉→蓝渐变，文字改 slate；夜间保持粉字+白加粗 */
html[data-theme="light"] .store-ticker,
html[data-gde-theme="light"] .store-ticker {
  background: linear-gradient(90deg, rgba(255, 59, 74, 0.12), rgba(61, 139, 253, 0.10)) !important;
  border-color: rgba(15, 23, 42, 0.06) !important;
}
html[data-theme="light"] .store-ticker-track,
html[data-theme="light"] .store-ticker-track span,
html[data-gde-theme="light"] .store-ticker-track,
html[data-gde-theme="light"] .store-ticker-track span {
  color: #334155 !important;
}
html[data-theme="light"] .store-ticker-track b,
html[data-gde-theme="light"] .store-ticker-track b {
  color: #0f172a !important;
}
html[data-theme="dark"] .store-ticker,
html[data-gde-theme="dark"] .store-ticker {
  background: linear-gradient(90deg, rgba(255, 59, 74, 0.15), rgba(61, 139, 253, 0.12)) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .store-ticker-track,
html[data-theme="dark"] .store-ticker-track span,
html[data-gde-theme="dark"] .store-ticker-track,
html[data-gde-theme="dark"] .store-ticker-track span {
  color: #ffd0d4 !important;
}
html[data-theme="dark"] .store-ticker-track b,
html[data-gde-theme="dark"] .store-ticker-track b {
  color: #ffffff !important;
}

/* —— 轮播/实心 CTA 白字（压过 body.night a #999）—— */
html[data-theme="dark"] body.modown-game-deals-shell a.btn-primary,
html[data-theme="dark"] body.dt-body a.btn-primary,
html[data-theme="dark"] body.night a.btn-primary,
html[data-theme="dark"] body.night.modown-game-deals-shell a.btn-primary,
html[data-gde-theme="dark"] body.modown-game-deals-shell a.btn-primary,
html[data-theme="light"] body.modown-game-deals-shell a.btn-primary,
html[data-theme="light"] body.night a.btn-primary,
body.night a.btn-primary,
body.night a.btn.btn-primary,
.carousel a.btn-primary,
.slide-actions a.btn-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

html[data-theme="dark"] body.modown-game-deals-shell a.btn-glass,
html[data-theme="dark"] body.night a.btn-glass,
html[data-theme="light"] body.modown-game-deals-shell a.btn-glass,
body.night a.btn-glass,
.carousel a.btn-glass,
.slide-actions a.btn-glass {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}