html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { background: #101112; }
.preview-loading,.preview-error { min-height:100vh; display:grid; place-items:center; padding:24px; color:#d8dddd; }
.violet-page { --ink:#191c1d; --muted:#666c6d; --line:#d9dcdc; --paper:#f3f4f4; --mint:#abe6cf; color:var(--ink); font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif; letter-spacing:0; }
.violet-page *, .violet-page *::before, .violet-page *::after { box-sizing:border-box; letter-spacing:0; }
.violet-page h1,.violet-page h2,.violet-page p,.violet-page figure { margin:0; }
.violet-page button,.violet-page a { -webkit-tap-highlight-color:transparent; }
.violet-page button { font:inherit; cursor:pointer; }
.violet-page a { color:inherit; text-decoration:none; }
.violet-page svg { width:18px; height:18px; flex-shrink:0; }
.violet-page [hidden] { display:none!important; }
.violet-page { isolation:isolate; }
.violet-page>section:not(.hero-3d) { z-index:2; }
.violet-page :focus-visible { outline:2px solid #9065c7; outline-offset:5px; }
.v-container { width:calc(100% - 112px); max-width:1280px; margin-inline:auto; }
.hero-3d { position:relative; overflow:hidden; color:#f4f5f5; background:#101112; }
.hero-layout { position:relative; height:calc(100svh - 113px); min-height:440px; display:grid; grid-template-columns:0.85fr 1.35fr; align-items:center; }
.hero-copy { position:relative; z-index:2; padding-bottom:28px; pointer-events:none; }
.hero-copy a { pointer-events:auto; }
.release-link { display:inline-flex; align-items:center; gap:12px; color:#bcc5c2!important; font-size:12px; border-bottom:1px solid #424748; padding-bottom:12px; margin-bottom:32px; }
.release-link svg { width:14px; height:14px; margin-left:14px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:var(--mint); flex-shrink:0; }
.hero-copy h1 { max-width:590px; font-size:43px; font-weight:700; line-height:1.32; }
.hero-copy h1>span { display:block; }
.hero-copy h1 .title-purpose { color:#f4f5f5; }
.android-title { display:inline-flex!important; align-items:baseline; white-space:nowrap; }
.android-title img { width:auto; height:.92em; margin:0 .08em 0 .16em; vertical-align:-.08em; }
.hero-cta { display:flex; flex-wrap:wrap; align-items:center; gap:30px; margin-top:32px; }
.v-download { display:inline-flex; justify-content:center; align-items:center; gap:13px; padding:17px 22px; min-height:54px; border-radius:4px; color:#fff!important; background:#8060ac; font-size:15px; font-weight:600; transition:background .2s,transform .2s; }
.v-download:hover { background:#9875c7; transform:translateY(-2px); }
.v-download svg:last-child { margin-left:15px; width:16px; height:16px; }
.hero-download { position:relative; overflow:hidden; width:176px; min-height:0; padding:12px 24px; gap:8px; border:0; border-radius:9999px; color:#fff!important; background:#9b70ce; box-shadow:0 6px 22px rgba(118,75,164,.32),inset 0 0 0 1px rgba(255,255,255,.22); font-size:16.8px; font-weight:600; transition:all .3s ease; }
.hero-download::after { content:""; position:absolute; top:0; left:-100%; width:50%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent); transform:skewX(-20deg); transition:left .5s ease; }
.hero-download:hover { background:#aa7cda; box-shadow:0 9px 28px rgba(132,85,180,.4),inset 0 0 0 1px rgba(255,255,255,.3); transform:translateY(-2px); }
.hero-download:hover::after { left:150%; }
.hero-download .btn-icon { width:20px; height:20px; margin:0; }
.v-text-link { display:inline-flex; gap:12px; align-items:center; font-size:14px; border-bottom:1px solid transparent; padding-block:8px; }
.v-text-link:hover { border-bottom-color:currentColor; }
.github-link { border-bottom-color:rgba(255,255,255,.42); }
.github-link:hover { border-bottom-color:#b99ada; }
.github-link svg:first-child { width:17px; height:17px; }
.hero-watermark { position:absolute; bottom:-34px; left:max(56px, calc((100% - 1280px)/2)); font-size:164px; line-height:1; font-weight:800; color:transparent; -webkit-text-stroke:1px #ffffff0e; pointer-events:none; user-select:none; }
.device-scene { height:100%; min-width:0; position:relative; }
.stage { position:absolute; inset:0 -40px 0 -20px; }
#device { display:block; width:100%; height:100%; touch-action:pan-y; cursor:grab; }
#device:active { cursor:grabbing; }
#loading { position:absolute; inset:0; display:grid; place-items:center; color:#aab9b4; font-size:12px; }
.fallback { position:absolute; inset:10% 0; display:grid; justify-items:center; align-content:center; gap:12px; }
.fallback img { height:420px; max-height:80%; max-width:90%; object-fit:contain; }
.fallback button { padding:8px 16px; background:#252a29; color:#eee; border:1px solid #6a7a72; }
.data-stage { --ink:#f3f4f4; --muted:#b0b7b7; --line:#444a4b; position:relative; z-index:1; overflow:hidden; color:var(--ink); background:#252829; border-top:1px solid var(--line); }
.data-stage-inner { position:relative; padding-top:108px; padding-bottom:72px; }
.data-stage-header { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; }
.data-kicker { position:absolute; top:22px; left:0; display:flex; align-items:center; gap:10px; color:var(--muted); font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.data-status-dot,.data-source i,.live-console-title i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#35a77a; box-shadow:0 0 0 4px rgba(53,167,122,.1); }
.data-stage-header h2 { font-size:36px; font-weight:600; line-height:1.4; }
.data-source { max-width:265px; padding-bottom:5px; color:var(--muted); font-size:12px; line-height:1.7; text-align:right; }
.data-source>span { display:flex; justify-content:flex-end; align-items:center; gap:9px; margin-top:10px; color:var(--muted); font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.scale-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:44px; border-block:1px solid var(--line); }
.scale-stat { position:relative; min-width:0; min-height:150px; padding:32px 28px 26px; border-left:1px solid var(--line); }
.scale-stat:first-child { padding-left:0; border-left:0; }
.scale-stat .stat-index { position:absolute; top:18px; right:20px; color:#929b9b; font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.scale-stat strong { display:block; color:var(--ink); font-size:50px; font-weight:500; line-height:1.1; white-space:nowrap; }
.rolling-number { display:inline-block; font-variant-numeric:tabular-nums; }
.scale-stat-install .rolling-number { min-width:7ch; }
.scale-stat strong em { margin-left:4px; color:var(--muted); font-size:22px; font-style:normal; vertical-align:top; }
.scale-stat p { margin-top:15px!important; color:var(--muted); font-size:12px; }
.live-console { display:grid; grid-template-columns:172px minmax(0,1fr); margin-top:28px; border-bottom:1px solid var(--line); background:transparent; }
.live-console-title { display:grid; align-content:center; gap:8px; min-height:100px; padding:20px 24px 20px 0; }
.live-console-title>span { display:flex; align-items:center; gap:9px; color:var(--muted); font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.live-console-title strong { font-size:17px; font-weight:550; }
.live-console-title small { color:#929b9b; font-size:10px; }
.live-grid { min-width:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.live-stat { display:flex; flex-direction:column; justify-content:center; min-width:0; min-height:100px; padding:20px 25px; border-left:1px solid var(--line); }
.live-stat span { color:var(--muted); font-size:10px; }
.live-stat strong { display:block; margin-top:10px; color:var(--ink); font-size:27px!important; font-weight:520; line-height:1.1; white-space:nowrap; }
.data-reveal { opacity:1; transform:none; transition:opacity .75s cubic-bezier(.2,.75,.25,1),transform .75s cubic-bezier(.2,.75,.25,1); transition-delay:var(--delay,0ms); }
.data-stage[data-animate="true"] .data-reveal { opacity:0; transform:translateY(28px); }
.data-stage[data-animate="true"].is-visible .data-reveal { opacity:1; transform:none; }
.brand-stage { position:relative; overflow:hidden; padding:52px 0 54px; color:var(--ink); background:#fff; border-top:1px solid var(--line); }
.brand-stage-header { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:0 32px; margin-bottom:28px; }
.brand-kicker { grid-column:1/-1; margin-bottom:12px!important; color:var(--muted); font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; }
.brand-stage-header h2 { font-size:24px; font-weight:600; line-height:1.35; }
.brand-stage-header>p:last-child { color:var(--muted); font-size:12px; line-height:1.7; text-align:right; }
.brand-marquee { overflow:hidden; margin-inline:-1px; padding:1px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.brand-track { display:flex; width:max-content; gap:10px; transform:translateX(calc(-50% - 5px)); animation:brand-flow-ltr 34s linear infinite; animation-play-state:paused; will-change:transform; }
.brand-marquee.is-flowing .brand-track { animation-play-state:running; }
.brand-marquee:hover .brand-track,.brand-marquee:focus-within .brand-track { animation-play-state:paused; }
.brand-grid { flex:0 0 auto; display:flex; gap:10px; margin:0; padding:0; list-style:none; }
.brand-tile { flex:0 0 154px; display:flex; align-items:center; justify-content:center; gap:12px; height:76px; padding:14px 16px; border:1px solid #e4e7e7; border-radius:4px; background:#f7f8f8; color:#343839; font-size:14px; font-weight:600; line-height:1; white-space:nowrap; transition:border-color .2s ease,background .2s ease; }
.brand-logo { flex:0 0 auto; display:block; max-width:68px; max-height:28px; object-fit:contain; filter:grayscale(1) contrast(1.12); opacity:.78; transition:opacity .2s ease; }
.brand-logo-wide { width:52px; }
.brand-logo-symbol { width:25px; height:25px; }
.brand-logo-redmagic { width:42px; height:30px; }
.brand-tile:hover { border-color:#b9bfc0; background:#fff; }
.brand-tile:hover .brand-logo { opacity:1; }
.brand-note { max-width:760px; margin:24px auto 0!important; color:#8a928e; font-size:11px; line-height:1.7; text-align:center; }
@keyframes brand-flow-ltr { from { transform:translateX(calc(-50% - 5px)); } to { transform:translateX(0); } }
.flash-stage { position:relative; overflow:clip; padding:80px 0 36px; color:var(--ink); background:#fff; border-top:1px solid var(--line); }
.flash-stage-inner { position:relative; z-index:1; }
.flash-stage-header { padding-bottom:38px; border-bottom:1px solid var(--line); }
.flash-kicker { margin-bottom:18px!important; color:var(--muted); font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; }
.flash-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.flash-heading-row h2 { font-size:36px; font-weight:600; line-height:1.4; text-wrap:balance; }
.flash-heading-row p { max-width:360px; padding-bottom:7px; color:#747d79; font-size:13px; line-height:1.7; text-align:right; }
.flash-feature { display:grid; grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr); align-items:center; gap:64px; padding:76px 0; border-bottom:1px solid var(--line); }
.flash-feature:last-of-type { border-bottom:0; }
.flash-feature-oplus { align-items:start; }
.flash-feature-copy { max-width:400px; }
.flash-feature-index { margin-bottom:22px!important; color:var(--muted); font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.flash-feature-copy h3 { margin:0; font-size:32px; font-weight:620; line-height:1.35; }
.flash-mode-titlebar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.flash-mode-titlebar h3 { flex-shrink:0; }
.flash-mode-switch { position:relative; isolation:isolate; flex-shrink:0; display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-right:0; padding:4px; border-radius:7px; background:#1a1b1b; }
.flash-mode-switch::before { content:""; position:absolute; z-index:-1; top:4px; bottom:4px; left:4px; width:calc((100% - 10px)/2); border-radius:4px; background:#fff; transform:translateX(var(--mode-shift,0px)); transition:transform .28s cubic-bezier(.22,.8,.24,1); }
.flash-mode-switch button { position:relative; min-width:72px; min-height:34px; padding:7px 12px; border:0; border-radius:4px; color:#9fa6a3; background:transparent; font-size:12px; font-weight:600; transition:color .2s ease; }
.flash-mode-switch button:hover { color:#fff; }
.flash-mode-switch button.is-active { color:#171a18; }
.flash-mode-switch button:focus-visible { outline:2px solid #262a28; outline-offset:2px; }
.flash-mode-panels { display:grid; min-height:448px; margin-top:28px; border-top:1px solid var(--line); }
.flash-mode-panel { grid-area:1/1; align-self:start; }
/* Reserve the taller panel's height so mode changes cannot move the section. */
.violet-page .flash-mode-panel[hidden] { display:block!important; visibility:hidden; pointer-events:none; }
.flash-mode-panel p,.flash-edl-list p { padding:14px 0!important; border-bottom:1px solid var(--line); color:#53595a; font-size:13px; line-height:1.85; }
.flash-mode-panel strong,.flash-edl-list strong { color:#171b19; font-weight:650; }
.flash-mode-panel mark { display:inline; margin-right:3px; padding:0; border:0; border-bottom:1px solid #252927; border-radius:0; color:#171a18; background:transparent; font:inherit; font-weight:700; vertical-align:baseline; }
.flash-mode-panel .flash-mode-highlight { margin-top:8px!important; padding:16px 12px!important; border-left:2px solid #252927; color:#3f4843; background:#f3f4f3; }
.flash-mode-panel .flash-mode-highlight strong { color:#171a18; }
.flash-feature-desc { margin-top:22px!important; color:#626b67; font-size:14px; line-height:1.9; }
.flash-points { margin:32px 0 0; padding:0; list-style:none; border-top:1px solid #e0e4e2; }
.flash-points li { position:relative; padding:15px 0 15px 18px; border-bottom:1px solid #e0e4e2; color:#2e3431; font-size:12px; line-height:1.5; }
.flash-points li::before { content:""; position:absolute; top:21px; left:0; width:5px; height:5px; background:#9b70ce; }
.flash-video-frame { min-width:0; margin:0; border:0; border-radius:0; overflow:visible; background:transparent; box-shadow:none; }
.feature-video { display:block; width:100%; aspect-ratio:5/4; background:#fff; object-fit:contain; pointer-events:none; }
.flash-feature-edl { grid-template-columns:minmax(0,1.32fr) minmax(320px,.68fr); }
.flash-feature-edl .flash-feature-copy { grid-column:2; grid-row:1; justify-self:end; }
.flash-feature-edl .flash-video-frame { grid-column:1; grid-row:1; }
.flash-edl-capabilities { min-height:0; }
.capability-stage { --paper:#e3e6e6; --muted:#5e6566; --line:#c6cccc; position:relative; overflow:clip; padding:80px 0 88px; color:var(--ink); background:var(--paper); border-top:1px solid var(--line); }
.capability-stage-inner { position:relative; z-index:1; }
.capability-stage-header { padding-bottom:38px; border-bottom:1px solid var(--line); }
.capability-kicker { margin-bottom:18px!important; color:var(--muted); font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; }
.capability-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.capability-heading-row h2 { max-width:750px; font-size:36px; font-weight:600; line-height:1.4; text-wrap:balance; }
.capability-heading-row p { max-width:390px; padding-bottom:7px; color:var(--muted); font-size:13px; line-height:1.75; text-align:right; }
.capability-explorer { display:grid; grid-template-columns:232px minmax(0,1fr); gap:72px; padding-top:48px; }
.capability-nav { position:sticky; top:104px; align-self:start; }
.capability-nav>p { margin-bottom:18px!important; color:var(--muted); font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.capability-nav-item { position:relative; width:100%; min-height:62px; display:grid; grid-template-columns:30px minmax(0,1fr) 18px; align-items:center; gap:10px; padding:0 14px; border:0; border-top:1px solid var(--line); color:var(--muted); background:transparent; text-align:left; transition:color .22s ease,background .22s ease; }
.capability-nav-item:last-child { border-bottom:1px solid #c7ceca; }
.capability-nav-item::before { content:""; position:absolute; inset:0 auto 0 0; width:2px; background:#333839; transform:scaleY(0); transform-origin:top; transition:transform .2s linear; }
.capability-nav-item span { color:var(--muted); font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.capability-nav-item strong { font-size:13px; font-weight:560; }
.capability-nav-item svg { width:14px; height:14px; opacity:.45; transition:transform .22s ease,opacity .22s ease; }
.capability-nav-item:hover,.capability-nav-item.is-active { color:#171b19; background:rgba(255,255,255,.72); }
.capability-nav-item.is-active::before { transform:scaleY(max(.08,var(--group-progress,1))); }
.capability-nav-item.is-active svg { opacity:1; transform:translateX(2px); }
.capability-group { position:relative; scroll-margin-top:104px; padding-bottom:32px; }
.capability-group:last-child { padding-bottom:0; }
.capability-group-label { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.capability-list { margin:0; padding:0; list-style:none; border-top:1px solid #bcc5c0; }
.capability-list li { min-height:112px; display:grid; grid-template-columns:40px minmax(0,1fr) 92px; align-items:start; gap:18px; padding:25px 0; border-bottom:1px solid var(--line); transition:background .2s ease; }
.capability-list li:hover { background:rgba(255,255,255,.55); }
.capability-list li>span { padding-top:7px; color:var(--muted); font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.capability-list h4 { margin:0; font-size:17px; font-weight:620; line-height:1.4; }
.capability-list p { margin-top:8px!important; color:var(--muted); font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.capability-list em { justify-self:end; padding-top:6px; color:var(--muted); font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; font-style:normal; text-align:right; }
.trust-stage { position:relative; overflow:clip; color:var(--ink); background:#fff; border-top:1px solid var(--line); }
.trust-stage::before { content:""; position:absolute; inset:0 auto 0 0; width:calc(max(56px, (100% - 1280px)/2) + min(1280px, 100% - 112px)*.41); background:#191c1d; }
.trust-watermark { position:absolute; z-index:1; left:max(56px,calc((100% - 1280px)/2)); bottom:-34px; color:transparent; font-size:150px; font-weight:800; line-height:1; -webkit-text-stroke:1px rgba(255,255,255,.055); pointer-events:none; user-select:none; }
.trust-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
.trust-story { position:sticky; top:104px; align-self:start; min-width:0; margin-top:78px; padding:0 64px 78px 0; color:#f2f4f3; }
.trust-kicker { margin-bottom:26px!important; color:#a1a7a8; font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; }
.trust-story h2 { font-size:36px; font-weight:600; line-height:1.5; }
.trust-intro { max-width:380px; margin-top:28px!important; color:#9ea8a3; font-size:13px; line-height:1.8; }
.trust-release { display:flex; align-items:flex-end; gap:22px; margin-top:74px; padding-top:26px; border-top:1px solid #383e3b; }
.trust-release>strong { font:74px/.82 ui-monospace,SFMono-Regular,Consolas,monospace; font-weight:500; letter-spacing:0; }
.trust-release>div { display:flex; flex-direction:column; gap:10px; }
.trust-release span { color:#d6dbd8; font-size:13px; }
.trust-release small { color:#7f8a85; font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.trust-release b { color:#c0c5c6; font-weight:500; }
.trust-proof-list { min-width:0; padding:78px 0 78px 78px; }
.trust-proof { min-height:142px; display:grid; grid-template-columns:32px 34px minmax(0,1fr) 36px; align-items:center; gap:20px; border-bottom:1px solid var(--line); transition:background .22s ease; }
.trust-proof:first-child { border-top:1px solid #d7dcda; }
.trust-proof:hover { background:#f8f9f9; }
.trust-proof-index { align-self:start; padding-top:29px; color:#8a948f; font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.trust-proof>svg { width:24px; height:24px; color:#656d6e; stroke-width:1.5; }
.trust-proof h3 { margin:0; font-size:18px; font-weight:620; line-height:1.4; }
.trust-proof p { max-width:410px; margin-top:8px!important; color:#666e6f; font-size:13px; line-height:1.8; }
.trust-proof>a { width:34px; height:34px; display:grid; place-items:center; border:1px solid #cbd1ce; border-radius:50%; color:#3d4541; transition:color .2s ease,border-color .2s ease,transform .2s ease; }
.trust-proof>a:hover { color:#825ba1; border-color:#a77bc7; transform:translate(2px,-2px); }
.trust-proof>a svg { width:15px; height:15px; }
.trust-proof-state { justify-self:end; color:#858b8c; font:8px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.faq-stage { position:relative; overflow:clip; padding:88px 0 96px; color:var(--ink); background:var(--paper); border-top:1px solid var(--line); }
.faq-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:100px; align-items:start; }
.faq-stage-header { position:sticky; top:110px; }
.faq-kicker { margin-bottom:22px!important; color:var(--muted); font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; }
.faq-stage-header h2 { font-size:36px; font-weight:600; line-height:1.4; }
.faq-guide-link { display:inline-flex; align-items:center; gap:12px; margin-top:34px; padding-bottom:8px; border-bottom:1px solid #9ca6a1; color:#252b28; font-size:12px; }
.faq-guide-link:hover { color:#805b9f; border-bottom-color:#805b9f; }
.faq-guide-link svg { width:15px; height:15px; }
.faq-list { border-top:1px solid #bdc6c1; }
.faq-list details { border-bottom:1px solid #c7ceca; }
.faq-list summary { min-height:86px; display:grid; grid-template-columns:42px minmax(0,1fr) 28px; align-items:center; gap:18px; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { color:#87918c; font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.faq-list summary h3 { margin:0; font-size:17px; font-weight:600; line-height:1.5; }
.faq-list summary>svg { width:18px; height:18px; color:#596061; transition:transform .22s ease; }
.faq-list details[open] summary>svg { transform:rotate(45deg); }
.faq-list details>p { max-width:650px; padding:0 46px 28px 60px; color:#68726d; font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.faq-list details>p a { color:#242a27; border-bottom:1px solid #8f9994; }
.faq-list details>p a:hover { color:#805b9f; border-bottom-color:#805b9f; }
@supports (interpolate-size:allow-keywords) {
  .faq-list details { interpolate-size:allow-keywords; }
  .faq-list details::details-content { height:0; overflow:clip; transition:height .32s cubic-bezier(.22,.8,.24,1),content-visibility .32s allow-discrete; }
  .faq-list details[open]::details-content { height:auto; }
}
.download-stage { position:relative; overflow:hidden; padding:112px 0 98px; color:#151918; background:#fff; border-top:1px solid #dce1df; }
.download-stage::before { content:""; position:absolute; top:0; right:max(56px,calc((100% - 1280px)/2)); width:104px; height:3px; background:#9b70ce; }
.download-watermark { position:absolute; right:max(56px,calc((100% - 1280px)/2)); bottom:-34px; color:transparent; font-size:136px; font-weight:800; line-height:1; white-space:nowrap; -webkit-text-stroke:1px rgba(20,28,24,.05); pointer-events:none; user-select:none; }
.download-stage-inner { position:relative; z-index:1; }
.download-kicker { margin-bottom:24px!important; color:#75568f; font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.download-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:72px; }
.download-heading-row h2 { font-size:52px; font-weight:580; line-height:1.25; }
.download-heading-row>div:first-child>p { margin-top:20px!important; color:#6b7570; font-size:13px; line-height:1.7; }
.download-actions { min-width:360px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding-bottom:4px; }
.final-download { min-width:206px; min-height:56px; border-radius:4px; }
.final-download svg { width:19px; height:19px; }
.final-github { display:inline-flex; align-items:center; gap:11px; padding:5px 0 9px; border-bottom:1px solid #aeb6b2; color:#313734; font-size:13px; }
.final-github:hover { color:#7c5799; border-bottom-color:#7c5799; }
.final-github svg { width:16px; height:16px; }
.final-github svg:last-child { margin-left:8px; }
.download-specs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:74px; border-block:1px solid #cbd2ce; }
.download-specs>div { position:relative; min-height:126px; display:flex; flex-direction:column; justify-content:center; padding:25px 28px; border-left:1px solid #cbd2ce; }
.download-specs>div:first-child { padding-left:0; border-left:0; }
.download-specs span { position:absolute; top:16px; right:18px; color:#929c97; font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.download-specs strong { font-size:22px; font-weight:580; line-height:1.2; }
.download-specs small { margin-top:10px; color:#77817c; font-size:10px; }
.site-footer { margin-top:0; }
@media(min-width:768px) and (prefers-reduced-motion:no-preference) {
  html.parallax-ready .hero-copy { transform:translate3d(0,var(--hero-copy-y,0),0); opacity:var(--hero-copy-opacity,1); will-change:transform,opacity; }
  html.parallax-ready .device-scene { transform:translate3d(0,var(--hero-device-y,0),0) scale(var(--hero-device-scale,1)); transform-origin:50% 44%; will-change:transform; }
  html.parallax-ready .hero-watermark { transform:translate3d(0,var(--hero-watermark-y,0),0); will-change:transform; }
  html.parallax-ready .trust-watermark { transform:translate3d(0,var(--parallax-y,0),0); will-change:transform; }
  html.parallax-ready .flash-video-frame { transform:translate3d(0,var(--media-y,0),0) scale(var(--media-scale,1)); transform-origin:center; will-change:transform; }
}
@media(min-width:1100px) and (min-height:720px) and (prefers-reduced-motion:no-preference) {
  html.parallax-ready .hero-3d { position:sticky; top:65px; z-index:0; }
  html.parallax-ready .data-stage { box-shadow:0 -18px 48px rgba(0,0,0,.1); }
}
@media(min-width:768px) and (min-height:720px) {
  .flash-video-frame { position:sticky; top:112px; align-self:start; }
}
@media(max-height:719px) {
  .trust-story { position:static; }
}
@media(max-width:1199px) {
  .site-footer .footer-beian { transform:none; }
  .v-container { width:calc(100% - 64px); }
  .hero-copy h1 { font-size:36px; }
  .hero-watermark { left:32px; }
  .data-stage::before,.data-stage::after { left:32px; }
  .data-watermark { right:32px; }
  .scale-stat { padding-inline:22px; }
  .scale-stat strong { font-size:36px; }
  .live-console { grid-template-columns:160px minmax(0,1fr); }
  .live-stat { padding-inline:18px; }
  .brand-tile { flex-basis:150px; }
  .flash-stage::before { left:32px; }
  .flash-watermark { right:32px; }
  .flash-feature { gap:48px; min-height:620px; }
  .capability-stage::before { left:32px; }
  .capability-watermark { right:32px; }
  .capability-explorer { grid-template-columns:180px minmax(0,1fr); gap:32px; }
  .capability-list li { grid-template-columns:32px minmax(0,1fr); gap:12px; }
  .capability-list em { grid-column:2; justify-self:start; margin-top:-6px; padding-top:0; }
  .trust-stage::before { width:calc(32px + (100% - 64px)*.41); }
  .trust-stage::after,.trust-watermark { left:32px; }
  .trust-story { padding-right:52px; }
  .trust-proof-list { padding-left:52px; }
  .faq-stage::before,.faq-watermark { left:32px; }
  .faq-layout { gap:64px; }
  .download-stage::before,.download-watermark { right:32px; }
}
@media(max-width:767px) {
  .v-container { width:calc(100% - 40px); }
  .hero-layout { height:auto; min-height:calc(100svh - 113px); display:flex; flex-direction:column; justify-content:center; }
  .hero-copy { padding:38px 0 0; width:100%; }
  .release-link { margin-bottom:22px; font-size:10px; padding-bottom:9px; gap:9px; }
  .hero-copy h1 { font-size:32px; line-height:1.4; }
  .hero-cta { margin-top:20px; gap:22px; }
  .v-download { padding:13px 17px; font-size:13px; min-height:46px; gap:9px; }
  .v-download svg:last-child { margin-left:8px; }
  .v-text-link { font-size:12px; }
  .device-scene { width:100%; height:335px; margin-top:4px; }
  .stage { inset:0 0 18px; }
  .hero-watermark { font-size:94px; bottom:0; left:20px; }
  .fallback img { height:240px; }
  .data-stage { min-height:0; }
  .data-stage::before,.data-stage::after { left:20px; }
  .data-stage::before { width:72px; }
  .data-stage::after { height:42px; }
  .data-watermark { right:20px; bottom:-12px; font-size:86px; }
  .data-stage-inner { padding-top:96px; padding-bottom:68px; }
  .data-stage-header { display:block; }
  .data-stage-header h2 { font-size:31px; }
  .data-source { margin-top:22px!important; padding:0; text-align:left; }
  .data-source>span { justify-content:flex-start; }
  .scale-grid { grid-template-columns:1fr 1fr; margin-top:38px; }
  .scale-stat { min-height:126px; padding:29px 18px 23px; }
  .scale-stat:nth-child(odd) { padding-left:0; border-left:0; }
  .scale-stat:nth-child(n+3) { border-top:1px solid var(--line); }
  .scale-stat .stat-index { top:14px; right:14px; }
  .scale-stat strong { font-size:30px; }
  .scale-stat strong em { font-size:17px; }
  .scale-stat p { margin-top:11px!important; font-size:10px; }
  .live-console { margin-top:42px; }
  .live-console { grid-template-columns:1fr; }
  .live-console-title { display:flex; align-items:center; min-height:0; padding:18px 0; border-bottom:1px solid var(--line); }
  .live-console-title strong { margin-left:4px; font-size:14px; }
  .live-console-title small { margin-left:auto; }
  .live-grid { grid-template-columns:1fr 1fr; }
  .live-stat { min-height:94px; padding:19px 16px; }
  .live-stat:nth-child(odd) { padding-left:0; border-left:0; }
  .live-stat:nth-child(n+3) { border-top:1px solid var(--line); }
  .live-stat strong { font-size:23px!important; }
  .brand-stage { padding:62px 0 66px; }
  .brand-stage-header { display:block; margin-bottom:26px; text-align:left; }
  .brand-stage-header h2 { font-size:26px; }
  .brand-stage-header>p:last-child { margin-top:10px!important; font-size:12px; text-align:left; }
  .brand-track,.brand-grid { gap:8px; }
  .brand-track { transform:translateX(calc(-50% - 4px)); animation-name:brand-flow-ltr-mobile; animation-duration:28s; }
  .brand-tile { flex-basis:142px; height:72px; gap:10px; padding-inline:12px; font-size:13px; }
  .brand-logo-wide { width:46px; }
  .brand-logo-symbol { width:23px; height:23px; }
  .brand-logo-redmagic { width:38px; height:27px; }
  .brand-note { margin-top:20px!important; text-align:left; }
  .flash-stage { padding:68px 0 78px; }
  .flash-stage::before { left:20px; width:72px; }
  .flash-watermark { right:20px; bottom:-12px; font-size:78px; }
  .flash-stage-header { padding-bottom:38px; }
  .flash-heading-row { display:block; }
  .flash-heading-row h2 { font-size:31px; }
  .flash-heading-row p { margin-top:14px!important; padding:0; text-align:left; }
  .flash-feature { display:grid; grid-template-columns:minmax(0,1fr); min-height:0; padding:48px 0; align-items:stretch; gap:24px; }
  .flash-feature-copy { display:contents; }
  .flash-feature-index { grid-row:1; margin-bottom:0!important; }
  .flash-mode-titlebar,.flash-feature-copy>h3 { grid-row:2; }
  .flash-video-frame { grid-row:3!important; grid-column:1!important; }
  .flash-feature-copy h3 { font-size:28px; }
  .flash-mode-titlebar { gap:14px; }
  .flash-mode-switch { margin-right:0; }
  .flash-mode-switch button { min-width:66px; padding-inline:10px; }
  .flash-mode-panels { grid-row:4; min-height:0; margin-top:0; }
  .violet-page .flash-mode-panel[hidden] { display:none!important; }
  .flash-mode-panel p { font-size:12px; }
  .flash-feature-desc { margin-top:16px!important; font-size:13px; }
  .flash-points { margin-top:24px; }
  .flash-feature-edl .flash-feature-copy,.flash-feature-edl .flash-video-frame { grid-column:auto; grid-row:auto; }
  .capability-stage { padding:68px 0 80px; }
  .capability-stage::before { left:20px; width:72px; }
  .capability-watermark { right:20px; bottom:-12px; font-size:70px; }
  .capability-stage-header { padding-bottom:38px; }
  .capability-heading-row { display:block; }
  .capability-heading-row h2 { font-size:31px; }
  .capability-heading-row p { margin-top:14px!important; padding:0; text-align:left; }
  .capability-explorer { display:block; padding-top:34px; }
  .capability-nav { z-index:3; top:69px; display:flex; gap:0; margin:0 -20px 32px; padding:0 20px; overflow-x:auto; background:var(--paper); border-block:1px solid var(--line); scrollbar-width:none; }
  .capability-nav::-webkit-scrollbar { display:none; }
  .capability-nav>p { display:none; }
  .capability-nav-item { flex:0 0 auto; width:auto; min-height:52px; display:flex; padding:0 16px; border:0; white-space:nowrap; }
  .capability-nav-item:last-child { border:0; }
  .capability-nav-item::before { inset:auto 12px 0; width:auto; height:2px; transform:scaleX(0); }
  .capability-nav-item span,.capability-nav-item svg { display:none; }
  .capability-nav-item:hover,.capability-nav-item.is-active { padding-inline:16px; background:transparent; }
  .capability-nav-item.is-active::before { transform:scaleX(1); }
  .capability-stage[data-tabs-ready="true"] .capability-group { display:none; }
  .capability-stage[data-tabs-ready="true"] .capability-group.is-active { display:block; }
  .capability-group { scroll-margin-top:130px; padding-bottom:42px; }
  .capability-list li { min-height:104px; grid-template-columns:36px minmax(0,1fr); gap:12px; }
  .capability-list li:hover { padding-inline:0; background:transparent; }
  .capability-list em { grid-column:2; justify-self:start; margin-top:-6px; }
  .trust-stage::before { display:none; }
  .trust-stage::after { left:20px; width:72px; }
  .trust-watermark { top:322px; bottom:auto; left:20px; font-size:74px; }
  .trust-layout { display:block; width:100%; }
  .trust-story { position:relative; top:auto; margin:0; padding:68px 20px 72px; background:#191c1d; }
  .trust-story h2 { font-size:31px; }
  .trust-intro { margin-top:20px!important; }
  .trust-release { margin-top:46px; }
  .trust-release>strong { font-size:58px; }
  .trust-proof-list { padding:46px 20px 62px; background:#fff; }
  .trust-proof { min-height:132px; grid-template-columns:26px 28px minmax(0,1fr) 32px; gap:12px; }
  .trust-proof:hover { padding-inline:0; background:transparent; }
  .trust-proof-index { padding-top:27px; }
  .trust-proof>svg { width:21px; height:21px; }
  .trust-proof h3 { font-size:16px; }
  .trust-proof-state { writing-mode:vertical-rl; }
  .faq-stage { padding:68px 0 76px; }
  .faq-stage::before { left:20px; width:72px; }
  .faq-watermark { left:20px; bottom:-10px; font-size:86px; }
  .faq-layout { display:block; }
  .faq-stage-header { position:static; }
  .faq-stage-header h2 { font-size:31px; }
  .faq-guide-link { margin-top:24px; }
  .faq-list { margin-top:48px; }
  .faq-list summary { min-height:88px; grid-template-columns:30px minmax(0,1fr) 22px; gap:10px; }
  .faq-list summary h3 { font-size:15px; }
  .faq-list details>p { padding:0 32px 24px 40px; font-size:12px; }
  .download-stage { padding:72px 0 68px; }
  .download-stage::before { right:20px; width:72px; }
  .download-watermark { right:20px; bottom:-10px; font-size:62px; }
  .download-heading-row { display:block; }
  .download-heading-row h2 { font-size:34px; }
  .download-actions { min-width:0; margin-top:34px; padding:0; }
  .download-specs { grid-template-columns:1fr 1fr; margin-top:54px; }
  .download-specs>div { min-height:106px; padding:24px 16px; }
  .download-specs>div:nth-child(odd) { padding-left:0; border-left:0; }
  .download-specs>div:nth-child(n+3) { border-top:1px solid #cbd2ce; }
  .download-specs strong { font-size:19px; }
  .site-footer .contact-title,.site-footer .footer-beian { transform:none; }
  .site-footer .footer-beian a { overflow-wrap:anywhere; }
}
@media(max-width:359px) { .hero-copy h1 { font-size:28px; } .v-container { width:calc(100% - 32px); } .hero-cta { gap:16px; } .hero-watermark,.data-stage::before,.data-stage::after { left:16px; } .data-watermark { right:16px; } .scale-stat strong { font-size:27px; } .site-header .logo { font-size:16px; white-space:nowrap; } .site-header .lang-btn { padding-inline:8px; font-size:12px; } }
@media(max-width:419px) { .flash-mode-titlebar { align-items:flex-start; flex-direction:column; } }
@media(max-width:767px) and (max-height:780px) { .hero-copy { padding-top:24px; } .device-scene { height:270px; } }
@keyframes brand-flow-ltr-mobile { from { transform:translateX(calc(-50% - 4px)); } to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .violet-page *,.violet-page *::before,.violet-page *::after { transition:none!important; } .data-reveal { opacity:1; transform:none; } .brand-marquee { overflow-x:auto; -webkit-mask-image:none; mask-image:none; } .brand-track { transform:none; animation:none; } .brand-grid[aria-hidden="true"] { display:none; } }
