/* ============================================
   CYSOEditor · Aurora v7
   全面重设计 · 现代 SaaS · 极致精致
   ============================================ */

:root {
    --bg:           #050810;
    --bg-elev:      #0a0f1a;
    --bg-card:      #0d1322;
    --bg-card-2:    #10172a;
    --border:       rgba(255, 255, 255, .05);
    --border-hi:    rgba(255, 255, 255, .12);
    --text:         #f1f5f9;
    --text-sub:     #94a3b8;
    --text-dim:     #64748b;

    /* Aurora 真实主题色 */
    --aurora-cyan:  #32c8dc;
    --aurora-green: #46dca0;
    --aurora-purple:#965ae6;
    --aurora-pink:  #f0a0b4;

    --accent:       var(--aurora-cyan);
    --accent-bright:#5ee0f0;
    --accent-soft:  rgba(var(--accent-rgb), .1);

    --accent-rgb:   50, 200, 220;
    --green-rgb:    70, 220, 160;
    --purple-rgb:   150, 90, 230;
    --pink-rgb:     240, 160, 180;

    --mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
    --sans: -apple-system, 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    --ease: cubic-bezier(.16, 1, .3, 1);
    --ease-out: cubic-bezier(.22, 1, .36, 1);
}

/* ==================== Wusha 雾砂 · 亮色主题 ==================== */
html[data-theme="light"] {
    --bg:           #f6f3ec;
    --bg-elev:      #fdfcf8;
    --bg-card:      #fdfcf8;
    --bg-card-2:    #f1ede4;
    --border:       rgba(82, 66, 45, .10);
    --border-hi:    rgba(82, 66, 45, .16);
    --text:         #3c342b;
    --text-sub:     #756a5b;
    --text-dim:     #a29687;

    /* 雾砂：低饱和 · 暖调 */
    --aurora-cyan:  #6f9cae;
    --aurora-green: #8aae92;
    --aurora-purple:#9b86b8;
    --aurora-pink:  #c49aa4;

    --accent:       #5e8796;
    --accent-bright:#4c7382;
    --accent-soft:  rgba(94, 135, 150, .12);

    --accent-rgb:   94, 135, 150;
    --green-rgb:    138, 174, 146;
    --purple-rgb:   155, 134, 184;
    --pink-rgb:     196, 154, 164;

    --shadow-card: 0 2px 8px rgba(82, 66, 45, .05);
}
html[data-theme="light"] .bg-grid {
    background-image:
        linear-gradient(rgba(82, 66, 45, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82, 66, 45, .04) 1px, transparent 1px);
}
html[data-theme="light"] .bg-aurora {
    background:
        radial-gradient(ellipse 60% 50% at 18% 12%, rgba(138, 174, 146, .10) 0%, transparent 60%),
        radial-gradient(ellipse 50% 45% at 82% 8%,  rgba(94, 135, 150, .10) 0%, transparent 60%),
        radial-gradient(ellipse 45% 40% at 50% 88%, rgba(155, 134, 184, .08) 0%, transparent 60%);
    filter:blur(60px) saturate(.9);
}
html[data-theme="light"] .cursor-glow {
    background:radial-gradient(circle, rgba(94, 135, 150, .07) 0%, transparent 70%);
}
html[data-theme="light"] .nav.scrolled{
    background:rgba(246, 243, 236, .85);
    border-bottom-color:var(--border);
}
html[data-theme="light"] .hero-bg-overlay{
    background:
        radial-gradient(ellipse at 50% 20%, rgba(94, 135, 150, .06) 0%, transparent 60%),
        linear-gradient(180deg, rgba(246, 243, 236, .42) 0%, rgba(246, 243, 236, .82) 60%, var(--bg) 100%);
}
html[data-theme="light"] .hero-bg-img{ filter:blur(18px) saturate(.85) brightness(.95) opacity(.55); }
html[data-theme="light"] .hero-badge{ background:rgba(253, 252, 248, .7); border-color:var(--border); }
html[data-theme="light"] .lang-menu,
html[data-theme="light"] .lang-menu::before{ background:rgba(253, 252, 248, .98); }
html[data-theme="light"] .dlm-panel,
html[data-theme="light"] .clm-panel{
    background:linear-gradient(180deg, rgba(253, 252, 248, .99), rgba(246, 243, 236, .99));
    box-shadow:0 36px 90px rgba(82, 66, 45, .22), 0 0 100px rgba(94, 135, 150, .05);
}
html[data-theme="light"] .dlm-backdrop,
html[data-theme="light"] .clm-backdrop{
    background:rgba(82, 66, 45, .30);
    backdrop-filter:blur(20px) saturate(.9);
    -webkit-backdrop-filter:blur(20px) saturate(.9);
}
html[data-theme="light"] .dlm-close,
html[data-theme="light"] .clm-close{ border-color:rgba(82, 66, 45, .1); }

