/* ═══════════════════════════════════════════════════════════════════════
   风暴方舟 · Landing v2（2026-10-13）
   —— Codex 营销语言：白底大标题（OpenAI Sans）+ 悬浮白卡片 + 发丝线。
   无辉光、无渐变字、无玻璃。浅色为主，深色全量适配。
   依赖 foundation.css。覆盖：落地页 / 登录页 / 404。
   ═══════════════════════════════════════════════════════════════════════ */

body.lp{background:var(--bg);color:var(--tx1)}

/* ═══ 顶部导航 ═══ */
.lnav{position:fixed;top:0;left:0;right:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:.5px solid var(--line)}
.lnav-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;height:56px}
.lbrand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;letter-spacing:var(--ls-head);color:var(--tx1)}
.lbrand img{width:26px;height:26px;border-radius:var(--r-md)}
.lnav-links{display:flex;gap:4px}
.lnav-links a{font-size:var(--fs-sm);color:var(--tx2);padding:8px 12px;border-radius:var(--r-lg);transition:background var(--dur-1),color var(--dur-1)}
.lnav-links a:hover{background:var(--hover);color:var(--tx1)}
.lnav-cta{display:flex;align-items:center;gap:6px}
.ibtn{width:36px;height:36px;border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;color:var(--tx2);background:none;border:0;cursor:pointer;transition:background var(--dur-1)}
.ibtn:hover{background:var(--hover);color:var(--tx1)}
.ibtn svg{width:18px;height:18px}
.th-sun{display:none}
[data-theme="dark"] .th-sun{display:block}
[data-theme="dark"] .th-moon{display:none}

/* ═══ 首屏 ═══ */
.lhero{max-width:900px;margin:0 auto;padding:150px 24px 72px;text-align:center;position:relative}
.lhero-mark{width:60px;height:60px;margin:0 auto 22px;border-radius:var(--r-2xl)}
.eyebrow{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 14px;border-radius:var(--r-full);background:var(--hover);font-size:var(--fs-xs);color:var(--tx2);margin-bottom:26px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}
.lhero-title{font-family:var(--f-brand);font-size:clamp(44px,7vw,72px);font-weight:600;letter-spacing:-.02em;line-height:1.08;color:var(--tx1);margin-bottom:20px}
.lhero-title .hl{color:inherit;background:none;position:static}
.lhero-sub{font-size:var(--fs-lg);color:var(--tx2);max-width:560px;margin:0 auto 36px;line-height:1.6}
.lhero-sub .hl-n{color:var(--accent);font-weight:600}
.lcompose{display:flex;align-items:center;gap:8px;max-width:620px;margin:0 auto;background:var(--surface);border-radius:var(--r-pill);padding:8px 8px 8px 22px;box-shadow:var(--hairline),var(--sh-2)}
.lcompose input{flex:1;border:0;outline:none;background:transparent;font-size:var(--fs-base);color:var(--tx1);min-width:0}
.lcompose input::placeholder{color:var(--tx3)}
.lcompose-send{width:38px;height:38px;border-radius:50%;background:var(--btn-bg);color:var(--btn-tx);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-1)}
.lcompose-send:hover{background:var(--btn-hover)}
.lcompose-send svg{width:17px;height:17px}
.lhero-quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.lq{height:34px;padding:0 14px;border-radius:var(--r-full);background:var(--hover);border:0;font-size:var(--fs-xs);color:var(--tx2);cursor:pointer;transition:background var(--dur-1),color var(--dur-1)}
.lq:hover{background:var(--pressed);color:var(--tx1)}
.lhero-fine{font-size:var(--fs-xs);color:var(--tx3);margin-top:20px}
.lhero-fine a{color:var(--accent)}

/* ═══ 数字带 + 实时交付 ═══ */
.lmeta{max-width:900px;margin:0 auto;padding:8px 24px 0;text-align:center}
.lmeta-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 4px;font-size:var(--fs-sm);color:var(--tx3)}
.lmeta-stats span{display:inline-flex;align-items:baseline;gap:5px}
.lmeta-stats .num{font-family:var(--f-brand);font-size:var(--fs-base);font-weight:600;color:var(--accent);font-style:normal}
.lmeta-stats i{font-style:normal;color:var(--tx3);margin:0 10px}
.lmeta-live{margin-top:16px;font-size:var(--fs-xs);color:var(--tx3)}
.badge-live{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:11px;color:var(--tx2);margin-right:10px}
.badge-live i{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:livePulse 2s infinite}
@keyframes livePulse{50%{opacity:.35}}
#feedList i{font-style:normal;color:var(--tx2)}

