/* LightBrowser 落地页样式：零依赖，离线可用。
   主题 token 与应用 variables.css / PRD §5.3 严格对齐。 */

:root{
  --lb-accent:#5E6AD2; --lb-accent-hover:#4F5ABF;
  --lb-bg-content:#FFFFFF; --lb-bg-shell:#F7F7F9;
  --lb-border:#E4E4E9; --lb-text:#1C1C21; --lb-text-dim:#6B6B76;
  --lb-tab-hover:rgba(0,0,0,.05); --lb-card-shadow:0 12px 40px rgba(28,28,33,.09);
  --lb-radius:14px; --lb-radius-sm:9px;
  --lb-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC","Hiragino Sans GB",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1160px; --pad:clamp(16px,4vw,32px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --lb-accent-hover:#6E79DD; --lb-bg-content:#16161A; --lb-bg-shell:#1F1F25;
    --lb-border:#2C2C34; --lb-text:#EDEDF2; --lb-text-dim:#9A9AA6;
    --lb-tab-hover:rgba(255,255,255,.07); --lb-card-shadow:0 14px 44px rgba(0,0,0,.5);
  }
}
html[data-theme="dark"]{
  --lb-accent-hover:#6E79DD; --lb-bg-content:#16161A; --lb-bg-shell:#1F1F25;
  --lb-border:#2C2C34; --lb-text:#EDEDF2; --lb-text-dim:#9A9AA6;
  --lb-tab-hover:rgba(255,255,255,.07); --lb-card-shadow:0 14px 44px rgba(0,0,0,.5);
}
html[data-theme="light"]{
  --lb-accent:#5E6AD2; --lb-accent-hover:#4F5ABF;
  --lb-bg-content:#FFFFFF; --lb-bg-shell:#F7F7F9;
  --lb-border:#E4E4E9; --lb-text:#1C1C21; --lb-text-dim:#6B6B76;
  --lb-tab-hover:rgba(0,0,0,.05); --lb-card-shadow:0 12px 40px rgba(28,28,33,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--lb-font);background:var(--lb-bg-content);color:var(--lb-text);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3{line-height:1.22;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,5.2vw,3.9rem);font-weight:800}