/* 亮色：主按钮 —— 柔和雾青，深色文字，去高饱和渐变 */
html[data-theme="light"] .btn-primary{
    background:linear-gradient(180deg, #5e8796 0%, #4c7382 100%);
    color:#fdfcf8;
    box-shadow:0 4px 18px rgba(76, 115, 130, .30), inset 0 1px 0 rgba(255,255,255,.28);
}
html[data-theme="light"] .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 30px rgba(76, 115, 130, .38), inset 0 1px 0 rgba(255,255,255,.32);
}
html[data-theme="light"] .btn-ghost{
    color:var(--text-sub); border-color:rgba(82, 66, 45, .14);
    background:rgba(253, 252, 248, .5);
}
html[data-theme="light"] .btn-ghost:hover{
    color:var(--text); border-color:rgba(82, 66, 45, .26);
    background:rgba(253, 252, 248, .9);
}
html[data-theme="light"] .dl-rec-tag{ background:var(--accent); color:#fdfcf8; }
html[data-theme="light"] .feat-open-link{
    background:rgba(94, 135, 150, .12); border-color:rgba(94, 135, 150, .28);
    color:var(--accent-bright);
}
html[data-theme="light"] .feat-open-link:hover{ background:rgba(94, 135, 150, .2); }
html[data-theme="light"] .brand-version,
html[data-theme="light"] .hero-ver{ color:var(--text-dim); }
html[data-theme="light"] .cl-entry + .cl-entry{ border-top:1px solid rgba(82, 66, 45, .07); }
html[data-theme="light"] .cl-list li::before{ background:rgba(82, 66, 45, .22); }

/* 亮色：标题渐变改为柔和雾调 */
html[data-theme="light"] .title-text{
    background:linear-gradient(135deg, #6f9cae 0%, #8aae92 55%, #9b86b8 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
html[data-theme="light"] .title-sub{ color:var(--text-sub); }
html[data-theme="light"] .sec-eyebrow{
    background:rgba(94, 135, 150, .1); border-color:rgba(94, 135, 150, .2);
    color:var(--accent-bright);
}
html[data-theme="light"] .stat-num{
    background:linear-gradient(135deg, #6f9cae, #8aae92);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
html[data-theme="light"] .stat-num i{ -webkit-text-fill-color:var(--accent); }
html[data-theme="light"] .hsh-line::after{ background:var(--accent); }
html[data-theme="light"] .hero-badge-dot{ background:var(--accent); box-shadow:0 0 8px rgba(94,135,150,.6); }
html[data-theme="light"] .oc-dot{
    box-shadow:0 0 0 3px rgba(255,255,255,.02);
}
html[data-theme="light"] .outcome-allow .oc-dot{ box-shadow:0 0 0 3px rgba(138,174,146,.12); }
html[data-theme="light"] .outcome-ask .oc-dot{ box-shadow:0 0 0 3px rgba(200,160,80,.12); }
html[data-theme="light"] .outcome-deny .oc-dot{ box-shadow:0 0 0 3px rgba(200,100,100,.12); }
html[data-theme="light"] .theme-switch .ts-circ{ box-shadow:0 2px 8px rgba(82,66,45,.12), inset 0 1px 0 rgba(255,255,255,.4); }
html[data-theme="light"] .ft-list a[data-i18n="ft.changelog"]::before{ background:var(--accent); box-shadow:0 0 6px rgba(94,135,150,.5); }
html[data-theme="light"] ::selection{ background:rgba(94, 135, 150, .25); color:#3c342b; }

/* 亮色：导航与按钮 hover 柔化 */
html[data-theme="light"] .nav-gh:hover,
html[data-theme="light"] .theme-btn:hover,
html[data-theme="light"] .lang-btn:hover,
html[data-theme="light"] .nav-links a:hover{ background:rgba(82, 66, 45, .06); }
html[data-theme="light"] .dl-tab,
html[data-theme="light"] .feat-card,
html[data-theme="light"] .wf-step,
html[data-theme="light"] .core-group,
html[data-theme="light"] .outcome,
html[data-theme="light"] .dlm-method,
html[data-theme="light"] .dlm-arch,
html[data-theme="light"] .dlm-proxy-opt,
html[data-theme="light"] .stat-card{ box-shadow:0 1px 3px rgba(82, 66, 45, .04); }

/* 亮色：推荐卡片与弹窗顶部渐变线柔化 */
html[data-theme="light"] .dl-rec-card{
    background:linear-gradient(135deg, rgba(94,135,150,.12), rgba(138,174,146,.07)), var(--bg-card);
    border-color:rgba(94,135,150,.26);
}
html[data-theme="light"] .dl-rec-card::after{ box-shadow:inset 0 0 0 1px rgba(94,135,150,.22); }
html[data-theme="light"] .dl-rec-card:hover{
    box-shadow:0 16px 40px rgba(82,66,45,.18), 0 0 50px -10px rgba(94,135,150,.3);
}
html[data-theme="light"] .dlm-panel::before,
html[data-theme="light"] .clm-panel::before,
html[data-theme="light"] .feat-card::before,
html[data-theme="light"] .stat-card::before,
html[data-theme="light"] .core-flow::before,
html[data-theme="light"] .about-wrap::before{
    background:linear-gradient(90deg, transparent, rgba(94,135,150,.5), transparent);
}
html[data-theme="light"] .dl-rec-icon,
html[data-theme="light"] .feat-icon,
html[data-theme="light"] .cg-icon{ background:rgba(94,135,150,.1); color:var(--accent-bright); }
html[data-theme="light"] .feat-tag{
    background:rgba(94,135,150,.1); border-color:rgba(94,135,150,.22); color:var(--accent-bright);
}
html[data-theme="light"] .cm-tag{
    background:rgba(94,135,150,.08); border-color:rgba(94,135,150,.16); color:var(--text-sub);
}
html[data-theme="light"] .dlm-proxy-opt.active,
html[data-theme="light"] .dlm-method.active{ background:rgba(94,135,150,.12); }
html[data-theme="light"] .dlm-arch strong{ color:var(--text); }
html[data-theme="light"] .lang-opt.active .opt-name,
html[data-theme="light"] .lang-opt.active .opt-check{ color:var(--accent-bright); }
html[data-theme="light"] .theme-btn,
html[data-theme="light"] .nav-gh{ color:var(--text-sub); }

/* 亮色：进度流程节点柔化 */
html[data-theme="light"] .flow-decision{
    background:linear-gradient(135deg, rgba(94,135,150,.08), rgba(138,174,146,.05));
    border-color:rgba(94,135,150,.2);
}
html[data-theme="light"] .fn-num{ color:var(--accent-bright); }

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body { font-family:var(--sans); background:var(--bg); color:var(--text); line-height:1.65; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
::selection { background:rgba(var(--accent-rgb), .25); color:#fff; }
.container { max-width:1140px; margin:0 auto; padding:0 28px; }

/* ==================== 背景层 ==================== */
.bg-aurora {
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background:
        radial-gradient(ellipse 60% 50% at 18% 12%, rgba(var(--green-rgb), .10) 0%, transparent 60%),
        radial-gradient(ellipse 50% 45% at 82% 8%,  rgba(var(--accent-rgb), .12) 0%, transparent 60%),
        radial-gradient(ellipse 45% 40% at 50% 88%, rgba(var(--purple-rgb), .08) 0%, transparent 60%);
    filter:blur(60px) saturate(1.2);
    opacity:.85;
}
.bg-grid {
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size:80px 80px;
    mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, black 20%, transparent 80%);
    -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, black 20%, transparent 80%);
}
.bg-noise {
    position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.03;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:256px 256px;
}
.cursor-glow {
    position:fixed; width:560px; height:560px; border-radius:50%;
    background:radial-gradient(circle, rgba(var(--accent-rgb), .06) 0%, transparent 70%);
    pointer-events:none; z-index:1;
    transform:translate(-50%,-50%); opacity:0; transition:opacity .4s;
}
@media(hover:hover){ .cursor-glow{opacity:1;} }

/* ==================== NAV ==================== */
.nav {
    position:fixed; top:0; left:0; right:0; z-index:100; padding:22px 0;
    transition:all .5s var(--ease-out);
}
.nav.scrolled{
    padding:13px 0;
    background:rgba(5, 8, 16, .78);
    backdrop-filter:blur(28px) saturate(1.5);
    -webkit-backdrop-filter:blur(28px) saturate(1.5);
    border-bottom:1px solid var(--border);
}
.nav-inner{
    max-width:1140px; margin:0 auto; padding:0 28px;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.nav-brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.brand-icon{ width:30px; height:30px; border-radius:8px; transition:transform .35s var(--ease-out); }
.nav-brand:hover .brand-icon{ transform:rotate(-8deg) scale(1.08); }
.brand-name{ font-size:.96rem; font-weight:700; letter-spacing:-.005em; }
.brand-version{
    font-family:var(--mono); font-size:.66rem; font-weight:500;
    color:#fff; letter-spacing:.12em; text-transform:lowercase;
    opacity:.4; transition:opacity .3s var(--ease-out);
}
.brand-version:hover{ opacity:.75; }

.nav-links{ display:flex; gap:2px; }
.nav-links a{
    font-size:.85rem; font-weight:500; color:var(--text-sub); padding:7px 14px; border-radius:8px;
    transition:all .2s var(--ease-out); letter-spacing:.005em;
}
.nav-links a:hover{ color:var(--text); background:rgba(255,255,255,.04); }

.nav-right{ display:flex; align-items:center; gap:6px; }
.nav-gh{
    width:34px; height:34px; display:flex; align-items:center; justify-content:center;
    border:1px solid var(--border); border-radius:9px; color:var(--text-sub);
    transition:all .2s var(--ease-out);
}
.nav-gh svg{ width:16px; height:16px; }
.nav-gh:hover{ color:var(--text); border-color:var(--border-hi); background:rgba(255,255,255,.04); }

/* 主题切换按钮 */
.theme-btn{
    width:34px; height:34px; display:flex; align-items:center; justify-content:center;
    border:1px solid var(--border); border-radius:9px; color:var(--text-sub);
    background:transparent; cursor:pointer; position:relative; overflow:hidden;
    transition:all .25s var(--ease-out);
}
.theme-btn:hover{ color:var(--text); border-color:var(--border-hi); background:rgba(255,255,255,.04); }
.theme-btn svg{ width:16px; height:16px; position:absolute; transition:transform .45s var(--ease-out), opacity .3s; }
.tb-sun{ transform:rotate(90deg) scale(.3); opacity:0; }
.tb-moon{ transform:rotate(0) scale(1); opacity:1; }
html[data-theme="light"] .tb-sun{ transform:rotate(0) scale(1); opacity:1; }
html[data-theme="light"] .tb-moon{ transform:rotate(-90deg) scale(.3); opacity:0; }

/* 语言下拉 */
.lang-dropdown{ position:relative; z-index:200; }
.lang-btn{
    display:flex; align-items:center; gap:6px; padding:7px 12px 7px 11px;
    background:transparent; border:1px solid var(--border); border-radius:9px;
    cursor:pointer; color:var(--text-sub); font-family:var(--sans); font-size:.8rem; font-weight:500;
    transition:all .2s var(--ease-out); white-space:nowrap;
}
.lang-btn:hover{ border-color:var(--border-hi); color:var(--text); background:rgba(255,255,255,.03); }
.lang-globe{ width:14px; height:14px; opacity:.6; } .lang-btn:hover .lang-globe{ opacity:.9; }
.lang-arrow{ width:11px; height:11px; transition:transform .3s var(--ease-out); opacity:.5; }
.lang-dropdown.open .lang-arrow{ transform:rotate(180deg); opacity:.8; }
.lang-current{ line-height:1; }

.lang-menu{
    position:absolute; top:calc(100% + 8px); right:0; width:200px;
    background:rgba(10, 15, 26, .96); border:1px solid var(--border-hi); border-radius:12px; padding:6px;
    opacity:0; visibility:hidden; transform:translateY(-8px) scale(.97);
    transition:all .25s var(--ease-out);
    box-shadow:0 20px 50px rgba(0,0,0,.5), 0 0 0 1px rgba(var(--accent-rgb), .04);
    backdrop-filter:blur(24px) saturate(1.4); z-index:300;
}
.lang-menu::before{
    content:''; position:absolute; top:-6px; right:18px; width:12px; height:12px;
    background:rgba(10, 15, 26, .96); border-left:1px solid var(--border-hi); border-top:1px solid var(--border-hi);
    transform:rotate(45deg);
}
.lang-dropdown.open .lang-menu{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.lang-menu-header{ font-family:var(--mono); font-size:.6rem; color:var(--text-dim); text-transform:uppercase; letter-spacing:.15em; padding:10px 12px 4px; }

.lang-opt{
    display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px;
    background:none; border:1px solid transparent; border-radius:9px; cursor:pointer; transition:all .2s;
}
.opt-name{ font-size:.86rem; font-weight:600; }
.opt-sub{ font-size:.7rem; color:var(--text-dim); margin-top:1px; }
.opt-check{ width:15px; height:15px; margin-left:auto; flex-shrink:0; opacity:0; transform:scale(.4) translateX(4px); transition:all .25s var(--ease-out); color:var(--accent-bright); }
.lang-opt:hover{ background:rgba(255,255,255,.03); }
.lang-opt.active .opt-name{ color:var(--accent-bright); }
.lang-opt.active .opt-check{ opacity:1; transform:scale(1) translateX(0); }

/* 汉堡菜单 */
.nav-menu-btn{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:34px; height:34px; background:none; border:1px solid var(--border); border-radius:8px; cursor:pointer; padding:0 8px;
}
.nav-menu-btn i{ display:block; height:1.5px; background:var(--text-sub); border-radius:1px; transition:all .3s; }
.nav-menu-btn.active i:nth-child(1){ transform:rotate(45deg) translate(4px,4px); }
.nav-menu-btn.active i:nth-child(2){ opacity:0; }
.nav-menu-btn.active i:nth-child(3){ transform:rotate(-45deg) translate(4px,-4px); }

@media(max-width:880px){
    .nav-links{ display:none; position:absolute; top:calc(100%+8px); left:28px; right:28px; flex-direction:column; background:var(--bg-elev); border:1px solid var(--border); border-radius:12px; padding:8px; backdrop-filter:blur(20px); }
    .nav-links.open{ display:flex; }
    .nav-links a{ padding:11px 14px; }
    .nav-menu-btn{ display:flex; }
}

/* ==================== HERO ==================== */
.hero{
    position:relative; width:100%; min-height:100vh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center;
    padding:140px 28px 110px; z-index:2; overflow:hidden;
}

.hero-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.hero-bg-img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center;
    filter:blur(18px) saturate(.9) brightness(.55); opacity:.5;
    will-change:transform;
}
.hero-bg-overlay{
    position:absolute; inset:0;
    background:
        radial-gradient(ellipse at 50% 20%, rgba(var(--accent-rgb), .08) 0%, transparent 60%),
        linear-gradient(180deg, rgba(5, 8, 16, .35) 0%, rgba(5, 8, 16, .65) 60%, var(--bg) 100%);
}
.hero-bg-glow{
    position:absolute; border-radius:50%; filter:blur(110px); opacity:.22;
    will-change:transform;
}
.hero-bg-glow-1{ width:520px; height:520px; top:-10%; right:-8%; background:var(--aurora-green); }
.hero-bg-glow-2{ width:440px; height:440px; bottom:10%; right:32%; background:var(--aurora-purple); }
.hero-bg-glow-3{ width:380px; height:380px; top:55%; left:-5%; background:var(--aurora-cyan); }

.hero-content{ position:relative; z-index:3; width:100%; max-width:780px; margin:0 auto; }

.hero-badge{
    display:inline-flex; align-items:center; gap:8px;
    font-size:.78rem; color:var(--text-sub);
    padding:7px 16px; border-radius:100px;
    border:1px solid var(--border); background:rgba(255,255,255,.025);
    margin-bottom:30px; backdrop-filter:blur(8px);
}
.hero-badge-dot{
    width:6px; height:6px; border-radius:50%; background:var(--aurora-cyan);
    box-shadow:0 0 8px var(--aurora-cyan); animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{ opacity:.6; transform:scale(1); } 50%{ opacity:1; transform:scale(1.2); } }

.hero-title{ margin-bottom:26px; }
.title-text{
    display:block; font-size:clamp(2.4rem, 5.4vw, 4rem); font-weight:800;
    line-height:1.05; letter-spacing:-.04em; margin-bottom:14px;
    background:linear-gradient(135deg, var(--aurora-cyan) 0%, var(--aurora-green) 50%, var(--aurora-purple) 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    cursor:pointer; outline:none;
    transition:opacity .35s var(--ease-out), transform .25s var(--ease-out), filter .3s var(--ease-out);
}
.title-text:hover{ filter:brightness(1.15) saturate(1.1); }
.title-text:focus-visible{ filter:brightness(1.2) saturate(1.15); }
.title-text.is-swapping{ opacity:0; transform:translateY(4px); }
.title-sub{
    display:block; font-size:clamp(1.05rem,1.9vw,1.3rem); font-weight:500;
    color:var(--text-sub); letter-spacing:-.005em; margin-bottom:8px;
}
.hero-ver{
    display:inline-block; font-family:var(--mono); font-size:.74rem; font-weight:500;
    color:#fff; letter-spacing:.12em; text-transform:lowercase; opacity:.5;
    transition:opacity .3s var(--ease-out);
}
.hero-ver:hover{ opacity:.8; }

.title-text:empty, .title-sub:empty, .hero-ver:empty, #heroIntro:empty, .brand-version:empty{
    opacity:0; pointer-events:none;
}
.title-sub, .hero-ver, #heroIntro, .brand-version{ transition:opacity .45s var(--ease-out); }

.hero-desc{
    font-size:1.04rem; color:var(--text-sub); line-height:1.7; max-width:560px; margin:0 auto 34px;
}
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-bottom:34px; }

.btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--sans); font-size:.92rem; font-weight:600;
    padding:14px 28px; border-radius:11px; cursor:pointer;
    transition:all .25s var(--ease-out); border:none; letter-spacing:.005em;
}
.btn svg{ width:16px; height:16px; flex-shrink:0; }
.btn-primary{
    background:linear-gradient(180deg, var(--accent-bright) 0%, var(--accent) 100%);
    color:#050810;
    box-shadow:0 6px 28px rgba(var(--accent-rgb), .32), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 40px rgba(var(--accent-rgb), .42), inset 0 1px 0 rgba(255,255,255,.3);
}
.btn-ghost{
    background:transparent; color:var(--text-sub); border:1px solid var(--border);
    backdrop-filter:blur(8px);
}
.btn-ghost:hover{ color:var(--text); border-color:var(--border-hi); background:rgba(255,255,255,.025); }

.hero-meta{ display:flex; flex-wrap:wrap; gap:22px; justify-content:center; }
.meta-item{
    display:flex; align-items:center; gap:7px;
    font-size:.84rem; color:var(--text-sub);
}
.meta-item svg{ width:14px; height:14px; color:var(--aurora-green); flex-shrink:0; }

.hero-scroll-hint{
    position:absolute; bottom:42px; left:50%;
    transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:10px; z-index:3;
}
.hsh-text{
    font-size:.68rem; letter-spacing:.32em; text-transform:uppercase;
    color:var(--text-dim); font-weight:500;
}
.hsh-line{
    width:1px; height:46px; background:linear-gradient(180deg, var(--text-dim), transparent);
    position:relative; overflow:hidden;
}
.hsh-line::after{
    content:""; position:absolute; top:0; left:0; width:100%; height:14px;
    background:var(--aurora-cyan);
    animation:hshSlide 1.8s var(--ease-out) infinite;
}
@keyframes hshSlide{
    0%{ transform:translateY(-14px); opacity:0; }
    20%{ opacity:1; }
    80%{ opacity:1; }
    100%{ transform:translateY(46px); opacity:0; }
}

/* ==================== STATS ==================== */
.stats{ position:relative; z-index:2; padding:32px 0; }
.stats-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:1px;
    background:var(--border); border:1px solid var(--border); border-radius:18px;
    overflow:hidden;
}
.stat-card{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
    padding:32px 18px; background:var(--bg-card); text-align:center;
    transition:background .35s var(--ease-out); position:relative; overflow:hidden;
}
.stat-card::before{
    content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:80%; height:1px;
    background:linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity:0; transition:opacity .35s;
}
.stat-card:hover{ background:linear-gradient(180deg, rgba(var(--accent-rgb), .04), var(--bg-card)); }
.stat-card:hover::before{ opacity:.6; }
.stat-num{
    display:flex; align-items:baseline; gap:2px;
    font-family:var(--mono); font-size:2.6rem; font-weight:700;
    line-height:1; letter-spacing:-.02em;
    background:linear-gradient(135deg, var(--aurora-cyan), var(--aurora-green));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.stat-num i{ font-style:normal; font-size:1.6rem; -webkit-text-fill-color:var(--aurora-cyan); }
.stat-label{ font-size:.84rem; color:var(--text); font-weight:600; letter-spacing:.01em; }
.stat-sub{ font-size:.74rem; color:var(--text-dim); font-family:var(--mono); letter-spacing:.02em; }

@media(max-width:720px){
    .stats-grid{ grid-template-columns:repeat(2, 1fr); border-radius:14px; }
    .stat-num{ font-size:2rem; }
    .stat-card{ padding:24px 12px; }
}

/* ==================== SECTIONS ==================== */
.section{ position:relative; z-index:2; padding:120px 0; }
.sec-head{ margin-bottom:64px; text-align:center; }
.sec-eyebrow{
    display:inline-block; font-family:var(--mono); font-size:.7rem;
    color:var(--aurora-cyan); text-transform:uppercase; letter-spacing:.24em;
    padding:6px 14px; border-radius:100px;
    background:rgba(var(--accent-rgb), .08); border:1px solid rgba(var(--accent-rgb), .18);
    margin-bottom:18px; font-weight:600;
}
.sec-title{ font-size:clamp(1.9rem,3.6vw,2.6rem); font-weight:800; letter-spacing:-.03em; margin-bottom:16px; }
.sec-desc{ font-size:1.02rem; color:var(--text-sub); max-width:580px; margin:0 auto; line-height:1.7; }

/* Reveal - 滚动渐入 */
.reveal{
    opacity:0; transform:translateY(40px);
    transition:opacity .9s cubic-bezier(.16, 1, .3, 1), transform .9s cubic-bezier(.16, 1, .3, 1);
}
.reveal.visible{ opacity:1; transform:translateY(0); }

.hero-content .hero-badge.reveal{ transition-delay:.1s; }
.hero-content .hero-title.reveal{ transition-delay:0s; }
.hero-content .hero-desc.reveal{ transition-delay:.25s; }
.hero-content .hero-actions.reveal{ transition-delay:.4s; }
.hero-content .hero-meta.reveal{ transition-delay:.55s; }

/* CYSO Core 流程节点依次点亮 */
.core-flow .flow-node{ transition:all .5s cubic-bezier(.16, 1, .3, 1); }
.core-flow .flow-node{ opacity:0; transform:translateY(14px); }
.core-flow.visible .flow-node{ opacity:1; transform:translateY(0); }
.core-flow.visible .flow-node:nth-of-type(1){ transition-delay:.15s; }
.core-flow.visible .flow-node:nth-of-type(3){ transition-delay:.25s; }
.core-flow.visible .flow-node:nth-of-type(5){ transition-delay:.35s; }
.core-flow.visible .flow-node:nth-of-type(7){ transition-delay:.45s; }
.core-flow.visible .flow-node:nth-of-type(9){ transition-delay:.55s; }
.core-flow.visible .flow-outcomes{ opacity:0; animation:fade-up .7s cubic-bezier(.16, 1, .3, 1) .8s forwards; }
.flow-outcomes{ opacity:0; }
@keyframes fade-up{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }

@media (prefers-reduced-motion: reduce){
    .reveal, .core-flow .flow-node, .flow-outcomes, .hsh-line::after, .hero-badge-dot{
        transition-duration:.01ms !important; animation:none !important;
    }
}

/* ==================== FEATURES (Bento) ==================== */
.feat-grid{
    display:grid; grid-template-columns:repeat(12, 1fr); gap:18px;
}
.feat-card{
    grid-column:span 4;
    display:flex; flex-direction:column;
    background:linear-gradient(180deg, rgba(255,255,255,.015), transparent), var(--bg-card);
    border:1px solid var(--border); border-radius:18px;
    padding:26px 24px; transition:all .35s var(--ease-out);
    position:relative; overflow:hidden;
}
.feat-card::before{
    content:''; position:absolute; top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity:0; transition:opacity .35s;
}
.feat-card:hover{
    border-color:var(--border-hi); transform:translateY(-3px);
}
.feat-card:hover::before{ opacity:.6; }

.feat-card-top{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    margin-bottom:18px;
}
.feat-icon{
    width:44px; height:44px; border-radius:11px;
    background:rgba(var(--accent-rgb), .08); color:var(--accent-bright);
    display:flex; align-items:center; justify-content:center;
    transition:all .35s var(--ease-out); flex-shrink:0;
}
.feat-icon svg{ width:22px; height:22px; }
.feat-card:hover .feat-icon{
    background:rgba(var(--accent-rgb), .14); transform:scale(1.06);
}
.feat-icon-gradient{
    background:linear-gradient(135deg, rgba(var(--accent-rgb), .15), rgba(var(--purple-rgb), .15));
    color:var(--aurora-cyan);
}

.feat-tag{
    font-family:var(--mono); font-size:.66rem; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
    padding:4px 10px; border-radius:6px;
    background:rgba(var(--accent-rgb), .08); color:var(--aurora-cyan);
    border:1px solid rgba(var(--accent-rgb), .18);
}

.feat-card h3{ font-size:1.05rem; font-weight:700; margin-bottom:8px; letter-spacing:-.005em; }
.feat-card p{ font-size:.86rem; color:var(--text-sub); line-height:1.6; }
.feat-card-body{ flex:1; display:flex; flex-direction:column; }

/* 尺寸变体 */
.feat-xl{ grid-column:span 8; padding:30px 28px; }
.feat-md{ grid-column:span 4; }
.feat-sm{ grid-column:span 4; }
.feat-full{ grid-column:span 12; flex-direction:row; align-items:center; gap:20px; padding:26px 32px; }
.feat-full .feat-icon{ margin-bottom:0; }
.feat-full h3{ font-size:1.12rem; margin-bottom:4px; }
.feat-full p{ font-size:.9rem; }

.feat-core .feat-card-body p{ font-size:.95rem; max-width:480px; margin-bottom:4px; }

/* CORE 大卡内的权限矩阵 */
.core-mini{
    display:flex; flex-direction:column; gap:8px; margin-top:22px;
    padding-top:18px; border-top:1px solid var(--border);
}
.cm-row{ display:grid; grid-template-columns:88px 1fr; gap:14px; align-items:center; }
.cm-cat{
    font-size:.78rem; color:var(--text-sub); font-weight:600;
    letter-spacing:.01em; line-height:1.3;
}
.cm-tags{ display:flex; flex-wrap:wrap; gap:5px; }
.cm-tag{
    display:inline-flex; align-items:center;
    padding:3px 10px; font-size:.72rem; font-weight:500;
    background:rgba(var(--accent-rgb), .07); color:var(--text);
    border:1px solid rgba(var(--accent-rgb), .14); border-radius:6px;
    letter-spacing:.01em; transition:all .25s var(--ease-out);
}
.feat-core:hover .cm-tag{
    background:rgba(var(--accent-rgb), .12);
    border-color:rgba(var(--accent-rgb), .22);
}

/* 双主题色环 */
.theme-switch{
    display:flex; gap:8px; margin-top:auto; padding-top:18px;
}
.ts-circ{
    width:22px; height:22px; border-radius:50%;
    box-shadow:0 4px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.2);
    transition:transform .35s var(--ease-out);
}
.feat-themes:hover .ts-circ{ transform:translateY(-2px) scale(1.06); }
.ts-c1{ background:radial-gradient(circle at 30% 30%, #5ee0f0, var(--aurora-cyan)); }
.ts-c2{ background:radial-gradient(circle at 30% 30%, #6cf2bc, var(--aurora-green)); }
.ts-c3{ background:radial-gradient(circle at 30% 30%, #b88aff, var(--aurora-purple)); }
.ts-c4{ background:radial-gradient(circle at 30% 30%, #ffbccc, var(--aurora-pink)); }

/* 开源横幅链接 */
.feat-open-link{
    display:inline-flex; align-items:center; gap:8px;
    font-size:.86rem; font-weight:600; color:var(--accent-bright);
    padding:10px 20px; border-radius:10px;
    background:rgba(var(--accent-rgb), .08); border:1px solid rgba(var(--accent-rgb), .18);
    transition:all .25s var(--ease-out); flex-shrink:0;
}
.feat-open-link svg{ width:14px; height:14px; transition:transform .25s var(--ease-out); }
.feat-open-link:hover{ background:rgba(var(--accent-rgb), .14); border-color:rgba(var(--accent-rgb), .3); transform:translateX(2px); }
.feat-open-link:hover svg{ transform:translateX(3px); }

@media(max-width:980px){
    .feat-grid{ grid-template-columns:repeat(6, 1fr); }
    .feat-xl{ grid-column:span 6; }
    .feat-md, .feat-sm{ grid-column:span 3; }
    .feat-full{ grid-column:span 6; }
    .cm-row{ grid-template-columns:74px 1fr; }
}
@media(max-width:560px){
    .feat-grid{ grid-template-columns:1fr; }
    .feat-xl, .feat-md, .feat-sm, .feat-full{ grid-column:span 1; }
    .feat-full{ flex-direction:column; text-align:center; }
    .cm-row{ grid-template-columns:1fr; gap:6px; }
}

/* ==================== CYSO CORE ==================== */
.sec-core{ position:relative; }

/* 4 大权限分组 */
.core-groups{
    display:grid; grid-template-columns:repeat(5, 1fr); gap:14px;
    margin-bottom:48px;
}
.core-group{
    display:flex; align-items:center; gap:14px;
    padding:18px; background:var(--bg-card); border:1px solid var(--border); border-radius:14px;
    transition:all .35s var(--ease-out);
}
.core-group:hover{
    border-color:var(--border-hi); transform:translateY(-2px);
    background:linear-gradient(180deg, rgba(var(--accent-rgb), .02), var(--bg-card));
}
.cg-icon{
    width:40px; height:40px; border-radius:10px;
    background:rgba(var(--accent-rgb), .08); color:var(--accent-bright);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:all .35s var(--ease-out);
}
.cg-icon svg{ width:19px; height:19px; }
.core-group:hover .cg-icon{ background:rgba(var(--accent-rgb), .14); transform:scale(1.05); }
.cg-body h3{ font-size:.94rem; font-weight:700; margin-bottom:2px; }
.cg-body p{ font-size:.74rem; color:var(--text-dim); font-family:var(--mono); letter-spacing:.02em; }

@media(max-width:980px){ .core-groups{ grid-template-columns:repeat(3, 1fr); } }
@media(max-width:560px){ .core-groups{ grid-template-columns:repeat(2, 1fr); } .cg-body h3{ font-size:.86rem; } }

/* 决策流程 */
.core-flow{
    padding:36px 32px; background:var(--bg-card); border:1px solid var(--border); border-radius:18px;
    position:relative; overflow:hidden;
}
.core-flow::before{
    content:''; position:absolute; top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--aurora-cyan), transparent);
    opacity:.5;
}
.flow-head{ text-align:center; margin-bottom:32px; }
.flow-head h3{ font-size:1.18rem; font-weight:700; margin-bottom:6px; }
.flow-head p{ font-size:.88rem; color:var(--text-sub); }

.flow-track{
    display:flex; align-items:stretch; justify-content:space-between; gap:8px;
    margin-bottom:32px;
}
.flow-node{
    flex:1; padding:20px 18px;
    background:rgba(var(--accent-rgb), .03); border:1px solid var(--border); border-radius:12px;
    text-align:center; transition:all .35s var(--ease-out);
}
.flow-node:hover{ border-color:var(--border-hi); background:rgba(var(--accent-rgb), .06); }
.flow-decision{
    background:linear-gradient(135deg, rgba(var(--accent-rgb), .08), rgba(var(--green-rgb), .05));
    border-color:rgba(var(--accent-rgb), .25);
}
.fn-num{
    font-family:var(--mono); font-size:.66rem; color:var(--aurora-cyan);
    letter-spacing:.15em; margin-bottom:8px;
}
.fn-t{ font-size:.98rem; font-weight:700; margin-bottom:4px; }
.fn-d{ font-size:.78rem; color:var(--text-sub); }

.flow-arrow{
    width:40px; height:auto; flex-shrink:0; align-self:center;
    color:var(--text-dim); opacity:.5;
}

/* 三种处置结果 */
.flow-outcomes{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
    padding-top:28px; border-top:1px dashed var(--border);
}
.outcome{
    display:flex; align-items:flex-start; gap:12px;
    padding:16px 18px; background:rgba(255,255,255,.02); border-radius:11px;
    border:1px solid var(--border); transition:all .3s var(--ease-out);
}
.outcome:hover{ border-color:var(--border-hi); }
.oc-dot{
    width:9px; height:9px; border-radius:50%; margin-top:6px; flex-shrink:0;
    box-shadow:0 0 0 3px rgba(255,255,255,.02);
}
.outcome-allow .oc-dot{ background:var(--aurora-green); box-shadow:0 0 12px rgba(var(--green-rgb), .5), 0 0 0 3px rgba(var(--green-rgb), .08); }
.outcome-ask .oc-dot{ background:#fbbf24; box-shadow:0 0 12px rgba(251, 191, 36, .5), 0 0 0 3px rgba(251, 191, 36, .08); }
.outcome-deny .oc-dot{ background:#f87171; box-shadow:0 0 12px rgba(248, 113, 113, .5), 0 0 0 3px rgba(248, 113, 113, .08); }
.oc-body strong{ display:block; font-size:.92rem; font-weight:700; margin-bottom:3px; }
.oc-body span{ display:block; font-size:.78rem; color:var(--text-sub); line-height:1.5; }

@media(max-width:720px){
    .core-flow{ padding:28px 20px; }
    .flow-track{ flex-direction:column; }
    .flow-arrow{ transform:rotate(90deg); align-self:center; }
    .flow-outcomes{ grid-template-columns:1fr; }
}

/* ==================== WORKFLOW ==================== */
.wf-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
    position:relative;
}
.wf-step{
    position:relative; padding:28px 24px; background:var(--bg-card);
    border:1px solid var(--border); border-radius:16px;
    transition:all .35s var(--ease-out);
}
.wf-step:hover{
    border-color:var(--border-hi); transform:translateY(-3px);
    background:linear-gradient(180deg, rgba(var(--accent-rgb), .02), var(--bg-card));
}
.wf-num{
    font-family:var(--mono); font-size:.74rem; font-weight:700;
    color:var(--aurora-cyan); letter-spacing:.15em;
    margin-bottom:14px; display:flex; align-items:center; gap:6px;
}
.wf-num::after{
    content:''; flex:1; height:1px;
    background:linear-gradient(90deg, rgba(var(--accent-rgb), .4), transparent);
}
.wf-step h3{ font-size:1.04rem; font-weight:700; margin-bottom:8px; letter-spacing:-.005em; }
.wf-step p{ font-size:.86rem; color:var(--text-sub); line-height:1.6; }

@media(max-width:880px){ .wf-grid{ grid-template-columns:repeat(2, 1fr); } }
@media(max-width:480px){ .wf-grid{ grid-template-columns:1fr; } }

/* ==================== DOWNLOAD ==================== */
.dl-area{ max-width:860px; margin:0 auto; }

/* ===== 顶部推荐 ===== */
.dl-recommend{ margin-bottom:28px; }
.dl-rec-card{
    position:relative; display:flex; align-items:center; gap:18px;
    padding:24px 30px; border-radius:18px; cursor:pointer;
    background:linear-gradient(135deg, rgba(var(--accent-rgb), .12), rgba(var(--green-rgb), .06)), var(--bg-card);
    border:1px solid rgba(var(--accent-rgb), .32);
    transition:all .3s var(--ease-out); overflow:hidden;
}
.dl-rec-card::after{
    content:''; position:absolute; inset:0; border-radius:18px; pointer-events:none;
    box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .35);
}
.dl-rec-card:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 50px rgba(0,0,0,.4), 0 0 80px -14px rgba(var(--accent-rgb), .45);
}
.dl-rec-icon{
    width:58px; height:58px; border-radius:14px; flex-shrink:0;
    background:rgba(var(--accent-rgb), .14); color:var(--accent-bright);
    display:flex; align-items:center; justify-content:center;
}
.dl-rec-icon svg{ width:30px; height:30px; }
.dl-rec-info{ flex:1; min-width:0; }
.dl-rec-tag{
    display:inline-flex; align-items:center; gap:6px;
    font-size:.7rem; font-weight:700; letter-spacing:.12em;
    color:#050810; background:var(--accent-bright);
    padding:2px 10px; border-radius:999px; margin-bottom:8px;
    box-shadow:0 4px 14px -4px rgba(var(--accent-rgb), .7);
}
.dl-rec-name{ font-size:1.18rem; font-weight:700; display:block; }
.dl-rec-sub{ font-size:.84rem; color:var(--text-sub); margin-top:2px; }
.dl-rec-go{
    display:flex; align-items:center; gap:8px; flex-shrink:0;
    font-size:.86rem; font-weight:600; color:var(--accent-bright);
}
.dl-rec-go svg{ width:18px; height:18px; transition:transform .3s var(--ease-out); }
.dl-rec-card:hover .dl-rec-go svg{ transform:translateX(4px); }

/* ===== 平台选项卡 ===== */
.dl-tabs{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.dl-tab{
    display:flex; align-items:center; justify-content:center; gap:10px;
    padding:18px 14px; border-radius:14px; cursor:pointer;
    background:var(--bg-card); border:1px solid var(--border);
    color:var(--text); font-family:var(--sans); font-size:.95rem; font-weight:600;
    transition:all .3s var(--ease-out);
}
.dl-tab svg{ width:20px; height:20px; color:var(--text-sub); transition:color .3s; }
.dl-tab:hover{ border-color:var(--border-hi); transform:translateY(-2px); background:linear-gradient(180deg, rgba(var(--accent-rgb),.04), var(--bg-card)); }
.dl-tab:hover svg{ color:var(--accent-bright); }
.dl-tab.is-disabled{ opacity:.5; cursor:not-allowed; }
.dl-tab.is-disabled:hover{ transform:none; border-color:var(--border); }
.dl-tab .dl-tab-soon{ font-size:.68rem; font-weight:500; color:var(--text-dim); margin-left:2px; }

/* ===== 下载选择弹窗 ===== */
.dl-modal{
    position:fixed; inset:0; z-index:300;
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none; transition:opacity .35s var(--ease-out);
    padding:24px;
}
.dl-modal.is-open{ opacity:1; pointer-events:auto; }
.dlm-backdrop{ position:absolute; inset:0; background:rgba(6,9,18,.7); backdrop-filter:blur(20px) saturate(.85); }
.dlm-panel{
    position:relative; z-index:1;
    width:min(580px, 100%); max-height:min(86vh, 740px);
    display:flex; flex-direction:column;
    background:linear-gradient(180deg, rgba(18,22,36,.97), rgba(10,14,24,.98));
    border:1px solid rgba(255,255,255,.08); border-radius:22px;
    box-shadow:0 36px 90px rgba(0,0,0,.65), 0 0 100px rgba(var(--accent-rgb),.06);
    overflow:hidden;
    transform:translateY(24px) scale(.97);
    transition:transform .5s var(--ease-out);
}
.dlm-panel::before{
    content:''; position:absolute; top:0; left:24px; right:24px; height:1px;
    background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb),.55), transparent);
}
.dl-modal.is-open .dlm-panel{ transform:translateY(0) scale(1); }
.dlm-head{
    display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
    padding:30px 32px 22px;
}
.dlm-name{ font-size:1.4rem; font-weight:700; margin-bottom:6px; letter-spacing:-.02em; }
.dlm-step{ font-size:.84rem; color:var(--text-sub); }
.dlm-close{
    width:36px; height:36px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background:transparent; border:1px solid rgba(255,255,255,.08); border-radius:10px;
    color:var(--text-dim); cursor:pointer; transition:all .25s;
}
.dlm-close:hover{ color:var(--text); background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.15); }
.dlm-close svg{ width:16px; height:16px; }
.dlm-body{ flex:1 1 auto; overflow-y:auto; padding:6px 32px 32px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.08) transparent; }
.dlm-body::-webkit-scrollbar{ width:4px; }
.dlm-body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.08); border-radius:2px; }

.dlm-methods{ display:flex; flex-direction:column; gap:10px; }
.dlm-method{
    display:flex; align-items:center; gap:14px;
    padding:16px 18px; border-radius:12px; cursor:pointer;
    background:rgba(255,255,255,.02); border:1px solid var(--border);
    color:var(--text); font-family:var(--sans); font-size:.94rem; font-weight:600;
    text-align:left; transition:all .25s var(--ease-out); width:100%;
}
.dlm-method:hover{ border-color:rgba(var(--accent-rgb),.4); background:rgba(var(--accent-rgb),.07); transform:translateX(2px); }
.dlm-method.active{ border-color:var(--accent-bright); background:rgba(var(--accent-rgb),.1); }
.dlm-method-num{
    width:30px; height:30px; border-radius:8px; flex-shrink:0;
    background:rgba(var(--accent-rgb),.12); color:var(--accent-bright);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--mono); font-size:.72rem; font-weight:700;
}
.dlm-method-name small{ font-size:.72rem; font-weight:500; color:var(--text-dim); }
.dlm-method-arrow{ margin-left:auto; color:var(--text-dim); }
.dlm-method-arrow svg{ width:16px; height:16px; }

.dlm-back{
    display:inline-flex; align-items:center; gap:6px;
    background:none; border:none; cursor:pointer;
    font-family:var(--sans); font-size:.8rem; font-weight:600;
    color:var(--text-sub); padding:0 0 14px; transition:color .2s;
}
.dlm-back:hover{ color:var(--accent-bright); }
.dlm-back svg{ width:14px; height:14px; }
.dlm-archs{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dlm-arch{
    display:flex; align-items:center; gap:12px;
    padding:16px 18px; border-radius:12px; text-decoration:none;
    background:rgba(255,255,255,.02); border:1px solid var(--border);
    color:var(--text); transition:all .25s var(--ease-out);
}
.dlm-arch:hover{ border-color:var(--accent-bright); background:rgba(var(--accent-rgb),.08); transform:translateY(-2px); box-shadow:0 12px 30px -14px rgba(var(--accent-rgb),.5); }
.dlm-arch strong{ display:block; font-size:.95rem; font-weight:700; }
.dlm-arch span{ font-size:.76rem; color:var(--text-dim); }
.dlm-arch-go{ margin-left:auto; color:var(--accent-bright); }
.dlm-arch-go svg{ width:16px; height:16px; }
.dlm-soon{
    padding:36px 24px; text-align:center; color:var(--text-sub); font-size:.9rem;
    border:1px dashed var(--border-hi); border-radius:12px;
}

/* 代理选择 */
.dlm-proxy{ margin-top:22px; padding-top:18px; border-top:1px dashed var(--border); }
.dlm-proxy-head{ display:flex; flex-direction:column; gap:2px; margin-bottom:12px; }
.dlm-proxy-head strong{ font-size:.86rem; font-weight:700; }
.dlm-proxy-head span{ font-size:.74rem; color:var(--text-dim); }
.dlm-proxy-opts{ display:flex; flex-wrap:wrap; gap:8px; }
.dlm-proxy-opt{
    padding:6px 14px; border-radius:8px; cursor:pointer;
    background:rgba(255,255,255,.02); border:1px solid var(--border);
    color:var(--text-sub); font-family:var(--mono); font-size:.74rem;
    transition:all .2s var(--ease-out);
}
.dlm-proxy-opt:hover{ border-color:rgba(var(--accent-rgb),.35); color:var(--text); }
.dlm-proxy-opt.active{
    border-color:var(--accent-bright); color:var(--accent-bright);
    background:rgba(var(--accent-rgb),.12);
}

/* 更多版本 */
.dlm-more{
    display:inline-flex; align-items:center; gap:7px; margin-top:18px;
    font-size:.82rem; font-weight:600; color:var(--text-sub);
    text-decoration:none; transition:color .2s;
}
.dlm-more:hover{ color:var(--accent-bright); }
.dlm-more svg{ width:14px; height:14px; }

.dl-note{ text-align:center; font-size:.84rem; color:var(--text-dim); margin-top:28px; }

@media(max-width:560px){
    .dl-tabs{ grid-template-columns:1fr; }
    .dl-rec-card{ padding:18px 20px; }
    .dl-rec-go{ display:none; }
    .dlm-archs{ grid-template-columns:1fr; }
    .dlm-body{ padding:6px 22px 24px; }
    .dlm-head{ padding:24px 22px 18px; }
}

/* ==================== ABOUT ==================== */
.sec-about{ padding:96px 0; }
.about-wrap{
    max-width:780px; margin:0 auto; text-align:center;
    padding:54px 44px; background:linear-gradient(180deg, rgba(255,255,255,.02), transparent), var(--bg-card);
    border:1px solid var(--border); border-radius:22px; position:relative; overflow:hidden;
}
.about-wrap::before{
    content:''; position:absolute; top:0; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--aurora-cyan), var(--aurora-green), transparent);
    opacity:.5;
}
.about-wrap::after{
    content:''; position:absolute; bottom:-50px; right:-50px; width:300px; height:300px;
    border-radius:50%; background:radial-gradient(circle, rgba(var(--accent-rgb), .06), transparent 70%);
    filter:blur(40px); pointer-events:none;
}
.about-eyebrow{
    display:inline-block; font-family:var(--mono); font-size:.7rem;
    color:var(--aurora-cyan); text-transform:uppercase; letter-spacing:.2em;
    margin-bottom:18px;
}
.about-lead{
    font-size:clamp(1.4rem, 2.8vw, 1.9rem); font-weight:700;
    line-height:1.4; letter-spacing:-.02em; color:var(--text);
    max-width:580px; margin:0 auto 28px;
}
.about-body{
    display:flex; flex-direction:column; gap:14px;
    font-size:.96rem; color:var(--text-sub); line-height:1.75; text-align:left;
    max-width:620px; margin:0 auto;
}
.about-sign{
    display:flex; align-items:center; justify-content:center; gap:14px;
    margin-top:36px; padding-top:28px;
    border-top:1px solid var(--border); position:relative; z-index:1;
}
.sig-line{
    flex:1; max-width:80px; height:1px;
    background:linear-gradient(90deg, transparent, var(--border-hi));
}
.sig-line:last-of-type{ background:linear-gradient(90deg, var(--border-hi), transparent); }
.sig-text{ font-family:var(--mono); font-size:.78rem; color:var(--text-dim); letter-spacing:.04em; }