/* ═══ 通用段落 ═══ */
.lsec{max-width:1120px;margin:0 auto;padding:96px 24px 0}
.ls-label{font-size:var(--fs-xs);color:var(--tx3);text-align:center;margin-bottom:14px}
.ls-title{font-family:var(--f-brand);font-size:clamp(28px,3.6vw,40px);font-weight:600;letter-spacing:-.02em;line-height:1.15;text-align:center;color:var(--tx1);margin-bottom:14px}
.ls-title .hl{color:var(--accent);background:none}
.ls-sub{font-size:var(--fs-base);color:var(--tx3);text-align:center;max-width:640px;margin:0 auto 48px;line-height:1.6}

/* ═══ 核心能力 ═══ */
.lcaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.lcap{background:var(--surface);border-radius:var(--r-4xl);box-shadow:var(--hairline);padding:24px;transition:box-shadow var(--dur-1)}
.lcap:hover{box-shadow:0 0 0 .5px var(--line-2)}
.lcap-ic{width:38px;height:38px;border-radius:var(--r-xl);background:var(--hover);display:flex;align-items:center;justify-content:center;color:var(--tx2);margin-bottom:16px}
.lcap-ic svg{width:20px;height:20px}
.lcap h3{font-size:var(--fs-base);font-weight:600;letter-spacing:var(--ls-head);margin-bottom:6px;color:var(--tint,var(--tx1))}
.lcap p{font-size:var(--fs-sm);color:var(--tx2);line-height:1.6;margin-bottom:12px}
.lcap-tags{font-size:var(--fs-xs);color:var(--tx3);line-height:1.7}

/* ═══ 数字员工 ═══ */
.lteam{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px 8px}
.lteam-e{text-align:center;padding:10px 4px 8px;border-radius:var(--r-2xl);transition:background var(--dur-1)}
.lteam-e:hover{background:var(--hover)}
.lteam-e img{width:60px;height:60px;border-radius:50%;object-fit:cover;margin:0 auto 8px;display:block}
.lteam-e span{font-size:var(--fs-xs);color:var(--tx2)}

/* ═══ 功能板块 ═══ */
.lboards{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:12px}
.lboard{display:block;background:var(--surface);border-radius:var(--r-3xl);box-shadow:var(--hairline);padding:18px;color:inherit;transition:box-shadow var(--dur-1)}
.lboard:hover{box-shadow:0 0 0 .5px var(--line-2)}
.lboard-ic{width:32px;height:32px;border-radius:var(--r-lg);background:var(--hover);display:flex;align-items:center;justify-content:center;color:var(--tx2);margin-bottom:14px}
.lboard-ic svg{width:17px;height:17px}
.lboard b{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:3px;color:var(--tint,var(--tx1))}
.lboard b+span{font-size:var(--fs-xs);color:var(--tx3);line-height:1.5;display:block}

/* ═══ 三步开工 ═══ */
.lsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lstep{background:var(--surface);border-radius:var(--r-4xl);box-shadow:var(--hairline);padding:26px 24px}
.lstep-n{font-family:var(--f-brand);font-size:36px;font-weight:600;color:var(--accent);letter-spacing:-.02em;margin-bottom:14px;line-height:1;font-style:normal}
.lstep h3{font-size:var(--fs-base);font-weight:600;margin-bottom:6px}
.lstep p{font-size:var(--fs-sm);color:var(--tx2);line-height:1.6}

/* ═══ 交付实样 ═══ */
.lworks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.lwork{position:relative;border-radius:var(--r-2xl);overflow:hidden;background:var(--hover);aspect-ratio:4/5;box-shadow:var(--hairline)}
.lwork img,.lwork video{width:100%;height:100%;object-fit:cover;display:block}
.work-tag{position:absolute;top:10px;left:10px;font-size:11px;font-weight:500;color:var(--tx1);background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(8px);padding:4px 10px;border-radius:var(--r-full)}
.lwork-cta{background:var(--surface);aspect-ratio:auto;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:24px}
.lwork-cta b{font-size:var(--fs-base);font-weight:600}
.lwork-cta span{font-size:var(--fs-xs);color:var(--tx3);line-height:1.6}
.lwork-cta em{font-style:normal;font-size:var(--fs-sm);color:var(--accent);font-weight:500}

