/* 停车哨 · 下载页 · 夜间哨兵主题
   纯 CSS，无 JS、无内联样式（适配 /dl/ 的 CSP: default-src 'self'） */

:root{
  --bg:#070b11;
  --bg-2:#0b111a;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.16);
  --ink:#eef2f7;
  --muted:#93a0b0;
  --dim:#66717f;
  --red:#ff5347;
  --red-2:#e03a30;
  --amber:#ffb224;
  --green:#3ecf8e;
  --r:16px;
  --sans:system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:
    radial-gradient(1100px 560px at 84% -8%, rgba(255,83,71,.10), transparent 62%),
    radial-gradient(900px 520px at -8% 26%, rgba(64,124,255,.06), transparent 60%),
    var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit}
ul{list-style:none}
h1,h2,h3{line-height:1.14;letter-spacing:-.022em;font-weight:800}
h1{font-size:clamp(2.35rem,5.2vw,4.1rem);line-height:1.08;letter-spacing:-.032em}
h2{font-size:clamp(1.5rem,3vw,2.05rem)}
h3{font-size:1.05rem}
p{color:var(--muted)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* ---------- 通用件 ---------- */
.kicker{
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red);font-weight:800;display:flex;align-items:center;gap:8px;
}
.kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 10px rgba(255,83,71,.9)}
.kicker-red{color:#ff8a80}
.kicker-red::before{background:#ff8a80;box-shadow:0 0 10px rgba(255,138,128,.9)}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(180deg,#ff6154,var(--red-2));
  color:#fff;text-decoration:none;font-weight:700;font-size:.94rem;
  padding:13px 24px;border-radius:11px;
  box-shadow:0 10px 26px -12px rgba(255,83,71,.85),inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 16px 34px -14px rgba(255,83,71,.9),inset 0 1px 0 rgba(255,255,255,.25)}
.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn-sm{padding:9px 16px;font-size:.86rem;border-radius:9px}
.btn-big{padding:16px 30px;font-size:1.02rem;border-radius:13px}
.btn-big svg{width:19px;height:19px}
.btn-ghost{
  background:transparent;color:var(--ink);
  border:1px solid var(--line-2);box-shadow:none;
}
.btn-ghost:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.3);transform:none;filter:none;box-shadow:none}

/* ---------- 导航 ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(7,11,17,.76);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding-top:10px;padding-bottom:10px}
.mark{display:flex;align-items:center;gap:11px;text-decoration:none}
.mark-dot{
  width:30px;height:30px;border-radius:50%;flex:none;
  background:linear-gradient(180deg,#ff6154,var(--red-2));
  color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:800;letter-spacing:0;
  box-shadow:0 0 0 4px rgba(255,83,71,.12),0 0 18px -4px rgba(255,83,71,.7);
}
.mark-txt{font-weight:800;font-size:.98rem;letter-spacing:-.01em;line-height:1.2}
.mark-txt small{display:block;font-weight:700;font-size:.6rem;letter-spacing:.19em;color:var(--dim);text-transform:uppercase}
.nlinks{display:flex;align-items:center;gap:26px}
.nlinks a{text-decoration:none;font-size:.9rem;font-weight:600;color:var(--muted);transition:color .16s ease}
.nlinks a:hover{color:var(--ink)}
.nlinks a.btn{color:#fff}
.nlinks a.btn:hover{color:#fff}

/* ---------- HERO ---------- */
.hero{position:relative;padding:92px 0 68px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center}
.hero-copy h1{margin:22px 0 20px}
.hero-copy h1 em{
  font-style:normal;color:var(--red);
  text-shadow:0 0 30px rgba(255,83,71,.4);
}
.lead{font-size:1.05rem;color:#9aa7b7;max-width:44ch;line-height:1.78}
.cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px}
.trust{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px}
.trust li{display:flex;align-items:center;gap:7px;font-size:.85rem;color:var(--muted)}
.trust svg{width:14px;height:14px;fill:none;stroke:var(--green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}

.hero-visual{position:relative;display:grid;place-items:center;padding:24px 0}
.radar{position:absolute;top:50%;left:50%;width:min(520px,92vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.radar .ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,83,71,.13)}
.radar .r1{width:100%;height:100%}
.radar .r2{width:67%;height:67%;border-color:rgba(255,83,71,.1)}
.radar .r3{width:36%;height:36%;border-color:rgba(255,83,71,.16)}
.radar .sweep{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(255,83,71,.26),rgba(255,83,71,.05) 42deg,rgba(255,83,71,0) 78deg,rgba(255,83,71,0) 360deg);
  animation:sweep 5.2s linear infinite;
}
@keyframes sweep{to{transform:rotate(360deg)}}

