/*
Theme Name: 靠谱副业·张靠谱
Theme URI: https://zhangkaopu.com
Author: 张靠谱
Author URI: https://zhangkaopu.com
Description: 靠谱副业·张靠谱官网主题 — 玻璃态/光效/微交互设计系统，集成课程售卖、付费图文、会员积分体系。后端对接 NestJS API，与微信小程序共用统一用户库。
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fyezhang
Tags: glassmorphism, ai-tools, course-selling, membership, geo
*/

/* ==== 以下为现有设计系统 V2，原样保留 ==== */
/* =====================================================================
   靠谱副业 · 张靠谱  —  顶级设计系统 V2
   靠谱橙 × 深墨蓝 × 暖白  ·  玻璃态 / 光效 / 微交互 / 滚动动效
   ===================================================================== */

/* ============ Design Tokens ============ */
:root{
    /* 品牌色 */
    --fyez-brand-orange:#F47A20;
    --fyez-brand-orange-deep:#C95812;
    --fyez-brand-orange-light:#FF9A4D;
    --fyez-brand-orange-soft:#FFE4CC;
    --fyez-ink:#17324D;
    --fyez-ink-strong:#0E1F33;
    --fyez-ink-deep:#07151F;
    --fyez-warm-bg:#FFF3E8;
    --fyez-warm-white:#FFFDF9;
    --fyez-gray-light:#F7F8FA;
    --fyez-gray-line:#E6EBF0;
    --fyez-text:#263648;
    --fyez-text-muted:#667788;
    --fyez-text-soft:#8C99A8;

    /* 状态色 */
    --fyez-status-passed:#2E8B57;
    --fyez-status-testing:#F47A20;
    --fyez-status-watching:#3B82C9;
    --fyez-status-history:#5C7A99;
    --fyez-status-notrec:#8C99A8;

    /* 收益模型色 */
    --fyez-rev-result:#2E8B57;
    --fyez-rev-deal:#F47A20;
    --fyez-rev-traffic:#3B82C9;
    --fyez-rev-skill:#7A4DD0;
    --fyez-rev-share:#C95812;
    --fyez-rev-asset:#17324D;

    /* 字号 */
    --fyez-fs-display:clamp(40px,6vw,72px);
    --fyez-fs-h1:clamp(32px,4vw,52px);
    --fyez-fs-h2:clamp(26px,3vw,38px);
    --fyez-fs-h3:22px;
    --fyez-fs-h4:18px;
    --fyez-fs-body:16px;
    --fyez-fs-body-sm:14px;
    --fyez-fs-caption:12px;

    /* 间距 */
    --fyez-space-1:4px;--fyez-space-2:8px;--fyez-space-3:12px;
    --fyez-space-4:16px;--fyez-space-5:20px;--fyez-space-6:24px;
    --fyez-space-8:32px;--fyez-space-10:40px;--fyez-space-12:48px;
    --fyez-space-16:64px;--fyez-space-18:72px;--fyez-space-20:80px;
    --fyez-space-24:96px;--fyez-space-28:112px;

    /* 容器 */
    --fyez-container-max:1280px;
    --fyez-container-pad:clamp(16px,4vw,32px);

    /* 圆角 */
    --fyez-radius-sm:8px;--fyez-radius-md:12px;
    --fyez-radius-card:18px;--fyez-radius-lg:24px;--fyez-radius-xl:32px;
    --fyez-radius-pill:999px;

    /* 阴影 */
    --fyez-shadow-xs:0 1px 2px rgba(23,50,77,.05);
    --fyez-shadow-sm:0 2px 8px rgba(23,50,77,.06);
    --fyez-shadow-md:0 8px 24px rgba(23,50,77,.10);
    --fyez-shadow-lg:0 16px 40px rgba(23,50,77,.12);
    --fyez-shadow-xl:0 24px 60px rgba(23,50,77,.16);
    --fyez-shadow-orange:0 12px 32px rgba(244,122,32,.22);
    --fyez-shadow-orange-lg:0 20px 50px rgba(244,122,32,.30);
    --fyez-shadow-ink:0 16px 40px rgba(14,31,51,.28);

    /* 渐变 */
    --fyez-grad-orange:linear-gradient(135deg,#F47A20 0%,#C95812 100%);
    --fyez-grad-orange-warm:linear-gradient(135deg,#FF9A4D 0%,#F47A20 50%,#C95812 100%);
    --fyez-grad-ink:linear-gradient(135deg,#17324D 0%,#0E1F33 100%);
    --fyez-grad-ink-deep:linear-gradient(160deg,#1a3a5c 0%,#0E1F33 60%,#07151F 100%);
    --fyez-grad-hero:radial-gradient(circle at 20% 20%,rgba(244,122,32,.18),transparent 45%),radial-gradient(circle at 80% 60%,rgba(59,130,201,.15),transparent 45%),linear-gradient(160deg,#fffdf9 0%,#fff3e8 100%);
    --fyez-grad-glass:linear-gradient(135deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.4) 100%);
    --fyez-grad-text-orange:linear-gradient(90deg,#F47A20,#FF9A4D);
    --fyez-grad-text-ink:linear-gradient(90deg,#17324D,#3B82C9);

    /* 动效 */
    --fyez-ease:cubic-bezier(.22,.61,.36,1);
    --fyez-ease-out:cubic-bezier(.16,1,.3,1);
    --fyez-ease-spring:cubic-bezier(.34,1.56,.64,1);
    --fyez-transition:all .25s var(--fyez-ease);
    --fyez-transition-slow:all .45s var(--fyez-ease-out);
    --fyez-transition-spring:all .5s var(--fyez-ease-spring);

    /* 字体 */
    --fyez-font-sans:"PingFang SC","Noto Sans SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --fyez-font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;
}

/* ============ Reset ============ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    font-family:var(--fyez-font-sans);
    font-size:var(--fyez-fs-body);
    line-height:1.65;
    color:var(--fyez-text);
    background:var(--fyez-warm-white);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
}
a{color:inherit;text-decoration:none;transition:var(--fyez-transition)}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}

/* ============ Layout ============ */
.fyez-container{width:100%;max-width:var(--fyez-container-max);margin-inline:auto;padding-inline:var(--fyez-container-pad)}
.fyez-container-narrow{max-width:820px;margin-inline:auto}
.fyez-section{padding-block:var(--fyez-space-24);position:relative}
.fyez-section-sm{padding-block:var(--fyez-space-16)}
.fyez-section-tight{padding-block:var(--fyez-space-12)}

/* ============ Background Effects ============ */
.fyez-bg-aurora{position:relative}
.fyez-bg-aurora::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
        radial-gradient(ellipse 60% 40% at 15% 20%,rgba(244,122,32,.10),transparent 60%),
        radial-gradient(ellipse 50% 40% at 85% 30%,rgba(59,130,201,.08),transparent 60%),
        radial-gradient(ellipse 40% 30% at 50% 90%,rgba(122,77,208,.06),transparent 60%);
}
.fyez-bg-aurora>*{position:relative;z-index:1}

.fyez-grid-pattern{
    background-image:
        linear-gradient(rgba(23,50,77,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(23,50,77,.04) 1px,transparent 1px);
    background-size:48px 48px;
}

/* ============ Header ============ */
.fyez-site-header{
    position:sticky;top:0;z-index:900;
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    background:rgba(255,253,249,.82);
    border-bottom:1px solid rgba(230,235,240,.6);
    transition:var(--fyez-transition);
}
.fyez-site-header.is-scrolled{
    background:rgba(255,253,249,.95);
    box-shadow:var(--fyez-shadow-sm);
}
.fyez-header-inner{
    max-width:var(--fyez-container-max);margin-inline:auto;
    padding:14px var(--fyez-container-pad);
    display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.fyez-logo-text{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--fyez-ink)}
.fyez-logo-mark{
    display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;
    background:var(--fyez-grad-orange);color:#fff;font-size:15px;font-weight:800;
    box-shadow:var(--fyez-shadow-orange);letter-spacing:-.5px;
    transition:var(--fyez-transition-spring);
}
.fyez-logo-text:hover .fyez-logo-mark{transform:rotate(-8deg) scale(1.08)}
.fyez-logo-name{color:var(--fyez-ink);letter-spacing:.5px}

.fyez-menu{display:flex;gap:2px;align-items:center}
.fyez-menu>li>a{
    display:block;padding:9px 14px;font-size:14px;font-weight:500;color:var(--fyez-ink);
    border-radius:10px;position:relative;
}
.fyez-menu>li>a::after{
    content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;
    background:var(--fyez-grad-orange);border-radius:2px;
    transform:translateX(-50%);transition:var(--fyez-transition);
}
.fyez-menu>li>a:hover{color:var(--fyez-brand-orange);background:var(--fyez-warm-bg)}
.fyez-menu>li>a:hover::after{width:60%}
.fyez-menu>li>a.is-active{color:var(--fyez-brand-orange);background:var(--fyez-warm-bg)}
.fyez-menu>li>a.is-active::after{width:60%}

.fyez-header-actions{display:flex;gap:8px;align-items:center}

/* ============ Buttons ============ */
.fyez-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 22px;font-size:14px;font-weight:600;border-radius:var(--fyez-radius-pill);
    transition:var(--fyez-transition-spring);cursor:pointer;white-space:nowrap;
    border:1.5px solid transparent;line-height:1.2;
}
.fyez-btn-sm{padding:7px 16px;font-size:13px}
.fyez-btn-lg{padding:15px 32px;font-size:16px}
.fyez-btn-primary{
    background:var(--fyez-grad-orange-warm);color:#fff;
    box-shadow:var(--fyez-shadow-orange);
}
.fyez-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--fyez-shadow-orange-lg)}
.fyez-btn-primary:active{transform:translateY(0)}
.fyez-btn-ghost{background:rgba(255,255,255,.6);color:var(--fyez-ink);border-color:var(--fyez-gray-line)}
.fyez-btn-ghost:hover{border-color:var(--fyez-brand-orange);color:var(--fyez-brand-orange);background:#fff}
.fyez-btn-ink{background:var(--fyez-grad-ink);color:#fff;box-shadow:var(--fyez-shadow-ink)}
.fyez-btn-ink:hover{transform:translateY(-2px);box-shadow:var(--fyez-shadow-lg)}
.fyez-btn-white{background:#fff;color:var(--fyez-ink);box-shadow:var(--fyez-shadow-sm)}
.fyez-btn-white:hover{transform:translateY(-2px);box-shadow:var(--fyez-shadow-md)}
.fyez-btn-arrow{transition:transform .3s var(--fyez-ease)}
.fyez-btn:hover .fyez-btn-arrow{transform:translateX(4px)}

/* ============ Hero ============ */
.fyez-hero{position:relative;overflow:hidden;background:var(--fyez-grad-hero)}
.fyez-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-block:64px 48px}
.fyez-hero-eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 14px;border-radius:var(--fyez-radius-pill);
    background:rgba(244,122,32,.10);color:var(--fyez-brand-orange-deep);
    font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:24px;
    border:1px solid rgba(244,122,32,.2);
}
.fyez-hero-eyebrow .pulse{
    width:7px;height:7px;border-radius:50%;background:var(--fyez-brand-orange);
    box-shadow:0 0 0 0 rgba(244,122,32,.5);animation:pulse 2s infinite;
}
.fyez-hero-title{
    font-size:var(--fyez-fs-display);font-weight:800;line-height:1.1;letter-spacing:-1.5px;
    color:var(--fyez-ink-strong);margin-bottom:20px;
}
.fyez-hero-title .hl{
    background:var(--fyez-grad-text-orange);-webkit-background-clip:text;background-clip:text;color:transparent;
    position:relative;
}
.fyez-hero-title .hl::after{
    content:"";position:absolute;left:0;bottom:6px;width:100%;height:10px;
    background:linear-gradient(90deg,rgba(244,122,32,.25),rgba(255,154,77,.05));
    border-radius:6px;z-index:-1;
}
.fyez-hero-sub{font-size:18px;color:var(--fyez-text-muted);max-width:560px;margin-bottom:28px;line-height:1.7}
.fyez-hero-sub b{color:var(--fyez-brand-orange-deep);font-weight:700}
.fyez-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.fyez-hero-trust{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.fyez-hero-trust-item{display:flex;flex-direction:column;gap:2px}
.fyez-hero-trust-num{font-size:24px;font-weight:800;color:var(--fyez-ink-strong);line-height:1;font-family:var(--fyez-font-mono)}
.fyez-hero-trust-num .unit{font-size:14px;color:var(--fyez-brand-orange);margin-left:2px}
.fyez-hero-trust-label{font-size:12px;color:var(--fyez-text-soft)}

/* Hero Visual */
.fyez-hero-visual{position:relative;height:480px}
.fyez-hero-card{
    position:absolute;border-radius:var(--fyez-radius-card);
    background:var(--fyez-grad-glass);backdrop-filter:blur(20px);
    box-shadow:var(--fyez-shadow-lg);border:1px solid rgba(255,255,255,.6);
    padding:18px;transition:var(--fyez-transition-spring);
}
.fyez-hero-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--fyez-shadow-xl)}
.fyez-hero-card-1{top:0;left:0;width:260px;animation:float 6s ease-in-out infinite}
.fyez-hero-card-2{top:60px;right:0;width:240px;animation:float 7s ease-in-out infinite .5s}
.fyez-hero-card-3{bottom:0;left:40px;width:280px;animation:float 8s ease-in-out infinite 1s}
.fyez-hero-card-label{font-size:11px;color:var(--fyez-text-soft);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}
.fyez-hero-card-title{font-size:16px;font-weight:700;color:var(--fyez-ink);margin-bottom:6px}
.fyez-hero-card-val{font-size:22px;font-weight:800;color:var(--fyez-brand-orange-deep);font-family:var(--fyez-font-mono)}
.fyez-hero-card-meta{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--fyez-text-muted)}
.fyez-hero-glow{
    position:absolute;width:380px;height:380px;border-radius:50%;
    background:radial-gradient(circle,rgba(244,122,32,.25),transparent 70%);
    filter:blur(40px);top:50%;left:50%;transform:translate(-50%,-50%);
    animation:pulse-glow 5s ease-in-out infinite;z-index:0;
}

/* ============ Section Heading ============ */
.fyez-section-head{text-align:center;max-width:720px;margin:0 auto var(--fyez-space-12)}
.fyez-section-head.left{text-align:left;margin-left:0}
.fyez-eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 14px;border-radius:var(--fyez-radius-pill);
    background:rgba(244,122,32,.10);color:var(--fyez-brand-orange-deep);
    font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    margin-bottom:16px;border:1px solid rgba(244,122,32,.18);
}
.fyez-section-title{
    font-size:var(--fyez-fs-h2);font-weight:800;line-height:1.2;letter-spacing:-.5px;
    color:var(--fyez-ink-strong);margin-bottom:16px;
}
.fyez-section-title .hl{color:var(--fyez-brand-orange)}
.fyez-section-desc{font-size:17px;color:var(--fyez-text-muted);line-height:1.7}
.fyez-section-desc b{color:var(--fyez-ink);font-weight:600}

/* ============ Breadcrumb ============ */
.fyez-breadcrumb{padding:20px 0 0}
.fyez-breadcrumb ol{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--fyez-text-soft);flex-wrap:wrap}
.fyez-breadcrumb a{color:var(--fyez-text-muted)}
.fyez-breadcrumb a:hover{color:var(--fyez-brand-orange)}
.fyez-breadcrumb li::after{content:"/";margin-left:8px;color:var(--fyez-gray-line)}
.fyez-breadcrumb li:last-child::after{display:none}
.fyez-breadcrumb-current{color:var(--fyez-ink);font-weight:600}

