/* 老 landing 精简版的版式(贴在我们自己的底色上) */
.olp{padding:72px 28px;border-top:1px solid var(--line);background:var(--ink)}
.olp .in{max-width:1080px;margin:0 auto}
.olp h1{font-size:clamp(30px,3.6vw,46px);line-height:1.15;font-weight:600;margin:12px 0 10px;text-wrap:balance}
.olp h2{font-size:clamp(24px,2.8vw,34px);line-height:1.2;font-weight:600;margin:10px 0 8px;text-wrap:balance}
.olp .sub{color:var(--dim);font-size:14px;max-width:62ch;margin-bottom:28px;line-height:1.7}
.olp .cta{display:flex;gap:10px;flex-wrap:wrap}
.olp.hero2{padding-top:96px}
.terms{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.term{border:1px solid var(--line);border-radius:12px;background:#0d0e11;overflow:hidden}
.term .tb{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--line);font:11px ui-monospace,monospace;color:var(--dim)}
.term .tb i{width:9px;height:9px;border-radius:50%;background:#3a4149}.term .tb i:nth-child(1){background:#e0503c}.term .tb i:nth-child(2){background:#e9b25a}.term .tb i:nth-child(3){background:#4fb38a}.term .tb span{margin-left:8px}
.term .tbody{display:flex}.term .tl{flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.term pre{margin:0;font:11px/1.6 ui-monospace,"JetBrains Mono",monospace;color:#9aa0a8;white-space:pre-wrap;min-height:1.5em}
.term .tl.big pre{font-size:12px;color:#e8e6df}
.term pre.say{color:#c9b2ff}.term pre.hl{color:#8fe0c8}
.term .pic{position:relative;width:38%;flex:none;min-height:300px}.term .pic img{width:100%;height:100%;object-fit:cover;opacity:.45;display:block}.term .pic i{position:absolute;inset:0;background:linear-gradient(to right,#0d0e11 0%,transparent 50%)}
.term .ts.up{border-top:0;border-bottom:1px solid var(--line)}
.tease{margin-top:14px;padding:16px;border:1px dashed var(--line);border-radius:12px;text-align:center;font:11px ui-monospace,monospace;letter-spacing:.12em;color:var(--dim);opacity:.7}
@media(max-width:760px){.term .pic{display:none}}
.term .ts{padding:8px 16px;border-top:1px solid var(--line);font:11px ui-monospace,monospace;color:var(--amber)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.card2{padding:22px 22px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(242,239,232,.04);display:flex;flex-direction:column;gap:8px;min-height:200px}
.card2 .tag{font:10.5px ui-monospace,monospace;letter-spacing:.16em;color:var(--amber)}
.card2 h3{font-size:22px;margin:2px 0}.card2 .tl{color:var(--paper);font-size:14px}.card2 p{color:var(--dim);font-size:13px;line-height:1.75;flex:1}
.card2 .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.card2 .st{font:11px ui-monospace,monospace;color:#8fe0c8}
.rm{display:grid;grid-template-columns:140px repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:13px}
.rm>div{background:var(--ink);padding:14px 16px}.rm .hd{background:rgba(242,239,232,.04)}
.rm .hd b{display:block;font-size:16px}.rm .hd small{display:block;color:var(--dim);font:11px ui-monospace,monospace;margin-top:3px}.rm .hd i{display:inline-block;margin-top:8px;font-style:normal;font:10.5px ui-monospace,monospace;color:var(--amber)}
.rm .lab{color:var(--dim);font:11px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}
.rm .cell{color:var(--paper);line-height:1.6}
.rmcta{display:inline-block;margin-top:22px}
@media(max-width:760px){.terms{grid-template-columns:1fr}.rm{grid-template-columns:1fr}.rm .lab{display:none}}

/* ── 引擎页(从 A 的透视层搬来) ── */
.olp.engine2{font-family:ui-monospace,"JetBrains Mono",monospace;color:#cfd3d8}
.olp.engine2 .in{padding:28px;border:1px solid #23272e;border-radius:18px;background:rgba(12,14,17,.6);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px}
.olp.engine2 .hd{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.olp.engine2 .hd h2{margin:0}
.tag2{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid #8fe0c8;color:#8fe0c8}
.olp.engine2 .lede{max-width:72ch;font-size:13px;line-height:1.8;color:#9aa0a8;font-family:"Noto Sans SC",sans-serif;margin:14px 0 22px}
.os{grid-column:1/-1;padding:18px 20px;border:1px solid #23272e;border-radius:14px;background:rgba(12,14,17,.7);font-family:"Noto Sans SC",sans-serif}
.os h3{font-size:18px;color:#fff;margin:6px 0 8px;font-weight:600}.os p{font-size:12.5px;line-height:1.8;color:#9aa0a8;max-width:80ch}
.os table{margin:12px 0 14px;border-collapse:collapse;font-size:12px}.os td{padding:6px 10px 6px 0;vertical-align:top;color:#cfd3d8;line-height:1.6}.os td:first-child{color:#8fe0c8;font-family:ui-monospace,monospace;white-space:nowrap;padding-right:18px}
.os .gh{display:flex;gap:8px;flex-wrap:wrap}.os .btn{font-size:12px;padding:8px 12px;color:#cfd3d8;border-color:#2c3139}.os .btn:first-child{background:#8fe0c8;color:#07080a;border-color:#8fe0c8;font-weight:700}
.flow{grid-column:1/-1;position:relative}
.flow svg{width:100%;height:auto;display:block;font-family:ui-monospace,"JetBrains Mono",monospace}
.flow .box{fill:rgba(12,14,17,.9);stroke:#23272e;stroke-width:1;transition:stroke .3s,fill .3s}
.flow .box.hot{stroke:#8fe0c8;fill:rgba(143,224,200,.1)}
.flow .tri{fill:none;stroke:#2c3139;stroke-width:1;stroke-dasharray:4 5}
.flow .tri.hot{stroke:#8fe0c8;animation:dash 1.2s linear infinite}
.flow .node{fill:#15181c;stroke:#3a4149;stroke-width:1.2;transition:fill .25s,stroke .25s}.flow .node.hot{fill:#8fe0c8;stroke:#8fe0c8;filter:url(#glow)}
.flow .arr{fill:none;stroke:#5a6470;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#ah);transition:stroke .25s}.flow .arr.hot{stroke:#8fe0c8;marker-end:url(#ahh);filter:url(#glow)}
.flow .arr.back{stroke-dasharray:3 4}
.flow text{fill:#cfd3d8;font-size:12px}.flow text.h{fill:#fff;font-size:14px;font-weight:600}.flow text.s{fill:#8a9099;font-size:10.5px}.flow text.c{fill:#8fe0c8;font-size:10px;letter-spacing:.12em}
.flow text.cn{font-family:"Noto Sans SC",sans-serif}
.layers{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.layer{padding:12px 14px;border-left:2px solid #2c3139;font-size:12px;line-height:1.7;color:#8a9099;font-family:"Noto Sans SC",sans-serif}.layer b{display:block;color:#fff;font-weight:600;font-family:ui-monospace,monospace;font-size:12px}
.schema{grid-column:1/-1;display:flex;gap:18px;font-size:11.5px;color:#8a9099;font-family:"Noto Sans SC",sans-serif;flex-wrap:wrap}
.schema span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:7px;vertical-align:middle;background:#ffb17a}.schema span+span::before{background:#8fb4ff;border-radius:50%}
.words{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:18px 0 14px}
.word{padding:12px 14px;border:1px solid #23272e;border-radius:12px;background:rgba(12,14,17,.7)}.word b{display:block;color:#8fe0c8;font-size:12.5px;margin-bottom:5px}.word span{font-size:12px;line-height:1.65;color:#9aa0a8;font-family:"Noto Sans SC",sans-serif}
.olp.engine2 .layers{margin-top:22px}
@keyframes dash{to{stroke-dashoffset:-16}}

/* 引擎块的四层叠 */
.stack{display:flex;flex-direction:column;align-items:stretch;max-width:760px;margin:10px auto 0}
.srow{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px 16px;border:1px solid #23272e;border-radius:12px;background:rgba(12,14,17,.8)}
.srow .sno{font:12px ui-monospace,monospace;color:#8fe0c8}.srow b{display:block;color:#fff;font-size:14px;margin-bottom:4px}.srow p{font-size:12px;line-height:1.65;color:#9aa0a8;font-family:"Noto Sans SC",sans-serif;margin:0}
.schips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.schip{flex:1 1 220px;padding:9px 11px;border:1px dashed #2c3139;border-radius:9px}.schip b{color:#8fe0c8;font-size:12px;margin-bottom:3px}.schip span{font-size:11.5px;line-height:1.6;color:#8a9099;font-family:"Noto Sans SC",sans-serif}
.sarr{text-align:center;color:#3a4149;font-size:14px;line-height:1.2;padding:2px 0}

/* 公告横条 */
.olp.news{padding:0 28px;border-top:0}
.nbar{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-top:-28px;border:1px solid var(--line);border-radius:14px;background:rgba(242,239,232,.04);flex-wrap:wrap}
.nitems{display:flex;gap:6px 22px;flex-wrap:wrap;flex:1;min-width:0}
.nit{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--paper);text-decoration:none;max-width:100%}.nit i{font:10px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(233,178,90,.5);border-radius:999px;padding:1px 7px;font-style:normal;flex:none}.nit span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nit small{color:var(--dim);font:10.5px ui-monospace,monospace;flex:none}.nit:hover span{color:var(--amber)}
.nmore{font:11px ui-monospace,monospace;letter-spacing:.08em;color:var(--dim);text-decoration:none;white-space:nowrap}.nmore:hover{color:var(--paper)}