/* ═══ 定价 ═══ */
.lplans{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:820px;margin:0 auto}
.lplan{background:var(--surface);border-radius:var(--r-4xl);box-shadow:var(--hairline);padding:30px 26px;display:flex;flex-direction:column}
.price-name{font-size:var(--fs-sm);color:var(--tx3);margin-bottom:12px}
.price-num{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}
.price-num b{font-family:var(--f-brand);font-size:42px;font-weight:600;letter-spacing:-.02em;line-height:1}
.price-num span{font-size:var(--fs-sm);color:var(--tx3)}
.price-desc{font-size:var(--fs-xs);color:var(--tx3);margin-bottom:20px}
.feats{margin-bottom:24px}
.feats li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-sm);color:var(--tx1);padding:7px 0;line-height:1.5}
.feats li svg{width:15px;height:15px;flex-shrink:0;margin-top:4px;color:var(--ok)}
.feats li.off{color:var(--tx3)}
.feats li.off svg{color:var(--tx3)}
.lplan .btn{margin-top:auto}
.lplan-rec{background:var(--btn-bg);color:var(--btn-tx)}
.lplan-rec .price-name,.lplan-rec .price-desc,.lplan-rec .price-num span{color:color-mix(in srgb,var(--btn-tx) 55%,transparent)}
.lplan-rec .price-num b{color:var(--btn-tx)}
.lplan-rec .feats li{color:var(--btn-tx)}
.lplan-rec .feats li svg{color:var(--btn-tx)}
.lplan-rec .rec{position:absolute}
.lplan-rec{position:relative;overflow:hidden}
.rec{position:absolute;top:18px;right:18px;font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--r-full);background:color-mix(in srgb,var(--btn-tx) 14%,transparent);color:var(--btn-tx)}
.lplan-rec .btn-primary{background:var(--btn-tx);color:var(--btn-bg)}
.lplan-rec .btn-primary:hover{opacity:.9}
.lprice-note{text-align:center;font-size:var(--fs-xs);color:var(--tx3);margin-top:24px}

/* ═══ 页脚 ═══ */
.lfoot{border-top:.5px solid var(--line);margin-top:96px}
.lfoot-in{max-width:1120px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;gap:20px}
.lfoot-brand{display:flex;align-items:center;gap:10px}
.lfoot-brand img{width:30px;height:30px;border-radius:var(--r-md)}
.lfoot-brand b{font-size:var(--fs-sm);font-weight:600;display:block}
.lfoot-brand em{font-style:normal;font-size:var(--fs-xs);color:var(--tx3)}
.lfoot-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.lfoot-links a{font-size:var(--fs-xs);color:var(--tx3);transition:color var(--dur-1)}
.lfoot-links a:hover{color:var(--tx1)}
.lfoot-copy{font-size:var(--fs-xs);color:var(--tx3)}
.lfoot-copy a{color:var(--tx3);text-decoration:underline;text-underline-offset:2px}
.lfoot-copy a:hover{color:var(--tx1)}

/* ═══ 登录页 / 404（同套公共页） ═══ */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.login-card{width:100%;max-width:400px;background:var(--surface);border-radius:var(--r-4xl);box-shadow:var(--hairline),var(--sh-2);padding:36px 30px;text-align:center}
.login-logo{width:56px;height:56px;margin:0 auto 18px;border-radius:var(--r-2xl);display:block}
.login-card h2{font-size:var(--fs-2xl);font-weight:600;letter-spacing:var(--ls-head);margin-bottom:6px}
.login-sub{font-size:var(--fs-sm);color:var(--tx3);margin-bottom:24px}
.login-card input{width:100%;height:48px;padding:0 16px;border-radius:var(--r-xl);border:0;box-shadow:0 0 0 .5px var(--line-2);font-size:var(--fs-base);text-align:center;letter-spacing:.06em;background:var(--surface);color:var(--tx1);outline:none;margin-bottom:12px;transition:box-shadow var(--dur-1)}
.login-card input:focus{box-shadow:0 0 0 1px var(--tx1)}
.login-card .btn{width:100%}
.login-error{display:none;color:var(--danger);font-size:var(--fs-xs);margin-top:12px}
.login-footer{margin-top:22px;font-size:var(--fs-xs);color:var(--tx3)}
.login-footer a{color:var(--tx3);text-decoration:underline;text-underline-offset:2px}
.feature-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:14px 0 20px}
.feature-tags span{font-size:11px;padding:4px 10px;border-radius:var(--r-full);background:var(--hover);color:var(--tx2)}

.err404{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--bg)}
.err404 h1{font-family:var(--f-brand);font-size:72px;font-weight:600;letter-spacing:-.02em;line-height:1}
.err404 p{font-size:var(--fs-sm);color:var(--tx3)}

/* ═══ 响应式 ═══ */
@media(max-width:900px){
  .lnav-links{display:none}
  .lnav-in{padding:0 16px}
  .lhero{padding:120px 18px 56px}
  .lhero-sub{font-size:var(--fs-base)}
  .lcompose{padding-left:18px}
  .lsec{padding:64px 18px 0}
  .ls-sub{margin-bottom:36px}
  .lsteps{grid-template-columns:1fr}
  .lplans{grid-template-columns:1fr}
  .lworks{grid-template-columns:repeat(2,1fr)}
  .lfoot{margin-top:64px}
  .lfoot-in{padding:28px 18px}
}