/* ============ Page Hero ============ */
.fyez-page-hero{position:relative;overflow:hidden;background:var(--fyez-grad-ink-deep);color:#fff;padding:56px 0 40px}
.fyez-page-hero::before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(ellipse 50% 60% at 10% 0%,rgba(244,122,32,.28),transparent 60%),
        radial-gradient(ellipse 40% 50% at 90% 100%,rgba(59,130,201,.22),transparent 60%);
}
.fyez-page-hero .fyez-container{position:relative;z-index:1}
.fyez-page-hero-eyebrow{
    display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--fyez-radius-pill);
    background:rgba(255,255,255,.12);color:#FFD9B3;font-size:12px;font-weight:600;letter-spacing:.5px;
    margin-bottom:18px;border:1px solid rgba(255,255,255,.18);
}
.fyez-page-hero-title{font-size:var(--fyez-fs-h1);font-weight:800;letter-spacing:-1px;margin-bottom:14px;line-height:1.15}
.fyez-page-hero-desc{font-size:17px;color:rgba(255,255,255,.78);max-width:680px;line-height:1.7}

/* ============ Grid ============ */
.fyez-grid{display:grid;gap:24px}
.fyez-grid-2{grid-template-columns:repeat(2,1fr)}
.fyez-grid-3{grid-template-columns:repeat(3,1fr)}
.fyez-grid-4{grid-template-columns:repeat(4,1fr)}
.fyez-grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

