/* 自托管字体（卡片要求：国内访问 Google Fonts 不可用 → 只自托管 Archivo / IBM Plex Mono 的拉丁子集 woff2；
   中文走系统字体栈 PingFang SC / Microsoft YaHei / Noto Sans SC（本机自带，不下载））。 */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500 900;font-stretch:75% 100%;font-display:swap;src:url("fonts/archivo-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-mono-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-mono-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


/* 版式：顶部「价签」主视觉（最低价结论先行）→ 平台分段 → 各区「价格阶梯」→ 走势 → 资料。宽屏两栏（主内容 + 右侧粘性结论卡），窄屏单栏。 */
:root{
  --bg:#F3F5F8; --surface:#FFFFFF; --ink:#101826; --muted:#5B6678; --line:#DDE3EC;
  --accent:#1F4FD1;          /* 链接 / 交互 */
  --deal:#E0243F;            /* 折扣 */
  --low:#0E8F5B;             /* 史低 / 最便宜 */
  --low-soft:#E3F5EC; --deal-soft:#FDE8EB; --bar:#C9D3E3; --bar-best:#0E8F5B;
  --f-display:"Archivo",system-ui,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --f-body:system-ui,-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --f-num:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --r:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0C111A; --surface:#141B27; --ink:#E8EDF5; --muted:#93A0B4; --line:#263042;
  --accent:#7FA2FF; --deal:#FF5A70; --low:#3CCB8E; --low-soft:#123327; --deal-soft:#3A1720; --bar:#2E3A50; --bar-best:#3CCB8E;
  color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0C111A; --surface:#141B27; --ink:#E8EDF5; --muted:#93A0B4; --line:#263042;
  --accent:#7FA2FF; --deal:#FF5A70; --low:#3CCB8E; --low-soft:#123327; --deal-soft:#3A1720; --bar:#2E3A50; --bar-best:#3CCB8E;
  color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto}

/* 顶栏 */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line);
  margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top .wrap{display:flex;align-items:center;gap:20px;height:56px}
.logo{font-family:var(--f-display);font-weight:800;font-size:19px;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:8px;white-space:nowrap}
.logo i{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--deal);color:#fff;font-style:normal;font-size:13px;font-weight:900}
.nav{display:flex;gap:16px;font-size:14px} .nav a{color:var(--muted)} .nav a.on{color:var(--ink);font-weight:700}
.search{margin-left:auto;flex:0 1 280px;min-width:0}
.search input{width:100%;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);padding:0 14px;font:inherit;font-size:14px}
@media (max-width:760px){.nav{display:none}}

.crumb{font-size:13px;color:var(--muted);padding-block:18px 6px} .crumb a{color:var(--muted)}

/* 主视觉 */
.hero{display:grid;grid-template-columns:200px 1fr;gap:28px;padding-block:14px 26px;align-items:start}
.cover{aspect-ratio:3/4;max-width:100%;border-radius:var(--r);overflow:hidden;position:relative;
  background:radial-gradient(120% 80% at 30% 20%,#9FB7D9 0%,#3B4C6E 45%,#141A2A 100%)}
.cover span{position:absolute;inset:auto 12px 12px;font-family:var(--f-display);font-stretch:80%;font-weight:800;color:#F1F4FA;font-size:20px;line-height:1.05}
.cover small{position:absolute;top:10px;left:10px;font-size:11px;color:#DCE4F2;opacity:.8}
h1{font-family:var(--f-display);font-weight:900;font-size:clamp(26px,4vw,38px);line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}
.en{font-family:var(--f-display);font-stretch:85%;font-weight:600;color:var(--muted);font-size:17px;margin-top:4px}
.meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:13px;color:var(--muted)}
.meta b{color:var(--ink);font-weight:500}
.plats{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.plat{font-size:12px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:5px;border:1px solid var(--line);color:var(--ink)}

/* 结论价签 */
.verdict{margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:baseline;
  background:var(--surface);border:1px solid var(--line);border-left:0;border-radius:var(--r);padding:16px 18px;position:relative;overflow:hidden}
.verdict::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--low)}
.v-label{grid-column:1/-1;font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:700}
.v-price{font-family:var(--f-num);font-weight:600;font-size:34px;line-height:1.1;color:var(--low)}
.v-detail{font-size:14px;min-width:0}
.v-detail .where{font-weight:700}
.v-sub{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--muted);margin-top:6px}
.pill{display:inline-block;font-family:var(--f-num);font-size:12px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--deal-soft);color:var(--deal)}
.pill.low{background:var(--low-soft);color:var(--low)}