@media(max-width:560px){
    .sec-about{ padding:72px 0 48px; }
    .about-wrap{ padding:40px 24px; }
    .about-sign{ gap:10px; }
    .sig-line{ max-width:40px; }
}

/* ==================== FOOTER ==================== */
.footer{ position:relative; z-index:2; border-top:1px solid var(--border); padding:48px 0 28px; background:linear-gradient(180deg, transparent, rgba(0,0,0,.18)); }
.ft-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap:40px; margin-bottom:32px; }
.ft-col{ display:flex; flex-direction:column; gap:14px; }
.ft-col-brand .ft-brand{ display:flex; align-items:center; gap:10px; }
.ft-icon{ width:28px; height:28px; border-radius:7px; }
.ft-name{ font-size:1.05rem; font-weight:700; color:var(--text); letter-spacing:-.01em; }
.ft-tagline{ font-size:.86rem; color:var(--text-dim); line-height:1.6; margin:0; max-width:280px; }
.ft-h{ font-size:.78rem; font-weight:600; color:var(--text-sub); text-transform:uppercase; letter-spacing:.1em; margin:0 0 4px; }
.ft-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.ft-list a{ font-size:.88rem; color:var(--text-dim); transition:color .2s; display:inline-flex; align-items:center; gap:6px; }
.ft-list a:hover{ color:var(--aurora-cyan); }
.ft-list a[data-i18n="ft.changelog"]::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--aurora-cyan); box-shadow:0 0 8px var(--aurora-cyan); animation:vpulse 2.4s ease-in-out infinite; }
.ft-bar{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-top:24px; border-top:1px solid var(--border); }
.ft-disclaimer{ font-size:.78rem; color:var(--text-dim); line-height:1.6; margin:0; max-width:680px; opacity:.8; }
.ft-copy{ font-size:.76rem; color:var(--text-dim); opacity:.7; white-space:nowrap; }