/* ============ Card ============ */
.fyez-card{
    display:flex;flex-direction:column;background:#fff;border-radius:var(--fyez-radius-card);
    overflow:hidden;box-shadow:var(--fyez-shadow-sm);
    border:1px solid rgba(230,235,240,.7);
    transition:var(--fyez-transition-spring);position:relative;
}
.fyez-card:hover{transform:translateY(-6px);box-shadow:var(--fyez-shadow-lg);border-color:rgba(244,122,32,.3)}
.fyez-card-media{
    aspect-ratio:16/9;display:grid;place-items:center;color:#fff;
    position:relative;overflow:hidden;
}
.fyez-card-media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 50%);
    transition:var(--fyez-transition-slow);
}
.fyez-card:hover .fyez-card-media::after{transform:translateX(100%)}
.fyez-card-media-icon{font-size:40px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}
.fyez-card-media-label{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;border-radius:var(--fyez-radius-pill);background:rgba(0,0,0,.35);backdrop-filter:blur(8px);color:#fff}
.fyez-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.fyez-card-title{font-size:18px;font-weight:700;color:var(--fyez-ink-strong);line-height:1.4}
.fyez-card-title a:hover{color:var(--fyez-brand-orange)}
.fyez-card-desc{font-size:14px;color:var(--fyez-text-muted);line-height:1.6;flex:1}
.fyez-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.fyez-card-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--fyez-brand-orange);font-size:13px;font-weight:600;margin-top:auto}
.fyez-card-arrow::after{content:"\2192";transition:transform .3s var(--fyez-ease)}
.fyez-card:hover .fyez-card-arrow::after{transform:translateX(4px)}