h2{font-size:clamp(1.55rem,3.2vw,2.3rem);font-weight:800}
h3{font-size:1.06rem;font-weight:700}
p{margin:0 0 .8em}
a{color:inherit}
code{font-family:ui-monospace,Consolas,monospace;font-size:.86em;background:var(--lb-bg-shell);border:1px solid var(--lb-border);border-radius:6px;padding:.05em .4em}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.skip{position:absolute;left:-999px;top:0;background:var(--lb-accent);color:#fff;padding:.6em 1.2em;border-radius:0 0 10px 0;z-index:99}
.skip:focus{left:0;color:#fff}
:focus-visible{outline:2.5px solid var(--lb-accent);outline-offset:3px;border-radius:6px}

/* 导航 */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--lb-bg-content) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--lb-border)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:.7rem var(--pad);display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:800}
.nav-links{display:flex;gap:1.1rem;margin-left:auto}
.nav-links a{text-decoration:none;color:var(--lb-text-dim);font-size:.94rem;font-weight:600}
.nav-links a:hover{color:var(--lb-accent)}
.nav-actions{display:flex;align-items:center;gap:.6rem}
.theme-btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--lb-border);background:var(--lb-bg-shell);color:var(--lb-text);border-radius:99px;padding:.42em .9em;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit}
.theme-btn:hover{border-color:var(--lb-accent)}
.icon-moon{display:none}
html[data-theme="dark"] .icon-moon{display:block}
html[data-theme="dark"] .icon-sun{display:none}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;border-radius:11px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.btn-primary{background:var(--lb-accent);color:#fff}
.btn-primary:hover{background:var(--lb-accent-hover);transform:translateY(-1px)}
.btn-ghost{border-color:var(--lb-border);background:var(--lb-bg-content);color:var(--lb-text)}
.btn-ghost:hover{border-color:var(--lb-accent);color:var(--lb-accent)}
.btn-lg{padding:.8em 1.6em;font-size:1rem}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--lb-border)}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.orb-a{width:480px;height:480px;left:-140px;top:-160px;background:radial-gradient(circle,#5E6AD255,transparent 70%)}
.orb-b{width:420px;height:420px;right:-120px;top:40px;background:radial-gradient(circle,#9A9AA644,transparent 70%)}
.gridlines{position:absolute;inset:0;background-image:linear-gradient(var(--lb-border) 1px,transparent 1px),linear-gradient(90deg,var(--lb-border) 1px,transparent 1px);background-size:44px 44px;opacity:.28;mask-image:radial-gradient(ellipse 90% 80% at 50% 0%,#000 30%,transparent 75%)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.82rem;font-weight:700;color:var(--lb-text-dim);border:1px solid var(--lb-border);background:var(--lb-bg-shell);border-radius:99px;padding:.35em 1em;margin-bottom:1.1rem}
.dot{width:.55em;height:.55em;border-radius:50%;background:#37B26C;box-shadow:0 0 0 4px rgba(55,178,108,.18)}
.hl{color:var(--lb-accent)}
.lede{font-size:clamp(1rem,1.6vw,1.14rem);color:var(--lb-text-dim);max-width:34em}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.4rem 0 1.6rem}
.hero-stats{list-style:none;display:flex;gap:1.6rem;margin:0 0 1rem;padding:0;flex-wrap:wrap}
.hero-stats strong{display:block;font-size:1.35rem}
.hero-stats span{font-size:.8rem;color:var(--lb-text-dim)}
.hero-note{font-size:.82rem;color:var(--lb-text-dim);border-left:3px solid var(--lb-accent);padding-left:.8em;max-width:36em}

/* 浏览器复刻 mock */
.hero-mock{min-width:0}
.mock-window{background:var(--lb-bg-shell);border:1px solid var(--lb-border);border-radius:16px;overflow:hidden;box-shadow:var(--lb-card-shadow);font-size:13px}
.mock-traffic{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--lb-border)}
.mock-traffic i{width:11px;height:11px;border-radius:50%;background:var(--lb-border)}
.mock-traffic i:first-child{background:#FF5F57}.mock-traffic i:nth-child(2){background:#FEBC2E}.mock-traffic i:nth-child(3){background:#28C840}
.mock-caption{margin-left:auto;font-size:11px;color:var(--lb-text-dim)}
.mock-tabbar{display:flex;align-items:flex-end;gap:6px;padding:8px 10px 0;overflow:hidden}
.mock-tab{display:flex;align-items:center;gap:6px;min-width:0;max-width:190px;flex:1 1 0;padding:7px 10px;border:1px solid var(--lb-border);border-bottom:none;border-radius:10px 10px 0 0;background:transparent;color:var(--lb-text-dim);white-space:nowrap}
.mock-tab.is-active{background:var(--lb-bg-content);color:var(--lb-text);box-shadow:0 -4px 12px rgba(0,0,0,.05)}
.tab-title{overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:600}
.tab-x{opacity:.5;font-size:14px;line-height:1}
.favicon{width:12px;height:12px;border-radius:3px;flex:none}
.fav-a{background:linear-gradient(135deg,#5E6AD2,#9A9AA6)}.fav-b{background:linear-gradient(135deg,#F5A524,#E5484D)}.fav-c{background:linear-gradient(135deg,#37B26C,#5E6AD2)}
.tab-audio{display:inline-flex;color:var(--lb-accent);flex:none}
.tab-audio.muted{color:#E5484D}
.tab-audio .pulse{animation:ping 1.6s ease-in-out infinite}
@keyframes ping{0%,100%{opacity:1}50%{opacity:.25}}
.mock-plus{color:var(--lb-text-dim);font-size:18px;padding:0 4px 6px}
.mock-toolbar{display:flex;align-items:center;gap:10px;background:var(--lb-bg-content);border-top:1px solid var(--lb-border);padding:9px 12px}
.mock-navbtns{display:flex;gap:10px;color:var(--lb-text);font-size:13px}
.mock-navbtns .dim{opacity:.3}
.mock-url{flex:1;display:flex;align-items:center;gap:7px;min-width:0;background:var(--lb-bg-shell);border:1px solid var(--lb-border);border-radius:9px;padding:6px 12px;font-size:12.5px}
.url-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.url-loading{margin-left:auto;flex:none;width:26px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--lb-accent) 40%,var(--lb-border) 40%)}
.mock-tools{display:flex;gap:10px;color:var(--lb-text-dim)}
.mock-bookmarks{display:flex;gap:16px;align-items:center;background:var(--lb-bg-content);border-top:1px solid var(--lb-border);padding:6px 14px;font-size:12px;color:var(--lb-text-dim);overflow:hidden;white-space:nowrap}
.mock-page{background:var(--lb-bg-content);border-top:1px solid var(--lb-border);padding:26px 24px 22px;min-height:230px}
.mock-page-hero{max-width:340px}
.mock-pill{display:inline-block;font-size:11px;font-weight:700;color:var(--lb-accent);background:color-mix(in srgb,var(--lb-accent) 12%,transparent);border-radius:99px;padding:.2em .9em;margin-bottom:.7em}
.mock-h{display:block;font-size:19px;font-weight:800;line-height:1.35;margin-bottom:.7em}
.mock-p{display:block;height:9px;border-radius:99px;background:var(--lb-border);margin-bottom:8px}
.mock-p.short{width:62%}
.mock-btnrow{display:flex;gap:8px;margin-top:14px}
.mock-btn{width:88px;height:28px;border-radius:8px;border:1.5px solid var(--lb-accent);display:block}
.mock-btn.solid{background:var(--lb-accent)}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.mock-cards i{height:52px;border-radius:10px;background:var(--lb-bg-shell);border:1px solid var(--lb-border);display:block}
.mock-toast{display:flex;align-items:center;gap:8px;background:var(--lb-bg-content);border-top:1px solid var(--lb-border);padding:10px 14px;font-size:12px;color:var(--lb-text-dim)}
.toast-dot{width:8px;height:8px;border-radius:50%;background:#E5484D;flex:none}
.mock-legend{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.9rem;font-size:.8rem;color:var(--lb-text-dim)}
.legend-chip{display:inline-flex;align-items:center;gap:.35em;border:1px solid var(--lb-border);background:var(--lb-bg-shell);border-radius:99px;padding:.25em .8em;font-weight:700;color:var(--lb-text)}

/* 章节 */
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section-alt{background:var(--lb-bg-shell);border-top:1px solid var(--lb-border);border-bottom:1px solid var(--lb-border)}
.sec-head{max-width:44rem;margin-bottom:2.2rem}
.kicker{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.14em;color:var(--lb-accent);text-transform:uppercase;margin:0 0 .5rem}
.kicker-warn{color:#E5484D}
.sec-sub{color:var(--lb-text-dim);margin:0}

/* 功能卡片 */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--lb-bg-content);border:1px solid var(--lb-border);border-radius:var(--lb-radius);padding:1.4rem 1.35rem;box-shadow:0 2px 10px rgba(0,0,0,.03);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.section:not(.section-alt) .card{background:var(--lb-bg-shell)}
.card:hover{transform:translateY(-3px);border-color:var(--lb-accent);box-shadow:var(--lb-card-shadow)}
.card h3{margin:.7rem 0 .4rem}
.card p{margin:0;font-size:.92rem;color:var(--lb-text-dim)}
.card p strong{color:var(--lb-text)}
.card-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:var(--lb-accent);background:color-mix(in srgb,var(--lb-accent) 12%,transparent)}
.card-ic.shield{color:#37B26C;background:rgba(55,178,108,.13)}

/* 迁移 */
.migrate-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.steps{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem}
.steps li{display:flex;gap:.9rem;align-items:flex-start}
.step-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--lb-accent);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.9rem}
.steps strong{display:block}
.steps span{font-size:.9rem;color:var(--lb-text-dim)}
.migrate-panel{background:var(--lb-bg-content);border:1px solid var(--lb-border);border-radius:var(--lb-radius);padding:1.2rem;box-shadow:var(--lb-card-shadow)}
.migrate-row{display:flex;align-items:center;gap:.8rem;padding:.75rem .6rem;border-bottom:1px solid var(--lb-border);font-size:.92rem;flex-wrap:wrap}
.migrate-row:last-of-type{border-bottom:none}
.migrate-name{font-weight:800;display:flex;align-items:center;gap:.5em;min-width:7.5em}
.bdot{width:11px;height:11px;border-radius:50%;display:inline-block}
.b-edge{background:#0C88C1}.b-chrome{background:#E5484D}.b-chromium{background:#4F5ABF}.b-brave{background:#F5A524}.b-ff{background:#FF7139}
.migrate-detail{color:var(--lb-text-dim);font-size:.83rem;flex:1}
.pill{font-size:.75rem;font-weight:700;border:1px solid var(--lb-border);border-radius:99px;padding:.15em .8em;color:var(--lb-text-dim)}
.pill-ok{color:#37B26C;border-color:#37B26C}
.migrate-note{font-size:.83rem;color:var(--lb-text-dim);margin:.9rem .2rem 0}

/* 下载 */
.dl-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 .6rem}
.dl-meta{font-size:.82rem;color:var(--lb-text-dim);margin:0}
.dl-note{font-size:.85rem;color:var(--lb-text-dim);margin:.7rem 0 0}
.dl-card .pill{display:inline-block;margin:.2rem 0}

/* 限制 */
.limit-list{margin:0;padding:0;list-style:none;display:grid;gap:.9rem;counter-reset:lim}
.limit-list li{position:relative;background:var(--lb-bg-content);border:1px solid var(--lb-border);border-left:4px solid #E5484D;border-radius:0 var(--lb-radius) var(--lb-radius) 0;padding:1.1rem 1.3rem 1.1rem 3.4rem;font-size:.93rem;color:var(--lb-text-dim)}
.limit-list li strong{color:var(--lb-text)}
.limit-list li::before{counter-increment:lim;content:counter(lim);position:absolute;left:1rem;top:1rem;width:1.7rem;height:1.7rem;border-radius:50%;background:rgba(229,72,77,.12);color:#E5484D;font-weight:800;font-size:.85rem;display:grid;place-items:center}
/* 常见问题 Q&A：问用正文色加粗，答用次要色缩进；Q/A 徽标复用现有 token */
.faq-q{margin:0 0 .4rem;font-size:1rem;font-weight:800;line-height:1.5;color:var(--lb-text)}
.faq-a{margin:0 0 0 2.1em;font-size:.92rem;color:var(--lb-text-dim)}
.q-mark{display:inline-grid;place-items:center;width:1.55em;height:1.55em;border-radius:50%;background:color-mix(in srgb,var(--lb-accent) 14%,transparent);color:var(--lb-accent);font-size:.78em;font-weight:800;margin-right:.6em;vertical-align:.12em}
.a-mark{display:inline-grid;place-items:center;width:1.55em;height:1.55em;border-radius:50%;border:1px solid var(--lb-border);background:var(--lb-bg-shell);color:var(--lb-text-dim);font-size:.78em;font-weight:800;margin-right:.6em;margin-left:-2.1em;vertical-align:.12em}

/* 页脚 */
.footer{border-top:1px solid var(--lb-border);background:var(--lb-bg-shell);padding:2.5rem 0 0;font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}
.footer-brand{font-weight:800;font-size:1.05rem;display:flex;align-items:center;gap:.6em}
.footer-text{color:var(--lb-text-dim)}
.footer-h{font-weight:800;margin:0 0 .5rem}
.footer nav a{display:block;color:var(--lb-text-dim);text-decoration:none;padding:.2em 0}
.footer nav a:hover{color:var(--lb-accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1rem var(--pad);border-top:1px solid var(--lb-border);color:var(--lb-text-dim);font-size:.82rem;max-width:var(--maxw)}
.footer-bottom a{color:var(--lb-text-dim)}

/* 入场动画（无 JS 时默认可见） */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.tab-audio .pulse{animation:none}}

/* 响应式 */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .migrate-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .nav-links{display:none}
  .theme-label{display:none}
  .feat-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .mock-tabbar .mock-tab{max-width:none}
  .mock-tab:first-child{display:none}
  .mock-page{padding:18px 16px 16px;min-height:190px}
  .mock-h{font-size:16px}
  .hero-stats{gap:1rem}
}