@media (max-width: 720px) {
    .ft-grid{ grid-template-columns: 1fr; gap:28px; }
    .ft-col-brand{ padding-bottom:8px; border-bottom:1px solid var(--border); }
}

@keyframes vpulse{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }

/* ============ 更新日志弹窗 ============ */
.changelog-modal{
    position:fixed; inset:0; z-index:200;
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition:opacity .35s var(--ease-out);
    padding:24px;
}
.changelog-modal.is-open{ opacity:1; pointer-events:auto; }
.clm-backdrop{
    position:absolute; inset:0;
    background:rgba(6, 9, 18, .68);
    backdrop-filter:blur(22px) saturate(.85);
    -webkit-backdrop-filter:blur(22px) saturate(.85);
}
.clm-panel{
    position:relative; z-index:1;
    width:min(660px, 100%); max-height:min(86vh, 800px);
    display:flex; flex-direction:column;
    background:linear-gradient(180deg, rgba(18, 22, 36, .95), rgba(10, 14, 24, .97));
    border:1px solid rgba(255,255,255,.07);
    border-radius:22px;
    box-shadow:
        0 36px 90px rgba(0,0,0,.65),
        0 0 100px rgba(var(--accent-rgb), .05);
    overflow:hidden;
    transform:translateY(24px) scale(.97);
    transition:transform .5s var(--ease-out);
}
.clm-panel::before{
    content:""; position:absolute; top:0; left:24px; right:24px; height:1px;
    background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .5), transparent);
    z-index:1;
}
.changelog-modal.is-open .clm-panel{ transform:translateY(0) scale(1); }