/* ============ Badge ============ */
.fyez-badge{
    display:inline-flex;align-items:center;gap:4px;
    padding:4px 10px;border-radius:var(--fyez-radius-pill);
    font-size:11px;font-weight:700;letter-spacing:.3px;line-height:1.4;
}
.fyez-status-badge{color:#fff}
.fyez-status-passed{background:var(--fyez-status-passed)}
.fyez-status-testing{background:var(--fyez-status-testing)}
.fyez-status-watching{background:var(--fyez-status-watching)}
.fyez-status-history{background:var(--fyez-status-history)}
.fyez-status-notrec{background:var(--fyez-status-notrec)}
.fyez-rev-badge{color:#fff}
.fyez-rev-result{background:var(--fyez-rev-result)}
.fyez-rev-deal{background:var(--fyez-rev-deal)}
.fyez-rev-traffic{background:var(--fyez-rev-traffic)}
.fyez-rev-skill{background:var(--fyez-rev-skill)}
.fyez-rev-share{background:var(--fyez-rev-share)}
.fyez-rev-asset{background:var(--fyez-rev-asset)}
.fyez-badge-soft{background:var(--fyez-warm-bg);color:var(--fyez-brand-orange-deep)}
.fyez-badge-ink{background:rgba(23,50,77,.08);color:var(--fyez-ink)}

/* ============ Filter Bar ============ */
.fyez-filter-bar{
    background:#fff;border-radius:var(--fyez-radius-lg);padding:20px 24px;
    box-shadow:var(--fyez-shadow-sm);border:1px solid var(--fyez-gray-line);
    margin-bottom:32px;display:flex;flex-direction:column;gap:14px;
}
.fyez-filter-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fyez-filter-label{font-size:13px;font-weight:600;color:var(--fyez-text-muted);min-width:60px}
.fyez-filter-chip{
    padding:6px 14px;border-radius:var(--fyez-radius-pill);font-size:13px;font-weight:500;
    background:var(--fyez-gray-light);color:var(--fyez-text-muted);
    transition:var(--fyez-transition);border:1.5px solid transparent;
}
.fyez-filter-chip:hover{background:var(--fyez-warm-bg);color:var(--fyez-brand-orange-deep)}
.fyez-filter-chip.is-active{background:var(--fyez-grad-orange);color:#fff;box-shadow:var(--fyez-shadow-orange)}

/* ============ Pagination ============ */
.fyez-pagination{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:40px;flex-wrap:wrap}
.fyez-pagination a,.fyez-pagination span{
    min-width:40px;height:40px;padding:0 12px;display:grid;place-items:center;
    border-radius:10px;font-size:14px;font-weight:600;color:var(--fyez-text-muted);
    background:#fff;border:1px solid var(--fyez-gray-line);transition:var(--fyez-transition);
}
.fyez-pagination a:hover{border-color:var(--fyez-brand-orange);color:var(--fyez-brand-orange)}
.fyez-pagination .is-current{background:var(--fyez-grad-orange);color:#fff;border-color:transparent;box-shadow:var(--fyez-shadow-orange)}

/* ============ Stat / Data Wall ============ */
.fyez-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fyez-stat-card{
    background:#fff;border-radius:var(--fyez-radius-card);padding:28px 24px;
    box-shadow:var(--fyez-shadow-sm);border:1px solid var(--fyez-gray-line);
    position:relative;overflow:hidden;transition:var(--fyez-transition-spring);
}
.fyez-stat-card::before{
    content:"";position:absolute;top:0;left:0;width:100%;height:3px;
    background:var(--fyez-grad-orange);transform:scaleX(0);transform-origin:left;
    transition:transform .4s var(--fyez-ease-out);
}
.fyez-stat-card:hover{transform:translateY(-4px);box-shadow:var(--fyez-shadow-md)}
.fyez-stat-card:hover::before{transform:scaleX(1)}
.fyez-stat-num{font-size:38px;font-weight:800;color:var(--fyez-ink-strong);line-height:1;font-family:var(--fyez-font-mono);letter-spacing:-1px}
.fyez-stat-num .unit{font-size:18px;color:var(--fyez-brand-orange);margin-left:4px;font-weight:700}
.fyez-stat-num .suffix{font-size:16px;color:var(--fyez-text-muted);margin-left:6px;font-weight:600}
.fyez-stat-label{font-size:14px;color:var(--fyez-text-muted);margin-top:10px;font-weight:500}
.fyez-stat-desc{font-size:12px;color:var(--fyez-text-soft);margin-top:4px}

/* ============ Content Pillar ============ */
.fyez-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fyez-pillar{
    position:relative;padding:36px 28px;border-radius:var(--fyez-radius-lg);
    background:#fff;box-shadow:var(--fyez-shadow-sm);border:1px solid var(--fyez-gray-line);
    transition:var(--fyez-transition-spring);overflow:hidden;
}
.fyez-pillar::before{
    content:"";position:absolute;top:0;left:0;right:0;height:120px;
    background:var(--pillar-grad,linear-gradient(135deg,#F47A20,#C95812));
    opacity:0;transition:opacity .4s;z-index:0;
}
.fyez-pillar:hover{transform:translateY(-8px);box-shadow:var(--fyez-shadow-lg)}
.fyez-pillar-icon{
    width:56px;height:56px;border-radius:16px;display:grid;place-items:center;
    background:var(--pillar-grad,linear-gradient(135deg,#F47A20,#C95812));color:#fff;
    font-size:26px;margin-bottom:20px;box-shadow:var(--fyez-shadow-orange);
    transition:var(--fyez-transition-spring);
}
.fyez-pillar:hover .fyez-pillar-icon{transform:rotate(-6deg) scale(1.1)}
.fyez-pillar-title{font-size:22px;font-weight:800;color:var(--fyez-ink-strong);margin-bottom:8px}
.fyez-pillar-desc{font-size:14px;color:var(--fyez-text-muted);line-height:1.6;margin-bottom:20px}
.fyez-pillar-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.fyez-pillar-list li{font-size:13px;color:var(--fyez-text);display:flex;align-items:center;gap:8px}
.fyez-pillar-list li::before{content:"\2713";color:var(--fyez-brand-orange);font-weight:800}
.fyez-pillar-cta{font-size:13px;font-weight:600;color:var(--fyez-brand-orange);display:inline-flex;align-items:center;gap:6px}
.fyez-pillar-cta::after{content:"\2192";transition:transform .3s var(--fyez-ease)}
.fyez-pillar:hover .fyez-pillar-cta::after{transform:translateX(4px)}

/* ============ Course Card ============ */
.fyez-course-card{
    background:#fff;border-radius:var(--fyez-radius-card);overflow:hidden;
    box-shadow:var(--fyez-shadow-sm);border:1px solid var(--fyez-gray-line);
    transition:var(--fyez-transition-spring);display:flex;flex-direction:column;
}
.fyez-course-card:hover{transform:translateY(-6px);box-shadow:var(--fyez-shadow-lg);border-color:rgba(244,122,32,.3)}
.fyez-course-cover{aspect-ratio:16/10;display:grid;place-items:center;color:#fff;position:relative;overflow:hidden}
.fyez-course-cover-icon{font-size:42px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.fyez-course-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 50%)}
.fyez-course-tag{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--fyez-radius-pill);background:rgba(0,0,0,.4);backdrop-filter:blur(8px);color:#fff;letter-spacing:.3px}
.fyez-course-tag.hot{background:var(--fyez-grad-orange)}
.fyez-course-tag.new{background:var(--fyez-status-passed)}
.fyez-course-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.fyez-course-title{font-size:17px;font-weight:700;color:var(--fyez-ink-strong);line-height:1.4}
.fyez-course-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--fyez-text-soft)}
.fyez-course-meta span{display:inline-flex;align-items:center;gap:4px}
.fyez-course-meta span::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--fyez-text-soft)}
.fyez-course-meta span:first-child::before{display:none}
.fyez-course-features{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.fyez-course-feature{font-size:11px;padding:3px 8px;border-radius:6px;background:var(--fyez-warm-bg);color:var(--fyez-brand-orange-deep);font-weight:500}
.fyez-course-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px dashed var(--fyez-gray-line)}
.fyez-course-price{font-size:20px;font-weight:800;color:var(--fyez-brand-orange-deep);font-family:var(--fyez-font-mono)}
.fyez-course-price .unit{font-size:12px;color:var(--fyez-text-soft);font-weight:500;margin-right:2px}
.fyez-course-price .free{color:var(--fyez-status-passed)}

/* ============ Tool Card ============ */
.fyez-tool-card{
    background:#fff;border-radius:var(--fyez-radius-card);padding:24px;
    box-shadow:var(--fyez-shadow-sm);border:1px solid var(--fyez-gray-line);
    transition:var(--fyez-transition-spring);display:flex;flex-direction:column;gap:14px;
}
.fyez-tool-card:hover{transform:translateY(-4px);box-shadow:var(--fyez-shadow-md);border-color:rgba(244,122,32,.3)}
.fyez-tool-head{display:flex;align-items:center;gap:14px}
.fyez-tool-logo{
    width:48px;height:48px;border-radius:12px;display:grid;place-items:center;
    font-size:22px;font-weight:800;color:#fff;flex-shrink:0;
    box-shadow:var(--fyez-shadow-sm);
}
.fyez-tool-name{font-size:16px;font-weight:700;color:var(--fyez-ink-strong)}
.fyez-tool-level{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;display:inline-block;margin-top:2px}
.fyez-tool-level.vip{background:var(--fyez-grad-orange);color:#fff}
.fyez-tool-level.svip{background:var(--fyez-grad-ink);color:#fff}
.fyez-tool-level.plus{background:var(--fyez-rev-skill);color:#fff}
.fyez-tool-desc{font-size:13px;color:var(--fyez-text-muted);line-height:1.6}
.fyez-tool-uses{display:flex;flex-wrap:wrap;gap:6px}
.fyez-tool-use{font-size:11px;padding:3px 8px;border-radius:6px;background:var(--fyez-gray-light);color:var(--fyez-text-muted)}

/* ============ Timeline ============ */
.fyez-timeline{position:relative;padding-left:32px}
.fyez-timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--fyez-brand-orange),var(--fyez-ink));border-radius:2px}
.fyez-timeline-item{position:relative;padding-bottom:32px}
.fyez-timeline-item:last-child{padding-bottom:0}
.fyez-timeline-dot{
    position:absolute;left:-32px;top:4px;width:18px;height:18px;border-radius:50%;
    background:#fff;border:3px solid var(--fyez-brand-orange);
    box-shadow:0 0 0 4px rgba(244,122,32,.15);
}
.fyez-timeline-year{font-size:13px;font-weight:700;color:var(--fyez-brand-orange);letter-spacing:.5px;margin-bottom:6px}
.fyez-timeline-title{font-size:17px;font-weight:700;color:var(--fyez-ink-strong);margin-bottom:6px}
.fyez-timeline-desc{font-size:14px;color:var(--fyez-text-muted);line-height:1.6}

/* ============ Feature List ============ */
.fyez-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.fyez-feature{
    display:flex;gap:16px;padding:24px;border-radius:var(--fyez-radius-card);
    background:#fff;border:1px solid var(--fyez-gray-line);box-shadow:var(--fyez-shadow-xs);
    transition:var(--fyez-transition);
}
.fyez-feature:hover{box-shadow:var(--fyez-shadow-md);transform:translateY(-2px);border-color:rgba(244,122,32,.25)}
.fyez-feature-icon{
    width:44px;height:44px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;
    background:var(--fyez-warm-bg);color:var(--fyez-brand-orange-deep);font-size:20px;
}
.fyez-feature-title{font-size:16px;font-weight:700;color:var(--fyez-ink-strong);margin-bottom:4px}
.fyez-feature-desc{font-size:13px;color:var(--fyez-text-muted);line-height:1.5}

/* ============ CTA Banner ============ */
.fyez-cta-banner{
    position:relative;overflow:hidden;border-radius:var(--fyez-radius-xl);
    padding:56px 48px;color:#fff;
    background:var(--fyez-grad-ink-deep);
    box-shadow:var(--fyez-shadow-ink);
}
.fyez-cta-banner::before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(ellipse 50% 60% at 10% 50%,rgba(244,122,32,.35),transparent 60%),
        radial-gradient(ellipse 40% 50% at 90% 50%,rgba(59,130,201,.25),transparent 60%);
}
.fyez-cta-banner .fyez-container{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.fyez-cta-content{flex:1;min-width:280px}
.fyez-cta-title{font-size:30px;font-weight:800;margin-bottom:12px;letter-spacing:-.5px}
.fyez-cta-desc{font-size:16px;color:rgba(255,255,255,.8);line-height:1.6}
.fyez-cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ============ Project Card ============ */
.fyez-project-suitable,.fyez-project-cost{font-size:13px;color:var(--fyez-text-muted);display:flex;gap:6px;margin-top:4px}
.fyez-project-unsuit{font-size:13px;color:var(--fyez-brand-orange-deep);display:flex;gap:6px;margin-top:4px;line-height:1.6}
.fyez-meta-label{color:var(--fyez-text-soft);font-weight:600;min-width:36px}
.fyez-project-box{
    margin-top:12px;padding:12px 14px;border-radius:10px;
    background:linear-gradient(135deg,#FFF3E8,#FFE4CC);
    border:1px solid rgba(244,122,32,.18);
    font-size:12.5px;color:var(--fyez-text);line-height:1.7;
}
.fyez-project-box.fyez-path{background:linear-gradient(135deg,#EAF2FB,#FFF3E8);border-color:rgba(59,130,201,.18)}
.fyez-project-box-title{font-size:13px;font-weight:700;color:var(--fyez-brand-orange-deep);margin-bottom:6px}
.fyez-project-box ol{list-style:none;display:flex;flex-direction:column;gap:4px;padding-left:0;margin:0}
.fyez-project-box ol li{position:relative;padding-left:22px}
.fyez-project-box ol li::before{
    content:counter(step,decimal);counter-increment:step;
    position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;
    background:var(--fyez-brand-orange);color:#fff;font-size:10px;font-weight:700;
    display:grid;place-items:center;line-height:1;
}
.fyez-project-box.fyez-path ol{counter-reset:step}

/* ============ Single Page ============ */
.fyez-single-header{background:var(--fyez-grad-ink-deep);color:#fff;padding:48px 0 40px;position:relative;overflow:hidden}
.fyez-single-header::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 20% 0%,rgba(244,122,32,.3),transparent 60%)}
.fyez-single-header .fyez-container{position:relative;z-index:1}
.fyez-single-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.fyez-single-title{font-size:var(--fyez-fs-h1);font-weight:800;letter-spacing:-1px;margin-bottom:14px;line-height:1.15}
.fyez-single-intro{font-size:17px;color:rgba(255,255,255,.82);max-width:760px;line-height:1.7}
.fyez-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.fyez-info-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--fyez-radius-md);padding:16px;backdrop-filter:blur(8px)}
.fyez-info-label{font-size:11px;color:rgba(255,255,255,.6);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px}
.fyez-info-value{font-size:14px;color:#fff;font-weight:600;line-height:1.4}
.fyez-single-content{padding:48px 0;background:var(--fyez-warm-white)}
.fyez-single-content h2{font-size:26px;font-weight:800;color:var(--fyez-ink-strong);margin:36px 0 16px;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}
.fyez-single-content h2::before{content:"";width:4px;height:24px;background:var(--fyez-grad-orange);border-radius:2px}
.fyez-single-content h3{font-size:18px;font-weight:700;color:var(--fyez-ink);margin:24px 0 12px}
.fyez-single-content p{font-size:15px;color:var(--fyez-text);line-height:1.8;margin-bottom:14px}
.fyez-single-content ul{padding-left:20px;margin-bottom:14px}
.fyez-single-content li{font-size:15px;color:var(--fyez-text);line-height:1.8;margin-bottom:6px;list-style:disc}
.fyez-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fyez-score-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border-radius:var(--fyez-radius-md);border:1px solid var(--fyez-gray-line)}
.fyez-score-label{font-size:13px;color:var(--fyez-text);font-weight:600}
.fyez-score-stars{display:flex;gap:2px}
.fyez-star{color:var(--fyez-gray-line);font-size:16px}
.fyez-star.is-on{color:var(--fyez-brand-orange)}

/* ============ Paywall (付费图文方案B) ============ */
.fyez-paywall-block{
    position:relative;margin:32px 0;padding:48px 24px;
    background:linear-gradient(135deg,rgba(23,50,77,.04),rgba(244,122,32,.06));
    border:2px dashed rgba(244,122,32,.3);border-radius:var(--fyez-radius-lg);
    text-align:center;
}
.fyez-paywall-lock{
    width:64px;height:64px;border-radius:50%;margin:0 auto 16px;
    background:var(--fyez-grad-orange);display:grid;place-items:center;
    font-size:28px;color:#fff;box-shadow:var(--fyez-shadow-orange);
}
.fyez-paywall-title{font-size:20px;font-weight:800;color:var(--fyez-ink-strong);margin-bottom:8px}
.fyez-paywall-desc{font-size:14px;color:var(--fyez-text-muted);margin-bottom:20px;max-width:480px;margin-inline:auto;line-height:1.6}
.fyez-paywall-price{font-size:32px;font-weight:800;color:var(--fyez-brand-orange-deep);font-family:var(--fyez-font-mono);margin-bottom:20px}
.fyez-paywall-price .unit{font-size:14px;color:var(--fyez-text-soft);font-weight:500;margin-right:2px}
.fyez-paywall-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.fyez-paywall-member-hint{margin-top:16px;font-size:13px;color:var(--fyez-brand-orange-deep);font-weight:600}
.fyez-paywall-content-hidden{filter:blur(6px);user-select:none;pointer-events:none}

/* ============ Member Plans ============ */
.fyez-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.fyez-plan-card{
    background:#fff;border-radius:var(--fyez-radius-lg);padding:36px 28px;
    border:2px solid var(--fyez-gray-line);position:relative;
    transition:var(--fyez-transition-spring);display:flex;flex-direction:column;
}
.fyez-plan-card:hover{transform:translateY(-8px);box-shadow:var(--fyez-shadow-lg)}
.fyez-plan-card.is-recommended{border-color:var(--fyez-brand-orange);box-shadow:var(--fyez-shadow-orange)}
.fyez-plan-card.is-recommended::before{
    content:"\63a8\8350";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--fyez-grad-orange);color:#fff;font-size:12px;font-weight:700;
    padding:4px 16px;border-radius:var(--fyez-radius-pill);box-shadow:var(--fyez-shadow-orange);
}
.fyez-plan-name{font-size:18px;font-weight:700;color:var(--fyez-ink-strong);margin-bottom:8px}
.fyez-plan-price{font-size:42px;font-weight:800;color:var(--fyez-brand-orange-deep);font-family:var(--fyez-font-mono);margin-bottom:4px}
.fyez-plan-price .unit{font-size:16px;color:var(--fyez-text-soft);font-weight:500}
.fyez-plan-period{font-size:13px;color:var(--fyez-text-soft);margin-bottom:20px}
.fyez-plan-original{font-size:13px;color:var(--fyez-text-soft);text-decoration:line-through;margin-bottom:4px}
.fyez-course-sub{font-size:13px;color:var(--fyez-text-soft);margin-bottom:6px;line-height:1.4}
.fyez-course-original{font-size:13px;color:var(--fyez-text-soft);text-decoration:line-through;margin-left:6px}
.fyez-plan-features{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;flex:1}
.fyez-plan-features li{font-size:14px;color:var(--fyez-text);display:flex;align-items:flex-start;gap:8px}
.fyez-plan-features li::before{content:"\2713";color:var(--fyez-brand-orange);font-weight:800;flex-shrink:0;margin-top:2px}
.fyez-plan-cta{width:100%;text-align:center}

/* ============ Footer ============ */
.fyez-site-footer{background:var(--fyez-grad-ink-deep);color:rgba(255,255,255,.7);padding:56px 0 28px;position:relative;overflow:hidden}
.fyez-site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(244,122,32,.5),transparent)}
.fyez-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.fyez-footer-brand{font-size:18px;font-weight:800;color:#fff;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.fyez-footer-desc{font-size:13px;line-height:1.7;margin-bottom:16px}
.fyez-footer-slogan{font-size:13px;color:var(--fyez-brand-orange-light);font-style:italic;padding:10px 14px;background:rgba(244,122,32,.1);border-left:2px solid var(--fyez-brand-orange);border-radius:4px}
.fyez-footer-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:16px;letter-spacing:.3px}
.fyez-footer-menu{display:flex;flex-direction:column;gap:10px}
.fyez-footer-menu a{font-size:13px;color:rgba(255,255,255,.65);transition:var(--fyez-transition)}
.fyez-footer-menu a:hover{color:var(--fyez-brand-orange-light);padding-left:4px}
.fyez-footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:rgba(255,255,255,.5)}