.phone{position:relative;z-index:2;margin:0;width:min(316px,74vw);animation:float 7.5s ease-in-out infinite}
.phone img{
  width:100%;height:auto;border-radius:24px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 40px 80px -34px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.5),0 0 60px -18px rgba(255,83,71,.32);
}
.phone::after{
  content:"";position:absolute;left:6%;right:6%;bottom:-30px;height:80px;z-index:-1;
  background:radial-gradient(ellipse at center,rgba(255,83,71,.28),transparent 70%);
  filter:blur(14px);
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.tag{
  position:absolute;left:-24px;bottom:74px;
  display:flex;align-items:center;gap:8px;
  background:rgba(12,18,26,.92);
  border:1px solid var(--line-2);border-radius:11px;
  padding:10px 15px;font-size:.82rem;font-weight:700;color:var(--ink);
  box-shadow:0 18px 34px -20px rgba(0,0,0,.95);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.tag i{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(62,207,142,.55)}55%{box-shadow:0 0 0 6px rgba(62,207,142,0)}}

/* ---------- 数据带 ---------- */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.022)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:26px 0 26px 28px}
.stat:first-child{padding-left:0}
.stat + .stat{border-left:1px solid var(--line)}
.num{font-family:var(--mono);font-size:1.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.2}
.num em{font-style:normal;font-size:.95rem;font-weight:600;color:var(--dim);margin-left:3px}
.cap{font-size:.83rem;color:var(--muted)}

/* ---------- 区块标题 ---------- */
section{padding:96px 0}
.sec-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:42px;
}
.sec-head h2{margin-top:12px}
.no{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;color:var(--dim);white-space:nowrap}

/* ---------- 痛点 ---------- */
.pains{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.pain{padding:30px 26px 22px 0;border-right:1px solid var(--line)}
.pain:last-child{border-right:none}
.idx{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.1em;color:var(--red)}
.pain h3{margin:14px 0 8px;font-size:1.02rem}
.pain p{font-size:.9rem;line-height:1.72}

/* ---------- 功能卡 ---------- */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.012));
  border:1px solid var(--line);border-radius:var(--r);
  padding:30px 28px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:rgba(255,83,71,.36);box-shadow:0 26px 50px -30px rgba(255,83,71,.6)}
.card.wide{
  grid-column:span 2;
  background:linear-gradient(180deg,rgba(255,83,71,.14),rgba(255,83,71,.03) 60%,rgba(255,255,255,.02));
  border-color:rgba(255,83,71,.26);
}
.ico{
  width:38px;height:38px;border-radius:11px;margin-bottom:22px;
  background:rgba(255,83,71,.13);border:1px solid rgba(255,83,71,.2);
  display:grid;place-items:center;
}
.ico svg{width:19px;height:19px;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card.wide .ico{background:rgba(255,83,71,.2)}
.card h3{margin-bottom:9px}
.card p{font-size:.92rem;line-height:1.72}
.kv{display:flex;gap:34px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.kv div{font-family:var(--mono);font-size:.75rem;color:var(--dim)}
.kv b{display:block;font-family:var(--sans);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:3px}

/* ---------- 截图 ---------- */
.shots{padding:96px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.shots-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.shot{margin:0}
.shot img{
  width:100%;height:auto;border-radius:18px;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.95);
  transition:transform .22s ease,box-shadow .22s ease;
}
.shot:hover img{transform:translateY(-5px);box-shadow:0 38px 70px -34px rgba(255,83,71,.5)}
.shot figcaption{margin-top:14px;font-size:.86rem;color:var(--muted);text-align:center}
.shots-note{margin-top:34px;text-align:center;font-size:.88rem;color:var(--dim)}

/* ---------- 对比表 ---------- */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:560px;border-collapse:collapse;font-size:.94rem}
.cmp th,.cmp td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line)}
.cmp thead th{
  font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--dim);font-weight:800;border-bottom-color:var(--line-2);
}
.cmp thead th:last-child{color:var(--red)}
.cmp tbody tr{transition:background .16s ease}
.cmp tbody tr:hover{background:rgba(255,255,255,.028)}
.cmp td:first-child{font-weight:600;color:var(--ink)}
.cmp .bad{color:var(--dim)}
.cmp .good{color:var(--green);font-weight:600}