.clm-head{
    position:relative;
    display:flex; align-items:flex-start; justify-content:space-between;
    padding:32px 36px 28px; gap:16px;
}
.clm-head::after{
    content:""; position:absolute; left:36px; right:36px; bottom:0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
}
.clm-title{
    font-size:1.6rem; font-weight:300; color:var(--text);
    margin:0 0 6px; letter-spacing:-.025em; line-height:1.2;
}
.clm-title strong{ font-weight:600; color:var(--text); }
.clm-sub{
    font-size:.82rem; color:var(--text-dim); margin:0;
    letter-spacing:.02em;
}
.clm-close{
    width:36px; height:36px; display:flex; align-items:center; justify-content:center;
    background:transparent; border:1px solid rgba(255,255,255,.08);
    border-radius:10px; color:var(--text-dim); cursor:pointer;
    transition:background .25s, color .25s, border-color .25s, transform .25s var(--ease-out);
    flex-shrink:0;
}
.clm-close:hover{ background:rgba(255,255,255,.05); color:var(--text); border-color:rgba(255,255,255,.15); }
.clm-close:active{ transform:scale(.92); }
.clm-close svg{ width:16px; height:16px; }

.clm-body{
    flex:1 1 auto; overflow-y:auto; padding:8px 36px 36px;
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.08) transparent;
}
.clm-body::-webkit-scrollbar{ width:4px; }
.clm-body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.08); border-radius:2px; }