/* ============ Animations ============ */
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(244,122,32,.5)}70%{box-shadow:0 0 0 10px rgba(244,122,32,0)}100%{box-shadow:0 0 0 0 rgba(244,122,32,0)}}
@keyframes pulse-glow{0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes gradient-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Scroll Reveal */
.fyez-reveal{opacity:0;transform:translateY(40px);transition:opacity .7s var(--fyez-ease-out),transform .7s var(--fyez-ease-out)}
.fyez-reveal.is-visible{opacity:1;transform:translateY(0)}
.fyez-reveal-delay-1{transition-delay:.1s}
.fyez-reveal-delay-2{transition-delay:.2s}
.fyez-reveal-delay-3{transition-delay:.3s}
.fyez-reveal-delay-4{transition-delay:.4s}
.fyez-reveal-scale{opacity:0;transform:scale(.92);transition:opacity .7s var(--fyez-ease-out),transform .7s var(--fyez-ease-out)}
.fyez-reveal-scale.is-visible{opacity:1;transform:scale(1)}

.fyez-shimmer{
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
    background-size:200% 100%;animation:shimmer 2.5s infinite;
}

/* ============ Marquee ============ */
.fyez-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fyez-marquee-track{display:flex;gap:40px;animation:marquee 30s linear infinite;width:max-content}
.fyez-marquee-item{font-size:14px;color:var(--fyez-text-muted);display:flex;align-items:center;gap:8px;white-space:nowrap}
.fyez-marquee-item .dot{color:var(--fyez-brand-orange)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ Glass Card ============ */
.fyez-glass{
    background:var(--fyez-grad-glass);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:var(--fyez-shadow-lg);
}

/* ============ Divider ============ */
.fyez-divider{height:1px;background:linear-gradient(90deg,transparent,var(--fyez-gray-line),transparent);margin:40px 0}

/* ============ Tag Cloud ============ */
.fyez-tag-cloud{display:flex;flex-wrap:wrap;gap:10px}
.fyez-tag{padding:8px 16px;border-radius:var(--fyez-radius-pill);background:#fff;border:1px solid var(--fyez-gray-line);font-size:13px;color:var(--fyez-text);font-weight:500;transition:var(--fyez-transition)}
.fyez-tag:hover{border-color:var(--fyez-brand-orange);color:var(--fyez-brand-orange);background:var(--fyez-warm-bg);transform:translateY(-2px)}

/* ============ Highlight Box ============ */
.fyez-highlight-box{background:var(--fyez-warm-bg);border-left:4px solid var(--fyez-brand-orange);border-radius:var(--fyez-radius-md);padding:20px 24px;margin:24px 0}
.fyez-highlight-box-title{font-size:14px;font-weight:700;color:var(--fyez-brand-orange-deep);margin-bottom:6px}
.fyez-highlight-box p{font-size:14px;color:var(--fyez-text);line-height:1.7;margin:0}

/* ============ User Bar (登录后显示) ============ */
.fyez-user-bar{
    display:flex;align-items:center;gap:10px;padding:6px 14px;
    border-radius:var(--fyez-radius-pill);background:var(--fyez-warm-bg);
    border:1px solid rgba(244,122,32,.2);font-size:13px;
}
.fyez-user-bar .fyez-user-name{font-weight:600;color:var(--fyez-ink)}
.fyez-user-bar .fyez-user-points{color:var(--fyez-brand-orange-deep);font-weight:700;font-family:var(--fyez-font-mono)}
.fyez-user-bar .fyez-user-member{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--fyez-grad-orange);color:#fff;font-weight:600}

/* ============ Responsive ============ */
@media (max-width:1199px){
    .fyez-hero-inner{grid-template-columns:1fr;gap:40px}
    .fyez-hero-visual{height:380px;max-width:480px;margin:0 auto}
    .fyez-grid-4,.fyez-stat-grid{grid-template-columns:repeat(2,1fr)}
    .fyez-pillar-grid,.fyez-grid-3{grid-template-columns:repeat(2,1fr)}
    .fyez-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
    .fyez-info-grid{grid-template-columns:repeat(2,1fr)}
    .fyez-feature-grid{grid-template-columns:1fr}
    .fyez-plan-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
}
@media (max-width:767px){
    :root{--fyez-fs-h2:24px;--fyez-fs-h3:18px}
    .fyez-section{padding-block:var(--fyez-space-16)}
    .fyez-header-inner{flex-wrap:wrap;gap:12px}
    .fyez-menu{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
    .fyez-menu>li>a{padding:8px 10px;font-size:13px;white-space:nowrap}
    .fyez-header-actions{margin-left:auto}
    .fyez-hero-inner{padding-block:32px 24px}
    .fyez-hero-visual{height:340px}
    .fyez-hero-card-1{width:200px}.fyez-hero-card-2{width:190px}.fyez-hero-card-3{width:220px}
    .fyez-grid-2,.fyez-grid-3,.fyez-grid-4,.fyez-stat-grid,.fyez-pillar-grid,.fyez-feature-grid{grid-template-columns:1fr}
    .fyez-info-grid{grid-template-columns:1fr}
    .fyez-score-grid{grid-template-columns:1fr}
    .fyez-footer-grid{grid-template-columns:1fr;gap:24px}
    .fyez-cta-banner{padding:32px 24px}
    .fyez-cta-title{font-size:22px}
    .fyez-stat-num{font-size:30px}
    .fyez-hero-trust{gap:20px}
}

/* ===========================================================
   栏目页 Hero 视觉变体 — 5 个页面，5 种个性
   =========================================================== */

/* --- 1. 项目库 — 橙琥珀色调，数字统计感 --- */
.fyez-page-hero.fyez-hero-project{
    background:
        radial-gradient(ellipse 65% 90% at 15% 100%, rgba(244,122,32,.40) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 95% 0%, rgba(201,88,18,.30) 0%, transparent 55%),
        #0E1F33;
}
.fyez-hero-project .hl{color:#FFB057;text-shadow:0 0 24px rgba(244,122,32,.35)}
.fyez-hero-project .fyez-hero-eyebrow{color:#FFB057;background:rgba(244,122,32,.15);border-color:rgba(244,122,32,.3)}
.fyez-page-hero .fyez-hero-pattern{position:absolute;inset:0;pointer-events:none;opacity:.08}
.fyez-hero-project .fyez-hero-pattern{
    background-image:radial-gradient(circle at 20% 30%, #F47A20 2px, transparent 2px),
                     radial-gradient(circle at 70% 70%, #C95812 1.5px, transparent 1.5px);
    background-size:60px 60px, 45px 45px;
}

/* --- 2. 实战记录 — 青绿科技蓝，数据日志感 --- */
.fyez-page-hero.fyez-hero-experiment{
    background:
        radial-gradient(ellipse 55% 80% at 100% 100%, rgba(34,197,170,.38) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 0% 10%, rgba(14,165,233,.28) 0%, transparent 55%),
        #0C1E2E;
}
.fyez-hero-experiment .hl{color:#5EEAD4;text-shadow:0 0 24px rgba(34,197,170,.35)}
.fyez-hero-experiment .fyez-hero-eyebrow{color:#5EEAD4;background:rgba(34,197,170,.15);border-color:rgba(34,197,170,.3)}
.fyez-hero-experiment .fyez-hero-pattern{
    background-image:linear-gradient(rgba(34,197,170,.4) 1px, transparent 1px),
                     linear-gradient(90deg, rgba(34,197,170,.4) 1px, transparent 1px);
    background-size:40px 40px;
}

/* --- 3. 资源工具 — 紫罗兰，效率工具箱感 --- */
.fyez-page-hero.fyez-hero-resource{
    background:
        radial-gradient(ellipse 55% 80% at 0% 100%, rgba(139,92,246,.38) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 100% 0%, rgba(236,72,153,.28) 0%, transparent 55%),
        #130B24;
}
.fyez-hero-resource .hl{color:#C4B5FD;text-shadow:0 0 24px rgba(139,92,246,.35)}
.fyez-hero-resource .fyez-hero-eyebrow{color:#C4B5FD;background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.3)}
.fyez-hero-resource .fyez-hero-pattern{
    background-image:radial-gradient(circle at 50% 50%, rgba(139,92,246,.3) 1px, transparent 1px);
    background-size:30px 30px;
}

/* --- 4. 课程 — 靛蓝 + 金，学堂专业感 --- */
.fyez-page-hero.fyez-hero-course{
    background:
        radial-gradient(ellipse 55% 80% at 50% 100%, rgba(59,130,246,.38) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 100% 10%, rgba(234,179,8,.22) 0%, transparent 55%),
        #0B1726;
}
.fyez-hero-course .hl{color:#FDE68A;text-shadow:0 0 24px rgba(234,179,8,.30)}
.fyez-hero-course .fyez-hero-eyebrow{color:#FDE68A;background:rgba(234,179,8,.12);border-color:rgba(234,179,8,.3)}
.fyez-hero-course .fyez-hero-pattern{
    background-image:radial-gradient(circle at 25% 75%, rgba(59,130,246,.3) 2px, transparent 2px),
                     radial-gradient(circle at 75% 25%, rgba(234,179,8,.3) 1.5px, transparent 1.5px);
    background-size:80px 80px, 60px 60px;
}

/* --- 5. 训练营 — 深玫红，紧迫感专属感 --- */
.fyez-page-hero.fyez-hero-camp{
    background:
        radial-gradient(ellipse 55% 80% at 100% 100%, rgba(225,29,72,.40) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 0% 10%, rgba(244,63,94,.28) 0%, transparent 55%),
        #1A0B14;
}
.fyez-hero-camp .hl{color:#FDA4AF;text-shadow:0 0 24px rgba(225,29,72,.35)}
.fyez-hero-camp .fyez-hero-eyebrow{color:#FDA4AF;background:rgba(225,29,72,.15);border-color:rgba(225,29,72,.3)}
.fyez-hero-camp .fyez-hero-pattern{
    background-image:linear-gradient(45deg, rgba(225,29,72,.2) 25%, transparent 25%, transparent 75%, rgba(225,29,72,.2) 75%),
                     linear-gradient(45deg, rgba(225,29,72,.2) 25%, transparent 25%, transparent 75%, rgba(225,29,72,.2) 75%);
    background-size:30px 30px;
    background-position:0 0, 15px 15px;
}

/* --- Hero 装饰卡片（每个页面可选） --- */
.fyez-hero-ornament{
    position:absolute;z-index:2;
    padding:14px 18px;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.15);
    color:#fff;font-size:13px;font-weight:600;
    box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.fyez-hero-ornament .num{font-size:28px;font-weight:800;font-family:'SF Mono','Menlo',monospace;display:block;line-height:1;margin-bottom:4px}
.fyez-hero-ornament .lbl{font-size:11px;color:rgba(255,255,255,.7);letter-spacing:.5px;text-transform:uppercase}

/* 项目库 — 右下角数字卡片 */
.fyez-hero-project .fyez-hero-ornament{right:5%;bottom:-24px;animation:float 6s ease-in-out infinite}
.fyez-hero-project .fyez-hero-ornament .num{color:#FFB057}

/* 实战记录 — 右上角阶段标签 */
.fyez-hero-experiment .fyez-hero-ornament{right:4%;top:30%;animation:float 7s ease-in-out infinite .5s}
.fyez-hero-experiment .fyez-hero-ornament .num{color:#5EEAD4}

/* 资源工具 — 左下角 emoji 串 */
.fyez-hero-resource .fyez-hero-ornament{left:4%;bottom:-18px;animation:float 8s ease-in-out infinite 1s}
.fyez-hero-resource .fyez-hero-ornament .num{font-size:22px;line-height:1.3}

/* 课程 — 右下角阶梯预览 */
.fyez-hero-course .fyez-hero-ornament{right:4%;bottom:-20px;animation:float 6.5s ease-in-out infinite .3s}
.fyez-hero-course .fyez-hero-ornament .num{color:#FDE68A}

/* 训练营 — 右上角月份 chip */
.fyez-hero-camp .fyez-hero-ornament{right:5%;top:28%;animation:float 7.5s ease-in-out infinite .8s}
.fyez-hero-camp .fyez-hero-ornament .num{color:#FDA4AF}

/* hero 内容区双栏（文字 + 装饰） */
.fyez-page-hero .fyez-hero-split{
    display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;
}
@media(max-width:767px){
    .fyez-page-hero .fyez-hero-split{grid-template-columns:1fr}
    .fyez-hero-ornament{position:relative;inset:auto;margin-top:20px;right:auto;top:auto;left:auto;bottom:auto}
}

/* hero 强调装饰条（h1 下方，独特的横线设计） */
.fyez-hero-accent-bar{
    display:inline-block;width:56px;height:3px;border-radius:3px;
    margin:14px 0 18px;
}
.fyez-hero-project .fyez-hero-accent-bar{background:linear-gradient(90deg,#F47A20,#FFB057)}
.fyez-hero-experiment .fyez-hero-accent-bar{background:linear-gradient(90deg,#2DD4BF,#5EEAD4)}
.fyez-hero-resource .fyez-hero-accent-bar{background:linear-gradient(90deg,#8B5CF6,#C4B5FD)}
.fyez-hero-course .fyez-hero-accent-bar{background:linear-gradient(90deg,#3B82F6,#FDE68A)}
.fyez-hero-camp .fyez-hero-accent-bar{background:linear-gradient(90deg,#E11D48,#FDA4AF)}

/* ============================================================
   新栏目 Hero 视觉变体 V2
   ============================================================ */

/* --- 主业成长 — 蓝绿生态色（职场可靠感） --- */
.fyez-page-hero.fyez-hero-career{
    background:
        radial-gradient(ellipse 55% 80% at 0% 100%, rgba(16,185,129,.35) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 100% 0%, rgba(59,130,246,.28) 0%, transparent 55%),
        #0A1E1A;
}
.fyez-hero-career .hl{color:#6EE7B7;text-shadow:0 0 24px rgba(16,185,129,.35)}
.fyez-hero-career .fyez-hero-eyebrow{color:#6EE7B7;background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.3)}
.fyez-hero-career .fyez-hero-pattern{
    background-image:linear-gradient(rgba(16,185,129,.15) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(59,130,246,.15) 1px,transparent 1px);
    background-size:50px 50px;
    position:absolute;inset:0;pointer-events:none;opacity:.08
}
.fyez-hero-career .fyez-hero-accent-bar{background:linear-gradient(90deg,#10B981,#6EE7B7)}
.fyez-hero-career .fyez-hero-ornament{right:5%;bottom:-22px;animation:float 6s ease-in-out infinite}
.fyez-hero-career .fyez-hero-ornament .num{color:#6EE7B7}

/* --- 知识中心 — 深青橄榄（内容海洋感） --- */
.fyez-page-hero.fyez-hero-geoknowledge{
    background:
        radial-gradient(ellipse 55% 80% at 100% 100%, rgba(101,163,13,.3) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 0% 10%, rgba(20,184,166,.28) 0%, transparent 55%),
        #0E1C1A;
}
.fyez-hero-geoknowledge .hl{color:#A3E635;text-shadow:0 0 24px rgba(101,163,13,.3)}
.fyez-hero-geoknowledge .fyez-hero-eyebrow{color:#A3E635;background:rgba(101,163,13,.15);border-color:rgba(101,163,13,.3)}
.fyez-hero-geoknowledge .fyez-hero-pattern{
    background-image:radial-gradient(circle at 50% 50%, rgba(20,184,166,.25) 1.5px,transparent 1.5px);
    background-size:35px 35px;
    position:absolute;inset:0;pointer-events:none;opacity:.1
}
.fyez-hero-geoknowledge .fyez-hero-accent-bar{background:linear-gradient(90deg,#14B8A6,#A3E635)}
.fyez-hero-geoknowledge .fyez-hero-ornament{right:4%;top:28%;animation:float 7s ease-in-out infinite .6s}
.fyez-hero-geoknowledge .fyez-hero-ornament .num{color:#A3E635}

/* --- 打卡活动 — 嫩草绿+天蓝（活力成就感） --- */
.fyez-page-hero.fyez-hero-checkin{
    background:
        radial-gradient(ellipse 55% 80% at 50% 100%, rgba(132,204,22,.35) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 100% 10%, rgba(56,189,248,.25) 0%, transparent 55%),
        #0B1F0F;
}
.fyez-hero-checkin .hl{color:#BEF264;text-shadow:0 0 24px rgba(132,204,22,.35)}
.fyez-hero-checkin .fyez-hero-eyebrow{color:#BEF264;background:rgba(132,204,22,.15);border-color:rgba(132,204,22,.3)}
.fyez-hero-checkin .fyez-hero-pattern{
    background-image:radial-gradient(circle at 30% 70%, rgba(56,189,248,.3) 2px,transparent 2px),
                     radial-gradient(circle at 70% 30%, rgba(132,204,22,.3) 1.5px,transparent 1.5px);
    background-size:55px 55px, 40px 40px;
    position:absolute;inset:0;pointer-events:none;opacity:.09
}
.fyez-hero-checkin .fyez-hero-accent-bar{background:linear-gradient(90deg,#84CC16,#38BDF8)}
.fyez-hero-checkin .fyez-hero-ornament{left:5%;bottom:-20px;animation:float 6.5s ease-in-out infinite .4s}
.fyez-hero-checkin .fyez-hero-ornament .num{color:#BEF264}

/* --- 会员中心V2 — 鎏金棕金（尊贵特权感） --- */
.fyez-page-hero.fyez-hero-membership{
    background:
        radial-gradient(ellipse 55% 80% at 50% 100%, rgba(217,119,6,.4) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 100% 0%, rgba(250,204,21,.25) 0%, transparent 55%),
        #1A1205;
}
.fyez-hero-membership .hl{color:#FACC15;text-shadow:0 0 28px rgba(250,204,21,.35)}
.fyez-hero-membership .fyez-hero-eyebrow{color:#FACC15;background:rgba(217,119,6,.2);border-color:rgba(217,119,6,.35)}
.fyez-hero-membership .fyez-hero-pattern{
    background-image:radial-gradient(circle at 20% 40%, rgba(250,204,21,.3) 2px,transparent 2px),
                     radial-gradient(circle at 80% 60%, rgba(217,119,6,.3) 1.5px,transparent 1.5px);
    background-size:65px 65px, 50px 50px;
    position:absolute;inset:0;pointer-events:none;opacity:.09
}
.fyez-hero-membership .fyez-hero-accent-bar{background:linear-gradient(90deg,#D97706,#FACC15)}
.fyez-hero-membership .fyez-hero-ornament{right:5%;bottom:-24px;animation:float 6s ease-in-out infinite}
.fyez-hero-membership .fyez-hero-ornament .num{color:#FACC15}

/* --- 关于V2 — 紫罗兰暖肤色（真诚人格感） --- */
.fyez-page-hero.fyez-hero-about{
    background:
        radial-gradient(ellipse 55% 80% at 15% 100%, rgba(217,70,239,.32) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 85% 0%, rgba(244,114,182,.28) 0%, transparent 55%),
        #150A18;
}
.fyez-hero-about .hl{color:#F9A8D4;text-shadow:0 0 26px rgba(244,114,182,.35)}
.fyez-hero-about .fyez-hero-eyebrow{color:#F9A8D4;background:rgba(244,114,182,.15);border-color:rgba(244,114,182,.3)}
.fyez-hero-about .fyez-hero-pattern{
    background-image:linear-gradient(135deg,rgba(217,70,239,.2) 25%,transparent 25%,transparent 75%,rgba(217,70,239,.2) 75%),
                     linear-gradient(45deg,rgba(244,114,182,.15) 25%,transparent 25%,transparent 75%,rgba(244,114,182,.15) 75%);
    background-size:40px 40px;
    background-position:0 0,20px 20px;
    position:absolute;inset:0;pointer-events:none;opacity:.08
}
.fyez-hero-about .fyez-hero-accent-bar{background:linear-gradient(90deg,#D946EF,#F9A8D4)}
.fyez-hero-about .fyez-hero-ornament{right:4%;top:28%;animation:float 7.5s ease-in-out infinite .7s}
.fyez-hero-about .fyez-hero-ornament .num{color:#F9A8D4}

/* --- 训练营 Hero 强化（已存在 fyez-hero-camp，此处追加额外样式用于折叠展开按钮） --- */
.fyez-camp-year-toggle{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:14px;background:var(--fyez-gray-light);cursor:pointer;border:1px solid var(--fyez-gray-line);transition:all .2s;margin-bottom:12px;user-select:none}
.fyez-camp-year-toggle:hover{border-color:var(--fyez-brand-orange)}
.fyez-camp-year-title{font-size:18px;font-weight:700;color:var(--fyez-ink)}
.fyez-camp-year-meta{font-size:13px;color:var(--fyez-text-muted);font-weight:500}
.fyez-camp-year-arrow{font-size:20px;color:var(--fyez-brand-orange);transition:transform .3s}
.fyez-camp-year-group.is-open .fyez-camp-year-arrow{transform:rotate(180deg)}
.fyez-camp-year-body{display:none;padding:0 0 20px;animation:fadeIn .3s}
.fyez-camp-year-group.is-open .fyez-camp-year-body{display:block}
.fyez-camp-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:600;background:rgba(225,29,72,.1);color:#E11D48;letter-spacing:.3px}
.fyez-camp-chip.is-latest{background:rgba(244,122,32,.12);color:#F47A20}

/* --- 训练营期数卡片强化 --- */
.fyez-camp-card{position:relative;padding:18px 18px 16px}
.fyez-camp-card .fyez-camp-no{position:absolute;top:10px;right:14px;font-family:var(--fyez-font-mono);font-size:11px;color:var(--fyez-text-soft);font-weight:600}
.fyez-camp-card .fyez-camp-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.fyez-camp-card .fyez-camp-title{font-size:16px;font-weight:700;color:var(--fyez-ink);margin:0 60px 0 0;line-height:1.4}
.fyez-camp-card .fyez-camp-excerpt{font-size:13px;color:var(--fyez-text-muted);line-height:1.65;margin:0 0 14px}
.fyez-camp-card .fyez-camp-audience{font-size:12px;color:var(--fyez-text-soft);margin-bottom:12px;padding:6px 10px;background:var(--fyez-gray-light);border-radius:8px}
.fyez-camp-card .fyez-camp-foot{display:flex;justify-content:space-between;align-items:center}
.fyez-camp-card .fyez-camp-price{font-size:16px;font-weight:800;color:var(--fyez-brand-orange-deep);font-family:var(--fyez-font-mono)}
.fyez-camp-card .fyez-camp-price .free{color:var(--fyez-status-passed)}
.fyez-camp-card .fyez-camp-join{padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;background:var(--fyez-grad-orange);color:#fff;border:0;cursor:pointer;transition:transform .2s}
.fyez-camp-card .fyez-camp-join:hover{transform:translateY(-1px)}

/* --- 副业文章付费墙标签 --- */
.fyez-card .fyez-paywall-tag{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:rgba(244,122,32,.1);color:var(--fyez-brand-orange);letter-spacing:.3px;margin-left:6px}
.fyez-card .fyez-paywall-tag.is-member{background:rgba(16,185,129,.12);color:#10B981}
.fyez-card-price-preview{margin-top:8px;padding:6px 10px;border-radius:8px;background:var(--fyez-warm-bg);color:var(--fyez-brand-orange-deep);font-size:12px;font-weight:600;line-height:1.5}

/* --- 主业成长卡片 --- */
.fyez-career-card{padding:18px;border-radius:var(--fyez-radius-card);background:#fff;border:1px solid var(--fyez-gray-line);box-shadow:var(--fyez-shadow-sm);transition:all .3s}
.fyez-career-card:hover{transform:translateY(-4px);box-shadow:var(--fyez-shadow-lg)}
.fyez-career-topic{display:inline-block;padding:3px 10px;border-radius:6px;background:rgba(16,185,129,.12);color:#059669;font-size:11px;font-weight:600;margin-bottom:10px}
.fyez-career-title{font-size:16px;font-weight:700;color:var(--fyez-ink);line-height:1.45;margin:0 0 10px}
.fyez-career-title a{color:inherit;text-decoration:none}
.fyez-career-title a:hover{color:#10B981}
.fyez-career-meta{display:flex;gap:14px;font-size:12px;color:var(--fyez-text-soft);margin-bottom:10px}
.fyez-career-points{font-size:13px;color:var(--fyez-text-muted);line-height:1.65}
.fyez-career-points p{margin:3px 0}

/* --- 会员三档卡 --- */
.fyez-plan-compare{width:100%;border-collapse:collapse;margin:20px 0 28px;border-radius:14px;overflow:hidden;background:#fff}
.fyez-plan-compare th,.fyez-plan-compare td{padding:12px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--fyez-gray-line)}
.fyez-plan-compare th{background:var(--fyez-ink);color:#fff;font-weight:600}
.fyez-plan-compare th.is-rec{background:linear-gradient(90deg,var(--fyez-brand-orange),var(--fyez-brand-orange-deep))}
.fyez-plan-compare tr:nth-child(even) td{background:var(--fyez-gray-light)}
.fyez-plan-compare .tick{color:var(--fyez-status-passed);font-weight:700}
.fyez-plan-compare .cross{color:#ccc}

/* --- 关于时间轴 --- */
.fyez-timeline{position:relative;padding-left:40px;margin:20px 0}
.fyez-timeline::before{content:'';position:absolute;left:14px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--fyez-brand-orange),#D946EF)}
.fyez-timeline-item{position:relative;padding:0 0 28px}
.fyez-timeline-item::before{content:'';position:absolute;left:-33px;top:4px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--fyez-brand-orange);box-shadow:0 0 0 4px rgba(244,122,32,.12)}
.fyez-timeline-year{font-family:var(--fyez-font-mono);font-size:14px;font-weight:700;color:var(--fyez-brand-orange-deep);margin-bottom:6px}
.fyez-timeline-title{font-size:16px;font-weight:700;color:var(--fyez-ink);margin-bottom:6px}
.fyez-timeline-desc{font-size:14px;color:var(--fyez-text-muted);line-height:1.7}
.fyez-timeline-placeholder{color:var(--fyez-text-soft);font-style:italic;font-size:13px}

/* --- 关于原则卡片 --- */
.fyez-principle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:20px 0}
.fyez-principle-card{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--fyez-gray-line);box-shadow:var(--fyez-shadow-sm)}
.fyez-principle-num{font-family:var(--fyez-font-mono);font-size:28px;font-weight:800;color:var(--fyez-brand-orange);line-height:1;margin-bottom:8px}
.fyez-principle-title{font-size:16px;font-weight:700;color:var(--fyez-ink);margin-bottom:6px}
.fyez-principle-desc{font-size:13px;color:var(--fyez-text-muted);line-height:1.65}

/* --- 打卡活动卡片 --- */
.fyez-checkin-card{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--fyez-gray-line);box-shadow:var(--fyez-shadow-sm)}
.fyez-checkin-status{display:inline-block;padding:3px 10px;border-radius:6px;background:rgba(132,204,22,.15);color:#65A30D;font-size:12px;font-weight:700;margin-bottom:12px}
.fyez-checkin-title{font-size:18px;font-weight:700;color:var(--fyez-ink);margin-bottom:10px}
.fyez-checkin-progress{font-size:13px;color:var(--fyez-text-muted);margin-bottom:8px;font-weight:500}
.fyez-checkin-rule{font-size:13px;color:var(--fyez-text-muted);padding:10px 12px;background:var(--fyez-gray-light);border-radius:10px;margin-bottom:12px;line-height:1.6}
.fyez-checkin-reward{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--fyez-status-passed)}
.fyez-checkin-join{display:block;width:100%;padding:12px;border-radius:12px;background:linear-gradient(90deg,#84CC16,#38BDF8);color:#fff;font-size:15px;font-weight:700;text-align:center;border:0;cursor:pointer}
.fyez-checkin-qr{margin-top:14px;padding:14px;background:var(--fyez-gray-light);border-radius:10px;text-align:center;color:var(--fyez-text-muted);font-size:12px}
.fyez-checkin-qr .qr-placeholder{width:120px;height:120px;margin:0 auto 8px;background:#fff;border:2px dashed var(--fyez-gray-line);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--fyez-text-soft);font-size:11px;font-weight:600}

@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