/* ---------- 安装步骤 ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.step{padding-top:22px;border-top:2px solid rgba(255,83,71,.45)}
.step .no{display:block;font-family:var(--mono);font-size:1.6rem;font-weight:700;letter-spacing:-.04em;color:var(--red);line-height:1.1}
.step h3{margin:10px 0 8px}
.step p{font-size:.9rem}
.dl-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:44px}
.dl-meta{font-family:var(--mono);font-size:.82rem;color:var(--dim)}
.warn{
  margin-top:32px;padding:20px 22px;border-radius:12px;
  background:rgba(255,178,36,.07);
  border:1px solid rgba(255,178,36,.22);border-left:3px solid var(--amber);
  font-size:.93rem;color:#c0b8a8;
}
.warn b{color:#ffc95c}

/* ---------- CTA ---------- */
.cta{
  padding:88px 0;
  background:linear-gradient(180deg,rgba(255,83,71,.1),rgba(255,83,71,0) 70%),var(--bg-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.cta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.cta h2{color:#fff;margin-top:14px}
.cta p{margin-top:16px;color:#9aa7b7}
.cta-side{text-align:right}
.cta-side .meta{font-family:var(--mono);font-size:.8rem;color:var(--dim);margin-top:18px;line-height:2}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-weight:700;cursor:pointer;list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{
  position:relative;width:26px;height:26px;flex:none;border-radius:50%;
  border:1px solid var(--line-2);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.faq summary i::before,.faq summary i::after{
  content:"";position:absolute;top:50%;left:50%;width:11px;height:2px;border-radius:2px;
  background:var(--red);transform:translate(-50%,-50%);
}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .22s ease}
.faq details[open] summary i{background:rgba(255,83,71,.14);border-color:rgba(255,83,71,.4);transform:rotate(180deg)}
.faq details[open] summary i::after{opacity:0}
.faq p{margin-top:14px;font-size:.95rem;line-height:1.82;max-width:80ch}

/* ---------- 页脚 ---------- */
footer{border-top:1px solid var(--line);padding:40px 0;font-size:.86rem;color:var(--dim)}
.footrow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footlinks a{color:var(--dim);text-decoration:none;margin-left:22px;transition:color .16s ease}
.footlinks a:first-child{margin-left:0}
.footlinks a:hover{color:var(--ink)}

/* ---------- 响应式 ---------- */
[id]{scroll-margin-top:84px}

@media (max-width:1000px){
  .hero{padding:64px 0 52px}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-visual{order:2;padding:8px 0}
  .tag{left:auto;right:-10px}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .stat{padding-left:0}
  .stat + .stat{border-left:none}
  .stat:nth-child(n+3){border-top:1px solid var(--line);padding-top:24px}
  .pains{grid-template-columns:1fr 1fr}
  .pain{padding-right:24px;border-right:none;border-bottom:1px solid var(--line)}
  .feat{grid-template-columns:1fr}
  .card.wide{grid-column:span 1}
  .shots-row{grid-template-columns:1fr;gap:36px}
  .steps{grid-template-columns:1fr;gap:22px}
  .cta-grid{grid-template-columns:1fr}
  .cta-side{text-align:left}
  section,.shots{padding:72px 0}
}

/* ================= 手机端 ================= */
@media (max-width:680px){
  .wrap{padding:0 18px}
  .navrow{min-height:58px;gap:12px}
  .mark-txt{font-size:.92rem}
  .mark-dot{width:30px;height:30px}
  .nlinks{gap:10px}
  .nlinks a:not(.btn){display:none}
  .nlinks a.btn{padding:11px 18px;font-size:.88rem}
  h1{font-size:clamp(1.85rem,8.6vw,2.5rem);letter-spacing:-.028em}
  h2{font-size:clamp(1.32rem,6.2vw,1.65rem)}
  .hero{padding:40px 0 44px}
  .hero-grid{gap:34px}
  .hero-copy h1{margin:14px 0}
  .kicker{font-size:.72rem;padding:6px 11px}
  .lead{font-size:.98rem;line-height:1.75;max-width:none}
  .cta-row{gap:10px;margin-top:26px}
  .cta-row .btn{flex:1 1 100%;justify-content:center}
  .trust{gap:12px 16px;margin-top:22px}
  .trust li{font-size:.8rem}
  .hero-visual{padding:0}
  .phone{width:min(272px,66vw)}
  .tag{left:auto;right:0;bottom:22px;padding:8px 12px;font-size:.74rem;border-radius:9px}
  .radar{width:118vw}
  .stat{padding:20px 0}
  .num{font-size:1.42rem}
  .num em{font-size:.82rem}
  .cap{font-size:.76rem}
  .sec-head{flex-direction:column;gap:8px;align-items:flex-start}
  .no{order:-1}
  .pains{grid-template-columns:1fr}
  .pain{padding:22px 0 18px}
  .feat{gap:14px}
  .card{padding:20px}
  .card.wide{padding:24px}
  .kv{gap:18px 22px;flex-wrap:wrap;margin-top:18px;padding-top:16px}
  .kv b{font-size:1rem}
  .shots{padding:56px 0}
  .shot img{max-width:340px;margin:0 auto;border-radius:16px}
  .shot figcaption{font-size:.82rem;margin-top:11px}
  .tblwrap{margin:0 -18px;padding:0 18px}
  .cmp{min-width:520px;font-size:.86rem}
  .cmp th,.cmp td{padding:12px 13px}
  .steps{gap:18px}
  .step{padding-top:16px}
  .step .no{font-size:1.34rem}
  .dl-cta{gap:12px;margin-top:30px}
  .dl-cta .btn{flex:1 1 100%;justify-content:center}
  .warn{padding:16px}
  .cta{padding:56px 0}
  .cta-grid{gap:30px}
  .cta-side .meta{line-height:1.9;margin-top:14px}
  .faq details{padding:18px 0}
  .faq summary{font-size:.95rem;gap:12px}
  .faq summary i{width:26px;height:26px;flex:none}
  .faq p{font-size:.9rem;line-height:1.78}
  .footrow{flex-direction:column;gap:12px}
  .footlinks a{margin-left:0;margin-right:16px;font-size:.86rem}
  [id]{scroll-margin-top:70px}
}

/* ================= 小屏手机（<=400px） ================= */
@media (max-width:400px){
  .wrap{padding:0 14px}
  h1{font-size:1.72rem}
  .phone{width:min(228px,62vw)}
  .radar{width:132vw}
  .shots-row{gap:28px}
  .stat,.stat:first-child{border-top:1px solid var(--line);padding:16px 0}
  .stat:first-child{border-top:none}
  .num{font-size:1.3rem}
  .cta-row .btn{padding:14px 18px;font-size:.92rem}
  .faq summary i{width:24px;height:24px}
}

/* ================= 触屏：抑制 hover 粘滞 ================= */
@media (hover:none){
  .card:hover{transform:none;border-color:var(--line-2);box-shadow:none}
  .shot:hover img{transform:none;box-shadow:0 26px 52px -32px rgba(0,0,0,.9)}
  .btn:hover{transform:none;filter:none;box-shadow:0 18px 34px -16px rgba(255,83,71,.85)}
  .cmp tbody tr:hover{background:transparent}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .phone,.radar .sweep,.tag i{animation:none}
  .card,.shot img,.btn{transition:none}
}