@media (max-width:640px){.hero{grid-template-columns:96px 1fr;gap:16px}.cover span{font-size:12px;inset:auto 7px 7px}.cover small{display:none}
  .verdict{grid-column:1/-1}.v-price{font-size:28px}}

/* 平台分段 */
.seg{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-top:6px;scrollbar-width:none}
.seg a{white-space:nowrap;padding:10px 14px;font-weight:700;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.seg a.on{color:var(--ink);border-color:var(--ink)} .seg a span{font-family:var(--f-num);font-weight:500;font-size:12px;margin-left:5px;color:var(--muted)}

section{padding-block:22px}
.sec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:12px}
h2{font-size:18px;margin:0;font-weight:900}
.sec-h p{margin:0;font-size:13px;color:var(--muted)}
.toggle{margin-left:auto;display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}
.toggle button{font:inherit;font-size:13px;border:0;background:none;color:var(--muted);padding:4px 12px;border-radius:999px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}

/* 价格阶梯 */
.ladder{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.row{display:grid;grid-template-columns:150px minmax(0,1fr) 210px 120px;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
.row.best{background:linear-gradient(90deg,var(--low-soft),transparent 70%)}
.reg{display:flex;align-items:center;gap:10px;min-width:0}
.code{font-family:var(--f-num);font-weight:600;font-size:12px;width:34px;height:24px;display:grid;place-items:center;border-radius:5px;background:var(--bg);border:1px solid var(--line)}
.reg b{font-weight:700;font-size:14px;white-space:nowrap} .reg small{display:block;color:var(--muted);font-size:12px;line-height:1.2}
.barcell{display:flex;align-items:center;gap:10px;min-width:0}
.bar{height:8px;border-radius:999px;background:var(--bar);flex:0 0 auto;max-width:100%}
.best .bar{background:var(--bar-best)}
.tag{font-size:12px;font-weight:700;color:var(--low);white-space:nowrap}
.price{text-align:right}
.price .main{font-family:var(--f-num);font-weight:600;font-size:18px}
.price .alt{font-family:var(--f-num);font-size:12px;color:var(--muted)}
.price s{color:var(--muted);font-family:var(--f-num);font-size:12px;margin-right:6px}
.ends{font-size:12px;color:var(--muted);text-align:right;line-height:1.35}
.ends a{display:inline-block;margin-top:3px;font-weight:700;font-size:13px}
.ends .hot{color:var(--deal);font-weight:700}
@media (max-width:760px){
  .row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px}
  .barcell{grid-column:1/-1;order:3}
  .ends{grid-column:1/-1;order:4;text-align:left;display:flex;justify-content:space-between;gap:8px}
  .ends a{margin-top:0}
}

/* 走势 */
.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stat small{display:block;font-size:12px;color:var(--muted)}
.stat b{font-family:var(--f-num);font-size:18px;font-weight:600}
.stat b.low{color:var(--low)}
@media (max-width:640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chart{width:100%;overflow-x:auto} .chart svg{display:block;width:100%;height:auto;min-width:520px}
.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:8px;flex-wrap:wrap}
.legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}
.chart select{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:3px 8px;margin-left:auto}

/* 资料 */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.fact h3{font-size:13px;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-weight:700}
.fact dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px}
.fact dt{color:var(--muted)} .fact dd{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px} .chips a{font-size:13px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink)}

.cta{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;background:var(--ink);color:var(--surface);border-radius:var(--r);padding:16px 20px}
.cta p{margin:0;font-size:14px;flex:1 1 260px}
.cta a{background:var(--surface);color:var(--ink);font-weight:700;padding:8px 16px;border-radius:999px;font-size:14px}
footer{padding-block:30px 40px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:20px}
.sample{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--deal);border:1px dashed var(--deal);border-radius:4px;padding:0 6px;margin-left:8px;vertical-align:middle}
@media (prefers-reduced-motion:no-preference){.bar{transition:width .5s ease}}

/* ===================== WEB-2 新组件（照设计稿 v1-pages.html 追加） ===================== */