/* ═══════════════════════ 官方增强版（2026-10-14） ═══════════════════════ */
/* 1) hero 柔和蓝紫渐变底纹（官方营销页同款气质，极低浓度，非辉光） */
.lhero{position:relative}
.lhero::before{content:'';position:absolute;left:50%;transform:translateX(-50%);top:-120px;width:min(1100px,120vw);height:560px;z-index:-1;pointer-events:none;
  background:
    radial-gradient(620px 320px at 30% 32%,rgba(124,92,255,.10),transparent 70%),
    radial-gradient(720px 360px at 70% 20%,rgba(2,133,255,.10),transparent 70%),
    radial-gradient(520px 300px at 52% 72%,rgba(160,140,255,.07),transparent 72%)}
[data-theme="dark"] .lhero::before{background:
    radial-gradient(620px 320px at 30% 32%,rgba(124,92,255,.16),transparent 70%),
    radial-gradient(720px 360px at 70% 20%,rgba(2,133,255,.14),transparent 70%),
    radial-gradient(520px 300px at 52% 72%,rgba(160,140,255,.10),transparent 72%)}

/* 2) 深色段落带（Codex 官方页白→黑节奏） */
.lband-dark{max-width:none;background:#0d0d0d;margin-top:96px;padding:88px 24px}
.lband-dark .lworks,.lband-dark .ls-sub,.lband-dark .ls-title,.lband-dark .ls-label{max-width:1120px;margin-left:auto;margin-right:auto}
.lband-dark .ls-label{color:var(--g500)}
.lband-dark .ls-title{color:#fff}
.lband-dark .ls-title .hl{color:var(--b200)}
.lband-dark .ls-sub{color:var(--g400);max-width:640px}
.lband-dark .lwork{background:#212121;box-shadow:none}
.lband-dark .work-tag{background:rgba(13,13,13,.72);color:var(--g150)}
.lband-dark .lwork-cta{background:#181818}
.lband-dark .lwork-cta b{color:#fff}
.lband-dark .lwork-cta span{color:var(--g400)}
.lband-dark .lwork-cta em{color:var(--b200)}

/* 3) 产品界面模拟（原生 DOM 演示，非截图） */
.ldemo{position:relative;max-width:760px;margin:0 auto}
.ldemo::before{content:'';position:absolute;inset:-60px -140px;z-index:-1;pointer-events:none;
  background:
    radial-gradient(420px 240px at 30% 30%,rgba(124,92,255,.09),transparent 70%),
    radial-gradient(460px 260px at 72% 66%,rgba(2,133,255,.09),transparent 70%)}
[data-theme="dark"] .ldemo::before{background:
    radial-gradient(420px 240px at 30% 30%,rgba(124,92,255,.14),transparent 70%),
    radial-gradient(460px 260px at 72% 66%,rgba(2,133,255,.13),transparent 70%)}
.ldemo-win{background:var(--surface);border-radius:var(--r-4xl);box-shadow:var(--hairline),var(--sh-3);overflow:hidden}
.ldemo-bar{display:flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-bottom:.5px solid var(--line)}
.ldemo-bar i{width:10px;height:10px;border-radius:50%;background:var(--hover)}
.ldemo-bar span{margin-left:8px;font-size:12px;color:var(--tx3)}
.ldemo-body{padding:22px 22px 18px}
.ldemo-user{margin-left:auto;max-width:78%;width:fit-content;background:var(--bubble-bg);color:var(--bubble-tx);border-radius:22px;padding:10px 16px;font-size:14px;line-height:1.6}
.ldemo-meta{font-size:12px;color:var(--tx3);margin:14px 0 6px}
.ldemo-ai{font-size:14px;line-height:1.7;color:var(--tx1)}
.ldemo-chips{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.ldemo-chips span{font-size:11px;padding:4px 10px;border-radius:var(--r-full);background:var(--hover);color:var(--tx2)}

/* 4) 数字带加大（品牌字体） */
.lmeta-stats .num{font-size:22px}

/* 5) 滚动渐入（轻量） */
.lfade{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease-enter),transform .6s var(--ease-enter)}
.lfade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.lfade{opacity:1;transform:none;transition:none}}

/* 6) 微色系图标块（落地版；置于文件末尾以覆盖组件默认底色） */
.tic{background:var(--tint-soft,var(--hover));color:var(--tint,var(--tx2))}