.cl-empty{
    text-align:center; color:var(--text-dim);
    padding:60px 0; font-size:.9rem; letter-spacing:.05em;
}

.cl-entry{
    display:grid; grid-template-columns:48px 1fr; gap:24px;
    padding:24px 0; position:relative;
}
.cl-entry + .cl-entry{ border-top:1px solid rgba(255,255,255,.04); }
.cl-entry:hover .cl-num{ color:var(--aurora-cyan); }
.cl-entry:hover .cl-version{ color:var(--text); }

.cl-num{
    font-family:ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;
    font-size:.78rem; font-weight:500; color:var(--text-dim);
    letter-spacing:.05em; padding-top:4px;
    transition:color .3s var(--ease-out);
}

.cl-body{ min-width:0; }
.cl-meta{
    display:flex; align-items:center; gap:10px;
    margin-bottom:10px; flex-wrap:wrap;
}
.cl-version{
    font-family:ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;
    font-size:.78rem; font-weight:600; color:var(--text-sub);
    letter-spacing:.04em;
    transition:color .3s var(--ease-out);
}
.cl-tag{
    font-size:.66rem; font-weight:500; letter-spacing:.08em;
    padding:2px 8px; border-radius:4px;
    background:rgba(var(--accent-rgb), .08);
    color:var(--aurora-cyan);
    border:1px solid rgba(var(--accent-rgb), .15);
    text-transform:uppercase;
}
.cl-tag[data-type="improvement"]{
    background:rgba(80, 220, 160, .08);
    color:var(--aurora-green);
    border-color:rgba(80, 220, 160, .15);
}
.cl-tag[data-type="release"]{
    background:rgba(180, 130, 255, .08);
    color:var(--aurora-purple);
    border-color:rgba(180, 130, 255, .15);
}
.cl-date{
    font-size:.72rem; color:var(--text-dim);
    font-family:ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;
    margin-left:auto;
    letter-spacing:.05em;
}
.cl-title{
    font-size:1.02rem; font-weight:500; color:var(--text);
    margin:0 0 12px; letter-spacing:-.005em; line-height:1.4;
}
.cl-list{
    margin:0; padding:0; list-style:none;
    display:flex; flex-direction:column; gap:6px;
}
.cl-list li{
    position:relative; padding-left:18px;
    font-size:.86rem; color:var(--text-sub); line-height:1.65;
    font-weight:400;
}
.cl-list li::before{
    content:""; position:absolute; left:0; top:.62em;
    width:8px; height:1px; background:rgba(255,255,255,.2);
    transition:background .3s, width .3s;
}
.cl-entry:hover .cl-list li::before{ background:var(--aurora-cyan); width:12px; }

@media(max-width:560px){
    .clm-head{ padding:24px 22px 20px; }
    .clm-head::after{ left:22px; right:22px; }
    .clm-body{ padding:4px 22px 24px; }
    .cl-title{ font-size:1.35rem; }
    .cl-entry{ grid-template-columns:36px 1fr; gap:16px; }
    .cl-date{ margin-left:0; width:100%; }
}

@media(max-width:520px){ .ft-bar{ flex-direction:column; text-align:center; } }

/* ==================== REDUCED MOTION ==================== */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{ animation-duration:.001ms!important; transition-duration:.001ms!important; }
    .reveal{opacity:1; transform:none;} .cursor-glow{display:none;}
}