:root{
    --bg:#f4fbfc;
    --bg-strong:#e2f2f6;
    --panel:#ffffff;
    --panel-soft:rgba(255,255,255,.74);
    --text:#18313a;
    --muted:#64808a;
    --brand:#7cb8c7;
    --brand-deep:#4a90a3;
    --accent:#ff9f6e;
    --line:rgba(84,134,147,.16);
    --shadow:0 22px 48px rgba(93,138,150,.15);
    --radius-xl:30px;
    --radius-lg:22px;
    --radius-md:16px;
    --font:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    font-family:var(--font);
    color:var(--text);
    background:
        radial-gradient(circle at top left, rgba(226,242,246,.95), rgba(244,251,252,.72) 38%, rgba(255,255,255,.96) 78%),
        linear-gradient(180deg,#f7fcfd 0,#eff8fa 100%);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.course-shell{min-height:100vh}
.course-wrap{width:min(1220px,calc(100% - 32px));margin:0 auto}
.site-nav{
    position:sticky;
    top:0;
    z-index:30;
    backdrop-filter:blur(18px);
    background:rgba(247,252,253,.75);
    border-bottom:1px solid rgba(84,134,147,.12);
}
.site-nav-inner{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
    padding:16px 0;
}
.brand-mark{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:24px;
    font-weight:800;
    letter-spacing:.04em;
}
.brand-logo{
    width:44px;
    height:44px;
    border-radius:14px;
    background:linear-gradient(145deg,#8ec9d6,#d8f0f5);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px rgba(124,184,199,.28);
    display:grid;
    place-items:center;
}
.brand-logo svg{width:24px;height:24px;fill:#1d6173}
.nav-links{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}
.nav-links a{
    padding:10px 16px;
    border-radius:999px;
    color:var(--muted);
    transition:.2s ease;
}
.nav-links a.active,
.nav-links a:hover{
    color:var(--text);
    background:rgba(255,255,255,.78);
    box-shadow:0 8px 22px rgba(114,165,178,.12);
}
.nav-tools{
    display:flex;
    align-items:center;
    gap:12px;
    justify-content:flex-end;
}
.nav-user-menu{
    position:relative;
}
.nav-user-trigger{
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(84,134,147,.12);
    background:rgba(255,255,255,.9);
    box-shadow:0 10px 24px rgba(114,165,178,.08);
    border-radius:999px;
    padding:8px 12px 8px 8px;
    cursor:pointer;
    color:var(--text);
}
.nav-user-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    overflow:hidden;
    background:linear-gradient(135deg,#d8eef4,#a8d4e0);
    display:grid;
    place-items:center;
    color:#1d5667;
    font-weight:800;
    flex:none;
}
.nav-user-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.nav-user-name{
    max-width:92px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:700;
}
.nav-user-caret{
    width:10px;
    height:10px;
    border-right:2px solid #5e7c86;
    border-bottom:2px solid #5e7c86;
    transform:rotate(45deg);
    margin-top:-4px;
    transition:.2s ease;
}
.nav-user-menu.open .nav-user-caret{
    transform:rotate(225deg);
    margin-top:4px;
}
.nav-user-dropdown{
    position:absolute;
    right:0;
    top:calc(100% + 12px);
    min-width:180px;
    padding:10px;
    border-radius:20px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(84,134,147,.12);
    box-shadow:0 24px 40px rgba(87,130,142,.16);
    display:none;
}
.nav-user-menu.open .nav-user-dropdown{
    display:grid;
}
.nav-user-dropdown a{
    padding:12px 14px;
    border-radius:14px;
    color:var(--text);
}
.nav-user-dropdown a:hover{
    background:rgba(226,242,246,.82);
}
.search-box{
    display:flex;
    align-items:center;
    gap:10px;
    width:min(320px,100%);
    padding:12px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(84,134,147,.12);
    box-shadow:0 10px 24px rgba(114,165,178,.08);
}
.search-box svg{width:18px;height:18px;fill:#75aab8;flex:none}
.search-box input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:var(--text);
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    cursor:pointer;
    padding:12px 20px;
    border-radius:999px;
    font-weight:700;
    transition:.2s ease;
    white-space:nowrap;
    line-height:1.1;
}
.btn-primary{
    color:#173540;
    background:linear-gradient(135deg,#d8eef4,#a8d4e0);
    box-shadow:0 16px 28px rgba(124,184,199,.26);
}
.nav-tools .btn-primary{
    min-width:108px;
    padding:12px 18px;
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{
    color:var(--brand-deep);
    background:rgba(255,255,255,.84);
    border:1px solid rgba(84,134,147,.12);
}
.hero{
    padding:34px 0 22px;
}
.hero-grid{
    display:grid;
    grid-template-columns:1.28fr .72fr;
    gap:20px;
}
.hero-main,.hero-side,.glass-card,.course-card,.comment-card,.auth-card,.panel-card,.player-stage{
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}
.hero-main{
    padding:36px;
    border-radius:var(--radius-xl);
    background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,255,255,.62)),
        linear-gradient(120deg, rgba(226,242,246,.95), rgba(255,255,255,.88));
    overflow:hidden;
    position:relative;
}
.hero-main::after{
    content:"";
    position:absolute;
    right:-60px;
    top:-40px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(124,184,199,.28), rgba(124,184,199,0));
}
.hero-main h1{
    margin:14px 0 14px;
    font-size:52px;
    line-height:1.08;
    max-width:700px;
}
.hero-main p{
    margin:0 0 22px;
    font-size:16px;
    line-height:1.85;
    color:#496671;
    max-width:720px;
}
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#4c7784;
    font-weight:700;
}
.eyebrow svg{width:16px;height:16px;fill:#4c7784}
.hero-badges,.mini-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.hero-badges span,.mini-tags span{
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.82);
    color:#4d6f79;
    font-size:13px;
}
.hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:24px;
}
.hero-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:28px;
}
.stat-box{
    padding:16px 18px;
    border-radius:20px;
    background:rgba(255,255,255,.74);
}
.stat-box strong{
    display:block;
    font-size:28px;
    margin-bottom:6px;
}
.hero-side{
    border-radius:var(--radius-xl);
    padding:28px;
    background:linear-gradient(180deg,#1d5564 0,#7db5c4 100%);
    color:#fff;
}
.hero-side h3,.hero-side h4{margin-top:0}
.hero-side p{line-height:1.9;color:rgba(255,255,255,.86)}
.hero-side .side-list{
    display:grid;
    gap:14px;
    margin-top:22px;
}
.hero-side .side-item{
    padding:16px 18px;
    border-radius:18px;
    background:rgba(255,255,255,.12);
}
.section{padding:18px 0}
.section-head{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:end;
    margin-bottom:18px;
}
.section-head h2,.page-hero h1{margin:0}
.section-head p,.subtle,.page-hero p{margin:8px 0 0;color:var(--muted);line-height:1.8}
.card-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.course-card{
    background:rgba(255,255,255,.92);
    border-radius:26px;
    overflow:hidden;
}
.course-cover{
    position:relative;
    aspect-ratio:16/10;
    background:linear-gradient(135deg,#c8e7ef,#8ebfcc);
}
.course-cover img{width:100%;height:100%;object-fit:cover}
.course-cover .fallback-art{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#195264;
    background:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.6), transparent 35%),
        linear-gradient(135deg,#dff2f6,#a4cfdb);
}
.course-cover .fallback-art svg{width:62px;height:62px;fill:#195264}
.course-body{padding:18px}
.course-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:var(--muted);
    font-size:13px;
    margin-bottom:10px;
}
.course-title{
    margin:0 0 10px;
    font-size:20px;
}
.course-desc{
    min-height:48px;
    color:#52707a;
    line-height:1.75;
}
.course-foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:16px;
}
.price{
    font-size:26px;
    font-weight:800;
    color:#1b5f72;
}
.comment-grid,.metric-grid,.detail-grid,.center-grid,.history-grid{
    display:grid;
    gap:18px;
}
.comment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-card,.glass-card,.panel-card{
    border-radius:24px;
    background:rgba(255,255,255,.88);
    padding:22px;
}
.comment-card p{color:#4e6d77;line-height:1.8}
.comment-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.page-hero{
    padding:28px 0 8px;
}
.page-hero-box{
    padding:30px;
    border-radius:30px;
    border:1px solid var(--line);
    background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(226,242,246,.75));
    box-shadow:var(--shadow);
}
.filters{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:20px;
}
.chip,.sort-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 14px;
    border-radius:999px;
    border:1px solid rgba(84,134,147,.14);
    background:rgba(255,255,255,.86);
    color:#4c717c;
    cursor:pointer;
}
.chip.active,.sort-chip.active{
    background:#d9eef3;
    color:#164f60;
    border-color:rgba(84,134,147,.22);
}
.list-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:18px 0;
}
.sort-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.empty-state{
    padding:30px;
    text-align:center;
    color:var(--muted);
}
.detail-grid{
    grid-template-columns:1.05fr .95fr;
    align-items:start;
}
.pay-layout{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) 360px;
    gap:20px;
    align-items:start;
}
.pay-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.pay-header h2{margin:0 0 8px}
.pay-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}
.pay-summary-item{
    padding:18px;
    border-radius:18px;
    background:rgba(246,252,253,.96);
    border:1px solid rgba(84,134,147,.12);
}
.pay-summary-item span{
    display:block;
    color:var(--muted);
    font-size:13px;
    margin-bottom:8px;
}
.pay-summary-item strong{
    display:block;
    font-size:16px;
}
.pay-methods{
    display:grid;
    gap:14px;
    margin-bottom:20px;
}
.pay-method{
    width:100%;
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
    padding:18px 20px;
    border-radius:22px;
    border:1px solid rgba(84,134,147,.12);
    background:#fff;
    cursor:pointer;
    transition:.2s ease;
}
.pay-method.active{
    background:linear-gradient(135deg,#edf8fa,#d8eef4);
    border-color:rgba(84,134,147,.2);
    box-shadow:0 16px 30px rgba(124,184,199,.12);
}
.pay-method span small{
    display:block;
    margin-top:4px;
    color:var(--muted);
}
.pay-method-icon{
    width:46px;
    height:46px;
    border-radius:16px;
    display:grid;
    place-items:center;
    color:#fff;
    font-weight:800;
    flex:none;
}
.pay-wechat{background:linear-gradient(135deg,#4ecb71,#1f9d52)}
.pay-alipay{background:linear-gradient(135deg,#53a8ff,#1f77f4)}
.pay-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
.pay-side{
    position:sticky;
    top:104px;
}
.pay-result-box{
    min-height:420px;
    display:grid;
    place-items:center;
}
.pay-placeholder,.pay-qrcode-box{
    width:100%;
    text-align:center;
}
.pay-placeholder-icon{
    width:72px;
    height:72px;
    margin:0 auto 16px;
    border-radius:24px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#d8eef4,#9ecbd7);
    color:#1d5667;
    font-size:28px;
    font-weight:800;
}
.pay-qrcode{
    width:220px;
    height:220px;
    margin:18px auto;
    border-radius:24px;
    background:
        linear-gradient(45deg,rgba(24,49,58,.12) 25%,transparent 25%,transparent 50%,rgba(24,49,58,.12) 50%,rgba(24,49,58,.12) 75%,transparent 75%,transparent),
        linear-gradient(135deg,#ffffff,#e6f4f7);
    background-size:22px 22px,100% 100%;
    border:1px solid rgba(84,134,147,.16);
    display:grid;
    place-items:center;
    color:#315865;
    padding:24px;
    line-height:1.8;
}
.pay-qrcode-title{
    font-size:24px;
    font-weight:800;
}
.pay-tips{
    display:grid;
    gap:12px;
}
.detail-cover{
    border-radius:28px;
    overflow:hidden;
    aspect-ratio:16/10;
    background:linear-gradient(135deg,#dff2f6,#9ecbd7);
}
.detail-panel{
    display:grid;
    gap:18px;
}
.detail-bullets{
    display:grid;
    gap:12px;
}
.bullet-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.bullet-item svg{width:18px;height:18px;fill:#4f8695;flex:none;margin-top:3px}
.outline-list{
    display:grid;
    gap:14px;
}
.outline-item{
    padding:18px;
    border-radius:18px;
    background:rgba(246,252,253,.96);
    border:1px solid rgba(84,134,147,.12);
}
.outline-materials{
    display:grid;
    gap:10px;
    margin-top:12px;
}
.outline-material{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:14px;
    background:#fff;
}
.outline-material small{color:var(--muted)}
.status-lock{color:#d77d4f}
.status-free{color:#2e8a64}
.about-grid,.auth-layout{
    display:grid;
    gap:20px;
}
.about-grid{grid-template-columns:1fr 1fr}
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-box{
    padding:22px;
    border-radius:24px;
    background:rgba(255,255,255,.88);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}
.metric-box strong{display:block;font-size:30px;margin-bottom:8px}
.center-grid{
    grid-template-columns:320px 1fr;
    align-items:start;
}
.profile-card{
    border-radius:28px;
    padding:26px;
    background:linear-gradient(180deg,#1d5665,#83bdca);
    color:#fff;
    box-shadow:var(--shadow);
}
.avatar-ring{
    width:82px;
    height:82px;
    border-radius:50%;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.22);
    margin-bottom:18px;
}
.avatar-ring img{width:100%;height:100%;object-fit:cover}
.profile-card .tag-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}
.profile-card .tag-list span{
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.tab-btn{
    border:0;
    cursor:pointer;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(226,242,246,.8);
    color:#2f5a66;
    font-weight:700;
}
.tab-btn.active{background:#87c1ce;color:#fff}
.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.history-card{
    display:flex;
    gap:14px;
    padding:16px;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(84,134,147,.12);
}
.history-thumb{
    width:118px;
    height:84px;
    border-radius:16px;
    overflow:hidden;
    background:linear-gradient(135deg,#dff2f6,#9ecbd7);
    flex:none;
}
.history-thumb img{width:100%;height:100%;object-fit:cover}
.player-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:20px;
    padding:28px 0 36px;
}
.player-stage{
    border-radius:28px;
    overflow:hidden;
    background:rgba(255,255,255,.9);
}
.player-screen{
    aspect-ratio:16/9;
    background:linear-gradient(135deg,#173944,#274f5c);
    color:#fff;
    display:grid;
    place-items:center;
    padding:24px;
}
.player-screen video,.player-screen iframe,.player-screen img{
    width:100%;
    height:100%;
    object-fit:contain;
    border:0;
    border-radius:0;
}
.player-info{padding:22px}
.playlist{
    border-radius:28px;
    background:rgba(255,255,255,.9);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:20px;
}
.playlist-group{margin-bottom:14px}
.playlist-group h4{margin:0 0 10px}
.playlist-item{
    width:100%;
    text-align:left;
    border:1px solid rgba(84,134,147,.1);
    background:#fff;
    border-radius:16px;
    padding:12px 14px;
    margin-bottom:10px;
    cursor:pointer;
}
.playlist-item.active{background:#dff1f5;border-color:rgba(84,134,147,.24)}
.auth-page{
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(226,242,246,.94), rgba(247,252,253,.88) 36%, rgba(255,255,255,.98) 76%),
        linear-gradient(180deg,#f7fcfd 0,#eef8fa 100%);
}
.auth-layout{
    min-height:100vh;
    grid-template-columns:1.08fr .92fr;
    align-items:center;
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
}
.auth-showcase{
    padding:28px;
}
.auth-showcase .showcase-box{
    border-radius:34px;
    padding:36px;
    background:linear-gradient(145deg,#17414e 0,#7cb7c5 100%);
    color:#fff;
    box-shadow:0 28px 58px rgba(76,124,136,.28);
}
.auth-showcase p{line-height:1.9;color:rgba(255,255,255,.86)}
.showcase-points{
    display:grid;
    gap:14px;
    margin-top:24px;
}
.showcase-points .point{
    padding:16px 18px;
    border-radius:18px;
    background:rgba(255,255,255,.12);
}
.auth-card{
    border-radius:34px;
    padding:32px;
    background:rgba(255,255,255,.9);
}
.auth-tabs{
    display:flex;
    gap:10px;
    margin-bottom:22px;
}
.auth-tabs a{
    padding:10px 16px;
    border-radius:999px;
    background:rgba(226,242,246,.72);
    color:#486974;
    font-weight:700;
}
.auth-tabs a.active{background:#8ac3d0;color:#fff}
.auth-card h1{margin:0 0 10px;font-size:34px}
.auth-card p{margin:0 0 22px;color:var(--muted);line-height:1.8}
.field-grid{
    display:grid;
    gap:16px;
}
.field input,.field textarea{
    width:100%;
    padding:15px 16px;
    border-radius:16px;
    border:1px solid rgba(84,134,147,.16);
    background:rgba(248,252,253,.96);
    outline:0;
}
.field textarea{min-height:110px;resize:vertical}
.inline-row{
    display:grid;
    grid-template-columns:1fr 144px;
    gap:12px;
}
.tiny-note{font-size:13px;color:var(--muted)}
.footer-strip{
    padding:28px 0 42px;
    color:#6d8891;
}
.footer-strip .course-wrap{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
}
@media (max-width:1080px){
    .hero-grid,.detail-grid,.player-layout,.center-grid,.auth-layout,.about-grid,.pay-layout{grid-template-columns:1fr}
    .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .comment-grid{grid-template-columns:1fr 1fr}
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .site-nav-inner{grid-template-columns:1fr}
    .nav-links,.nav-tools{justify-content:flex-start}
}
@media (max-width:720px){
    .course-wrap,.auth-layout{width:min(100% - 20px,1220px)}
    .hero-main{padding:26px}
    .hero-main h1{font-size:34px}
    .hero-stats,.card-grid,.comment-grid,.metric-grid,.history-grid,.inline-row,.pay-summary{grid-template-columns:1fr}
    .section-head,.list-toolbar{grid-template-columns:1fr}
    .search-box{width:100%}
    .auth-card,.auth-showcase .showcase-box,.page-hero-box,.glass-card,.panel-card{padding:22px}
}

/* ===== FENGQI-AI-THEME 风起AI 主题增强 ===== */
:root{
    --bg:#f5f7fb;--bg-strong:#eef1f8;--panel:#ffffff;--text:#0f172a;--muted:#64748b;
    --brand:#6366f1;--brand-deep:#4f46e5;--accent:#ec4899;
    --line:rgba(99,102,241,.14);--shadow:0 22px 48px rgba(79,70,229,.14);
}
body{
    background:
        radial-gradient(1100px 560px at 100% -8%, rgba(99,102,241,.14), transparent 60%),
        radial-gradient(900px 480px at -8% 8%, rgba(236,72,153,.10), transparent 55%),
        linear-gradient(180deg,#f7f8fc 0,#eef1f8 100%) !important;
}
.brand-logo{background:linear-gradient(145deg,#6366f1,#a855f7) !important;box-shadow:0 10px 24px rgba(99,102,241,.34) !important;}
.brand-logo svg{fill:none !important;stroke:#fff !important;stroke-width:2 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
.brand-mark span:last-child{color:var(--brand-deep);}
.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6) !important;border:none !important;color:#fff !important;box-shadow:0 10px 24px rgba(99,102,241,.30) !important;}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.06);}
.nav-links a.active,.nav-links a:hover{color:var(--brand-deep);background:rgba(99,102,241,.10);box-shadow:none;}
.course-card{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .22s ease,box-shadow .22s ease;}
.course-card:hover{transform:translateY(-6px);box-shadow:0 26px 52px rgba(79,70,229,.20);}
.course-cover{overflow:hidden;}
.course-cover img{transition:transform .4s ease;}
.course-card:hover .course-cover img{transform:scale(1.06);}
.hero-side{background:linear-gradient(160deg,#4f46e5,#7c3aed) !important;color:#fff !important;}
.hero-side h3,.hero-side p,.hero-side strong{color:#fff !important;}
.stat-box strong{background:linear-gradient(90deg,#6366f1,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:30px;}
.comment-card{border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 30px rgba(79,70,229,.08);transition:.2s ease;}
.comment-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(79,70,229,.16);}
.chip.active,.sort-chip.active{background:linear-gradient(135deg,#6366f1,#8b5cf6) !important;color:#fff !important;border-color:transparent !important;}
.footer-strip{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);}
.footer-strip .course-wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;}
.site-beian a{color:var(--muted);transition:.2s;}
.site-beian a:hover{color:var(--brand-deep);}
.site-auto-footer{margin-top:40px;}
/* ===== /FENGQI-AI-THEME ===== */