/* 首页主视觉：一句结论 + 大搜索框 + 数据规模（数字来自接口，不写死） */
.hero-home{padding-block:44px 28px;display:grid;gap:14px;max-width:720px}
.hero-home h1{font-family:var(--f-display);font-weight:900;font-size:clamp(28px,5vw,44px);line-height:1.12;margin:0;letter-spacing:-.01em;text-wrap:balance}
.hero-home h1 em{font-style:normal;color:var(--low)}
.hero-home p{margin:0;color:var(--muted);font-size:16px}
.hero-search{display:flex;gap:8px;margin-top:6px}
.hero-search input{flex:1;min-width:0;height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:0 16px;font:inherit;font-size:16px}
.hero-search button{height:48px;padding:0 20px;border:0;border-radius:12px;background:var(--ink);color:var(--bg);font:700 15px var(--f-body);cursor:pointer}
.scale{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:var(--muted)} .scale b{color:var(--ink);font-family:var(--f-num);font-weight:600}

/* 区块标题：左标题 + 右「查看全部 →」 */
.blk{margin-top:34px}
.blk-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.blk-h h2{font-family:var(--f-display);font-weight:800;font-size:21px;margin:0}
.blk-h p{margin:0;color:var(--muted);font-size:13px}
.blk-h a{margin-left:auto;font-size:14px;white-space:nowrap}

/* 平台入口 / 限免卡：横向一排，窄屏横滑（scroll-snap，不要 JS 轮播） */
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 12px;display:grid;gap:4px;color:var(--ink)}
.tile:hover{border-color:var(--accent);text-decoration:none}
.tile b{font-family:var(--f-display);font-weight:800;font-size:17px}
.tile small{color:var(--muted);font-size:12px}
.tile .num{font-size:13px;color:var(--deal)}
.tiles.free .tile{border-left:4px solid var(--low)}
@media (max-width:760px){.tiles{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(150px,46%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .tile{scroll-snap-align:start}}

/* 折扣行：所有列表页共用（首页区块 / deals / 平台页 / 搜索结果） */
.rows{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.deal-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);color:var(--ink)}
.deal-row:first-child{border-top:0}
.deal-row:hover{background:var(--bg);text-decoration:none}
.thumb{width:72px;aspect-ratio:4/3;border-radius:6px;object-fit:cover;background:radial-gradient(120% 80% at 30% 20%,#9FB7D9 0%,#3B4C6E 45%,#141A2A 100%);display:grid;place-items:center;color:#F1F4FA;font-weight:800}
.dr-main{min-width:0}
.dr-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-en{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;font-size:12px;color:var(--muted)}
.dr-price{text-align:right;display:grid;gap:2px;justify-items:end}
.dr-price .now{font-family:var(--f-num);font-weight:600;font-size:18px}
.dr-price .now.low{color:var(--low)}
.dr-price s{font-family:var(--f-num);font-size:12px;color:var(--muted)}
.dr-price .where{font-size:12px;color:var(--muted)}
@media (max-width:640px){.deal-row{grid-template-columns:56px 1fr auto;gap:10px}.thumb{width:56px}.dr-price .now{font-size:16px}.dr-en{display:none}}

/* 列表页：标题 + 平台分段 + 分页。
   注意：站点已有 .seg（详情页的平台锚点条，下划线样式）→ 这里**只作用于 .list-head 内部**，
   避免把详情页的分段改掉（设计稿的 .seg 是药丸样式）。 */
.list-head{padding-block:22px 12px;display:grid;gap:10px}
.list-head h1{font-family:var(--f-display);font-weight:900;font-size:clamp(24px,4vw,32px);margin:0}
.list-head p{margin:0;color:var(--muted);font-size:14px}
.list-head .seg{display:flex;flex-wrap:wrap;gap:6px;overflow:visible;border-bottom:0;margin-top:0}
.list-head .seg a{padding:5px 12px;border-radius:999px;border:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:13px;font-weight:400;background:var(--surface);margin-bottom:0}
.list-head .seg a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pager{display:flex;justify-content:center;gap:6px;margin:20px 0 8px;font-family:var(--f-num)}
.pager a,.pager span{min-width:36px;height:36px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 10px}
.pager span.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* 空状态 / 搜索无结果 */
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center;color:var(--muted)}

/* WEB-2 修订：顶栏语言切换（设计稿无此控件，仅补样式） */
.lang{margin-left:12px;font-size:13px;font-weight:700;white-space:nowrap;color:var(--muted)}
.lang:hover{color:var(--ink)}

/* WEB-2 修订：价格阶梯里美区行置顶高亮（设计稿的 .best 之外再加一层标识） */
.row.us .code{background:var(--low-soft);border-color:var(--low);color:var(--low)}
