/* ===== 蘑菇TV - 活力橙蘑菇森林·卡通游戏风格 ===== */
@import url('https://fonts.googleapis.com/css2?family=Russo+One&family=Press+Start+2P&family=ZCOOL+KuaiLe&display=swap');

:root {
    --orange-start: #FF8C42;
    --orange-end: #FFB347;
    --forest-green: #2ECC71;
    --forest-deep: #27AE60;
    --cream-white: #FFF5E6;
    --earth-brown: #795548;
    --earth-light: #8D6E63;
    --spot-red: #E74C3C;
    --spot-deep: #C0392B;
    --gold-yellow: #F1C40F;
    --sky-blue: #87CEEB;
    --text-dark: #4E342E;
    --text-body: #5D4037;
    --text-muted: #8D6E63;
    --shadow-warm: rgba(255, 140, 66, 0.3);
    --shadow-green: rgba(46, 204, 113, 0.25);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;
    background: linear-gradient(180deg, #E8F8E8 0%, #FFF5E6 30%, #FFF8EC 100%);
    color: var(--text-body);
    line-height: 1.8;
    overflow-x: hidden;
    min-height: 100vh;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 10% 20%, rgba(46, 204, 113, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(255, 140, 66, 0.08) 0%, transparent 40%);
    pointer-events: none;
    z-index: -1;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }

/* ===== 漂浮粒子装饰 ===== */
.floating-particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.particle {
    position: absolute;
    font-size: 20px;
    animation: floatUp linear infinite;
    opacity: 0.6;
}

@keyframes floatUp {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% { opacity: 0.7; }
    90% { opacity: 0.7; }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

/* ===== 像素字体类 ===== */
.pixel-font {
    font-family: 'Press Start 2P', cursive;
}

.russo-font {
    font-family: 'Russo One', sans-serif;
}

/* ===== 蘑菇LOGO ===== */
.mushroom-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mushroom-icon {
    width: 56px;
    height: 60px;
    position: relative;
    flex-shrink: 0;
    filter: drop-shadow(2px 4px 0 rgba(121, 85, 72, 0.3));
}

.mushroom-icon .cap {
    position: absolute;
    top: 0;
    left: 0;
    width: 56px;
    height: 34px;
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--orange-end) 100%);
    border-radius: 28px 28px 4px 4px;
    border: 3px solid var(--spot-red);
    box-shadow: inset 0 -4px 0 rgba(0,0,0,0.1);
}

.mushroom-icon .cap::before,
.mushroom-icon .cap::after {
    content: "";
    position: absolute;
    background: var(--cream-white);
    border-radius: 50%;
}

.mushroom-icon .cap::before {
    width: 10px;
    height: 10px;
    top: 6px;
    left: 8px;
    box-shadow: 22px 4px 0 -1px var(--cream-white);
}

.mushroom-icon .cap::after {
    width: 8px;
    height: 8px;
    top: 16px;
    right: 10px;
}

.mushroom-icon .cap .dot-extra {
    position: absolute;
    width: 7px;
    height: 7px;
    background: var(--cream-white);
    border-radius: 50%;
    top: 10px;
    left: 26px;
}

.mushroom-icon .stem {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 30px;
    background: var(--cream-white);
    border-radius: 0 0 8px 8px;
    border: 3px solid var(--earth-brown);
    border-top: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mushroom-icon .stem .tv-text {
    font-family: 'Press Start 2P', cursive;
    font-size: 7px;
    color: var(--orange-start);
    font-weight: bold;
    letter-spacing: -0.5px;
}

.logo-text .brand-name {
    font-family: 'Russo One', sans-serif;
    font-size: 26px;
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--spot-red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 1px;
    text-shadow: 2px 2px 0 rgba(255,179,71,0.3);
    filter: drop-shadow(1px 2px 0 var(--earth-brown));
}

.logo-text .brand-tag {
    font-family: 'Press Start 2P', cursive;
    font-size: 8px;
    color: var(--forest-green);
    letter-spacing: 1px;
    margin-top: 2px;
}

/* ===== 顶部导航 ===== */
.mg-header {
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,245,230,0.98) 100%);
    backdrop-filter: blur(10px);
    padding: 14px 0;
    position: sticky;
    top: 0;
    z-index: 500;
    border-bottom: 4px solid var(--orange-start);
    box-shadow: 0 4px 0 var(--spot-red), 0 8px 30px rgba(255, 140, 66, 0.15);
}

.mg-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.mg-user-btns {
    display: flex;
    gap: 12px;
    align-items: center;
}

.pixel-btn {
    padding: 10px 22px;
    border-radius: 8px;
    font-family: 'ZCOOL KuaiLe', sans-serif;
    font-size: 15px;
    font-weight: bold;
    transition: all 0.15s;
    position: relative;
    border: 3px solid var(--earth-brown);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pixel-btn-login {
    background: var(--cream-white);
    color: var(--text-dark);
    box-shadow: 0 4px 0 var(--earth-brown);
}

.pixel-btn-login:hover {
    background: #FFF0D4;
    transform: translateY(2px);
    box-shadow: 0 2px 0 var(--earth-brown);
}

.pixel-btn-vip {
    background: linear-gradient(180deg, var(--gold-yellow) 0%, #F39C12 100%);
    color: var(--text-dark);
    box-shadow: 0 4px 0 #B7950B, 0 0 0 3px rgba(241, 196, 15, 0.3);
    animation: shine 2s ease-in-out infinite;
}

@keyframes shine {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.15); }
}

.pixel-btn-vip:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #B7950B, 0 0 0 3px rgba(241, 196, 15, 0.3);
}

/* ===== 主导航条 ===== */
.mg-nav {
    background: linear-gradient(180deg, var(--forest-green) 0%, var(--forest-deep) 100%);
    border-bottom: 4px solid var(--earth-brown);
    box-shadow: 0 4px 0 rgba(121, 85, 72, 0.3), 0 8px 20px rgba(46, 204, 113, 0.2);
    position: relative;
}

.mg-nav::before,
.mg-nav::after {
    content: "🍃";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    opacity: 0.6;
}

.mg-nav::before { left: 20px; transform: translateY(-50%) rotate(-15deg); }
.mg-nav::after { right: 20px; transform: translateY(-50%) rotate(15deg); }

.mg-nav ul {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 60px;
    justify-content: center;
}

.mg-nav li {
    position: relative;
}

.mg-nav a {
    display: block;
    padding: 18px 28px;
    color: var(--cream-white);
    font-weight: bold;
    font-size: 16px;
    font-family: 'ZCOOL KuaiLe', sans-serif;
    transition: all 0.2s;
    position: relative;
    text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}

.mg-nav a::after {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 4px;
    background: var(--gold-yellow);
    border-radius: 2px;
    transition: width 0.3s;
    box-shadow: 0 2px 0 rgba(0,0,0,0.2);
}

.mg-nav a:hover {
    color: var(--gold-yellow);
    transform: translateY(-2px);
}

.mg-nav a:hover::after {
    width: 60%;
}

.mg-nav a.active {
    color: var(--gold-yellow);
}

.mg-nav a.active::after {
    width: 60%;
}

/* ===== 马里奥对话框气泡 ===== */
.dialog-bubble {
    position: relative;
    background: var(--cream-white);
    border: 4px solid var(--earth-brown);
    border-radius: 20px;
    padding: 16px 24px;
    box-shadow: 4px 6px 0 var(--earth-brown), 0 10px 30px rgba(0,0,0,0.1);
}

.dialog-bubble::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 40px;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 20px solid var(--earth-brown);
}

.dialog-bubble::before {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 44px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 14px solid var(--cream-white);
    z-index: 1;
}

/* ===== HERO 区域 ===== */
.mg-hero {
    padding: 60px 0 100px;
    position: relative;
    overflow: hidden;
}

.mg-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse at 20% 10%, rgba(255, 179, 71, 0.3) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 90%, rgba(46, 204, 113, 0.25) 0%, transparent 50%),
        linear-gradient(180deg, #D4F5D4 0%, #FFF5E6 60%, #FFF8EC 100%);
}

.mg-hero-decor {
    position: absolute;
    font-size: 40px;
    opacity: 0.7;
    animation: bobble 3s ease-in-out infinite;
}

.mg-hero-decor.d1 { top: 80px; left: 5%; animation-delay: 0s; font-size: 50px; }
.mg-hero-decor.d2 { top: 120px; right: 8%; animation-delay: 0.5s; font-size: 35px; }
.mg-hero-decor.d3 { bottom: 60px; left: 12%; animation-delay: 1s; font-size: 45px; }
.mg-hero-decor.d4 { bottom: 100px; right: 15%; animation-delay: 1.5s; font-size: 30px; }
.mg-hero-decor.d5 { top: 200px; left: 20%; animation-delay: 0.8s; font-size: 25px; }
.mg-hero-decor.d6 { top: 250px; right: 25%; animation-delay: 1.2s; font-size: 28px; }

@keyframes bobble {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(5deg); }
}

.mg-hero-content {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-top: 20px;
}

.mg-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(90deg, var(--forest-green), var(--orange-start));
    color: white;
    padding: 10px 26px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 32px;
    border: 3px solid white;
    box-shadow: 0 4px 0 var(--earth-brown), 0 8px 20px var(--shadow-warm);
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.04); }
}

.mg-hero-title {
    font-family: 'Russo One', sans-serif;
    font-size: 96px;
    font-weight: 900;
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--orange-end) 40%, var(--spot-red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    letter-spacing: 4px;
    margin-bottom: 8px;
    filter: drop-shadow(5px 6px 0 var(--earth-brown)) drop-shadow(8px 10px 0 rgba(46, 204, 113, 0.4));
    position: relative;
}

.mg-hero-title::before,
.mg-hero-title::after {
    content: "✨";
    position: absolute;
    font-size: 32px;
    -webkit-text-fill-color: initial;
    filter: none;
}

.mg-hero-title::before { top: -10px; left: -10px; transform: rotate(-20deg); animation: sparkle 1.5s ease-in-out infinite; }
.mg-hero-title::after { bottom: 10px; right: -10px; transform: rotate(15deg); animation: sparkle 1.5s ease-in-out infinite 0.75s; }

@keyframes sparkle {
    0%, 100% { opacity: 1; transform: rotate(-20deg) scale(1); }
    50% { opacity: 0.5; transform: rotate(10deg) scale(1.3); }
}

.mg-hero-subtitle {
    font-family: 'Russo One', sans-serif;
    font-size: 42px;
    color: var(--forest-green);
    margin-bottom: 28px;
    letter-spacing: 6px;
    text-shadow: 2px 3px 0 var(--earth-brown);
}

.mg-hero-desc {
    font-size: 20px;
    color: var(--text-body);
    max-width: 680px;
    margin: 0 auto 44px;
    line-height: 2;
    position: relative;
}

.mg-hero-desc::before,
.mg-hero-desc::after {
    content: "🍄";
    font-size: 22px;
    margin: 0 12px;
    vertical-align: middle;
}

.mg-hero-btns {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-btn {
    padding: 18px 44px;
    border-radius: 16px;
    font-family: 'ZCOOL KuaiLe', sans-serif;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.15s;
    position: relative;
    border: 4px solid var(--earth-brown);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 1px;
}

.hero-btn-primary {
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--spot-red) 100%);
    color: white;
    box-shadow: 0 6px 0 var(--earth-brown), 0 12px 30px var(--shadow-warm);
    text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}

.hero-btn-primary:hover {
    transform: translateY(3px);
    box-shadow: 0 3px 0 var(--earth-brown), 0 8px 20px var(--shadow-warm);
}

.hero-btn-secondary {
    background: linear-gradient(180deg, var(--forest-green) 0%, var(--forest-deep) 100%);
    color: white;
    box-shadow: 0 6px 0 var(--earth-brown), 0 12px 30px var(--shadow-green);
    text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}

.hero-btn-secondary:hover {
    transform: translateY(3px);
    box-shadow: 0 3px 0 var(--earth-brown), 0 8px 20px var(--shadow-green);
}

.hero-btn span.icon {
    font-size: 22px;
    animation: bobble 1.5s ease-in-out infinite;
}

/* ===== 蘑菇屋装饰 ===== */
.mushroom-house {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    filter: drop-shadow(4px 8px 0 rgba(121, 85, 72, 0.3));
}

.mushroom-house .house-cap {
    width: 100%;
    height: 140px;
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--orange-end) 50%, #FFA726 100%);
    border-radius: 200px 200px 20px 20px;
    border: 5px solid var(--spot-red);
    position: relative;
    box-shadow: inset 0 -10px 0 rgba(0,0,0,0.1);
}

.mushroom-house .house-cap::before,
.mushroom-house .house-cap::after {
    content: "";
    position: absolute;
    background: var(--cream-white);
    border-radius: 50%;
    border: 3px solid var(--earth-brown);
}

.mushroom-house .house-cap::before {
    width: 50px;
    height: 50px;
    top: 20px;
    left: 40px;
    box-shadow: 140px 10px 0 -5px var(--cream-white), 140px 10px 0 -2px var(--earth-brown);
}

.mushroom-house .house-cap::after {
    width: 40px;
    height: 40px;
    top: 60px;
    right: 60px;
}

.mushroom-house .house-stem {
    width: 70%;
    height: 110px;
    background: var(--cream-white);
    margin: 0 auto;
    border: 5px solid var(--earth-brown);
    border-top: none;
    border-radius: 0 0 16px 16px;
    position: relative;
}

.mushroom-house .house-door {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 65px;
    background: var(--earth-brown);
    border-radius: 25px 25px 0 0;
    border: 3px solid #3E2723;
}

.mushroom-house .house-door::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--gold-yellow);
    border-radius: 50%;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    box-shadow: 0 0 0 2px #B7950B;
}

.mushroom-house .house-window {
    position: absolute;
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #87CEEB, #4FC3F7);
    border-radius: 50%;
    border: 3px solid var(--earth-brown);
    top: 20px;
}

.mushroom-house .house-window.w1 { left: 20px; }
.mushroom-house .house-window.w2 { right: 20px; }

.mushroom-house .house-window::after {
    content: "+";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgba(255,255,255,0.5);
    font-size: 20px;
    font-weight: bold;
}

/* ===== 数据统计条 ===== */
.mg-stats {
    background: linear-gradient(180deg, var(--earth-brown) 0%, #5D4037 100%);
    padding: 40px 0;
    position: relative;
    border-top: 5px solid var(--orange-start);
    border-bottom: 5px solid var(--forest-green);
}

.mg-stats::before,
.mg-stats::after {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 8px;
    background: repeating-linear-gradient(90deg,
        var(--orange-start) 0px, var(--orange-start) 20px,
        var(--spot-red) 20px, var(--spot-red) 40px,
        var(--gold-yellow) 40px, var(--gold-yellow) 60px,
        var(--forest-green) 60px, var(--forest-green) 80px);
}

.mg-stats::after {
    top: auto;
    bottom: 0;
}

.mg-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.mg-stat-item {
    position: relative;
}

.mg-stat-item::after {
    content: "";
    position: absolute;
    right: -16px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 50px;
    background: repeating-linear-gradient(0deg,
        rgba(255,245,230,0.3) 0, rgba(255,245,230,0.3) 4px,
        transparent 4px, transparent 8px);
}

.mg-stat-item:last-child::after { display: none; }

.mg-stat-icon {
    font-size: 36px;
    margin-bottom: 8px;
    display: block;
    filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.3));
}

.mg-stat-num {
    font-family: 'Russo One', sans-serif;
    font-size: 44px;
    font-weight: 900;
    background: linear-gradient(180deg, var(--gold-yellow) 0%, #F39C12 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 4px;
    filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.3));
}

.mg-stat-label {
    font-size: 15px;
    color: var(--cream-white);
    font-weight: bold;
    letter-spacing: 2px;
    opacity: 0.95;
}

/* ===== 板块通用样式 ===== */
.mg-section {
    padding: 90px 0;
    position: relative;
}

.mg-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 10px;
    background: linear-gradient(90deg, transparent, var(--orange-start), var(--forest-green), transparent);
    border-radius: 5px;
}

.mg-section-header {
    text-align: center;
    margin-bottom: 56px;
    position: relative;
}

.mg-section-tag {
    display: inline-block;
    font-family: 'Press Start 2P', cursive;
    font-size: 11px;
    background: linear-gradient(90deg, var(--orange-start), var(--forest-green));
    color: white;
    padding: 8px 18px;
    border-radius: 8px;
    letter-spacing: 2px;
    margin-bottom: 16px;
    box-shadow: 0 3px 0 var(--earth-brown);
    border: 2px solid var(--earth-brown);
}

.mg-section-title {
    font-family: 'Russo One', sans-serif;
    font-size: 44px;
    font-weight: 900;
    color: var(--text-dark);
    margin-bottom: 12px;
    position: relative;
    display: inline-block;
}

.mg-section-title::before,
.mg-section-title::after {
    content: "🍄";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 28px;
}

.mg-section-title::before { left: -60px; transform: translateY(-50%) rotate(-15deg); }
.mg-section-title::after { right: -60px; transform: translateY(-50%) rotate(15deg); }

.mg-section-title span {
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--spot-red) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

.mg-section-title span::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
    height: 8px;
    background: rgba(255, 140, 66, 0.25);
    border-radius: 4px;
    z-index: -1;
}

.mg-section-sub {
    font-size: 17px;
    color: var(--text-muted);
    letter-spacing: 3px;
    margin-top: 12px;
}

.mg-section-sub::before,
.mg-section-sub::after {
    content: "~";
    color: var(--forest-green);
    margin: 0 12px;
    font-weight: bold;
}

/* ===== 藤蔓边框装饰 ===== */
.vine-border {
    position: relative;
}

.vine-border::before,
.vine-border::after {
    content: "";
    position: absolute;
    top: -10px;
    bottom: -10px;
    width: 40px;
    background-image:
        radial-gradient(circle at 20px 10px, var(--forest-green) 6px, transparent 7px),
        radial-gradient(circle at 10px 40px, var(--forest-green) 5px, transparent 6px),
        radial-gradient(circle at 30px 70px, var(--forest-green) 6px, transparent 7px),
        radial-gradient(circle at 15px 100px, var(--forest-deep) 5px, transparent 6px);
    background-size: 40px 120px;
    background-repeat: repeat-y;
    opacity: 0.4;
    pointer-events: none;
}

.vine-border::before { left: -30px; }
.vine-border::after { right: -30px; transform: scaleX(-1); }

/* ===== 视频卡片网格 ===== */
.mg-video-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

.mg-video-card {
    background: var(--cream-white);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 0 var(--earth-brown), 0 8px 25px rgba(121, 85, 72, 0.15);
    transition: all 0.25s;
    border: 4px solid var(--earth-brown);
    position: relative;
}

.mg-video-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--orange-start), var(--gold-yellow), var(--forest-green), var(--orange-start));
    background-size: 300% 100%;
    animation: rainbowMove 3s linear infinite;
}

@keyframes rainbowMove {
    0% { background-position: 0% 0; }
    100% { background-position: 300% 0; }
}

.mg-video-card:hover {
    transform: translateY(-8px) rotate(-1deg);
    box-shadow: 0 8px 0 var(--earth-brown), 0 16px 40px rgba(255, 140, 66, 0.25);
}

.mg-video-thumb {
    height: 170px;
    background: linear-gradient(135deg, var(--orange-start), var(--spot-red));
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mg-video-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(45deg,
        rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 10px,
        transparent 10px, transparent 20px);
}

.mg-video-thumb.v2 { background: linear-gradient(135deg, var(--forest-green), var(--forest-deep)); }
.mg-video-thumb.v3 { background: linear-gradient(135deg, var(--gold-yellow), #E67E22); }
.mg-video-thumb.v4 { background: linear-gradient(135deg, #9B59B6, var(--spot-red)); }
.mg-video-thumb.v5 { background: linear-gradient(135deg, #3498DB, var(--forest-green)); }
.mg-video-thumb.v6 { background: linear-gradient(135deg, var(--earth-light), var(--earth-brown)); }
.mg-video-thumb.v7 { background: linear-gradient(135deg, #1ABC9C, #16A085); }
.mg-video-thumb.v8 { background: linear-gradient(135deg, var(--orange-end), var(--gold-yellow)); }

.mg-video-thumb .thumb-emoji {
    font-size: 72px;
    filter: drop-shadow(3px 4px 0 rgba(0,0,0,0.2));
    animation: bobble 2.5s ease-in-out infinite;
}

.mg-video-thumb .play-btn {
    position: absolute;
    width: 60px;
    height: 60px;
    background: rgba(255,255,255,0.95);
    border-radius: 50%;
    border: 4px solid var(--earth-brown);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--spot-red);
    box-shadow: 0 4px 0 var(--earth-brown);
    opacity: 0;
    transition: all 0.25s;
}

.mg-video-card:hover .play-btn {
    opacity: 1;
    transform: scale(1.1);
}

.mg-video-thumb .duration {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(78, 52, 46, 0.92);
    color: var(--cream-white);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: bold;
    font-family: 'Press Start 2P', cursive;
    font-size: 10px;
    border: 2px solid var(--earth-brown);
}

.mg-video-thumb .hot-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: linear-gradient(180deg, var(--spot-red), var(--spot-deep));
    color: white;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: bold;
    border: 2px solid var(--cream-white);
    box-shadow: 0 2px 0 var(--earth-brown);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mg-video-thumb .vip-tag {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(180deg, var(--gold-yellow), #F39C12);
    color: var(--text-dark);
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: bold;
    border: 2px solid var(--cream-white);
    font-family: 'Press Start 2P', cursive;
    box-shadow: 0 2px 0 #B7950B;
}

.mg-video-info {
    padding: 18px;
}

.mg-video-cat {
    display: inline-block;
    font-size: 11px;
    background: rgba(46, 204, 113, 0.15);
    color: var(--forest-deep);
    padding: 3px 10px;
    border-radius: 10px;
    font-weight: bold;
    margin-bottom: 10px;
}

.mg-video-title {
    font-size: 16px;
    font-weight: bold;
    color: var(--text-dark);
    line-height: 1.5;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mg-video-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--text-muted);
    align-items: center;
}

.mg-video-meta .views {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mg-video-meta .views::before {
    content: "👁";
    font-size: 14px;
}

.mg-video-meta .likes {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--spot-red);
}

/* ===== 分类按钮区 ===== */
.mg-categories {
    background: linear-gradient(180deg, rgba(46, 204, 113, 0.08) 0%, rgba(255, 140, 66, 0.06) 100%);
    padding: 70px 0;
    position: relative;
    overflow: hidden;
}

.mg-categories::before,
.mg-categories::after {
    content: "🌿";
    position: absolute;
    font-size: 100px;
    opacity: 0.1;
}

.mg-categories::before { top: 20px; left: -20px; transform: rotate(-20deg); }
.mg-categories::after { bottom: 20px; right: -10px; transform: rotate(30deg); }

.mg-cat-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
    position: relative;
    z-index: 2;
}

.mg-cat-item {
    background: var(--cream-white);
    border: 4px solid var(--earth-brown);
    border-radius: 18px;
    padding: 24px 12px;
    text-align: center;
    transition: all 0.2s;
    cursor: pointer;
    position: relative;
    box-shadow: 0 4px 0 var(--earth-brown);
}

.mg-cat-item:hover {
    background: linear-gradient(180deg, var(--orange-start), var(--orange-end));
    border-color: var(--spot-red);
    transform: translateY(-4px) rotate(2deg);
    box-shadow: 0 8px 0 var(--spot-deep), 0 12px 25px var(--shadow-warm);
}

.mg-cat-item:hover .mg-cat-icon,
.mg-cat-item:hover .mg-cat-name {
    color: var(--cream-white);
    text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}

.mg-cat-icon {
    font-size: 40px;
    margin-bottom: 10px;
    display: block;
    filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.1));
    transition: transform 0.3s;
}

.mg-cat-item:hover .mg-cat-icon {
    transform: scale(1.2) rotate(-10deg);
}

.mg-cat-name {
    font-size: 15px;
    font-weight: bold;
    color: var(--text-dark);
}

/* ===== 特色VIP板块 ===== */
.mg-feature {
    background: linear-gradient(135deg, #2C3E50 0%, #34495E 50%, #1A1A2E 100%);
    color: var(--cream-white);
    padding: 90px 0;
    position: relative;
    overflow: hidden;
    border-top: 6px solid var(--gold-yellow);
    border-bottom: 6px solid var(--spot-red);
}

.mg-feature::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255, 140, 66, 0.15) 2px, transparent 3px),
        radial-gradient(circle at 60% 70%, rgba(241, 196, 15, 0.12) 2px, transparent 3px),
        radial-gradient(circle at 80% 20%, rgba(46, 204, 113, 0.1) 2px, transparent 3px);
    background-size: 80px 80px, 100px 100px, 60px 60px;
    animation: starsMove 60s linear infinite;
}

@keyframes starsMove {
    0% { background-position: 0 0, 0 0, 0 0; }
    100% { background-position: 800px 400px, -600px 500px, 400px -300px; }
}

.mg-feature-inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 70px;
    align-items: center;
    position: relative;
    z-index: 2;
}

.mg-feature-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(90deg, var(--gold-yellow), #F39C12);
    color: var(--text-dark);
    padding: 8px 20px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 24px;
    border: 3px solid var(--cream-white);
    box-shadow: 0 4px 0 #B7950B;
    font-family: 'ZCOOL KuaiLe', sans-serif;
    letter-spacing: 1px;
}

.mg-feature-title {
    font-family: 'Russo One', sans-serif;
    font-size: 46px;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 24px;
}

.mg-feature-title span {
    background: linear-gradient(180deg, var(--gold-yellow) 0%, #F39C12 50%, var(--orange-start) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(2px 3px 0 rgba(0,0,0,0.3));
}

.mg-feature-text {
    font-size: 17px;
    line-height: 2;
    opacity: 0.92;
    margin-bottom: 32px;
    color: #D7CCC8;
}

.mg-feature-list {
    margin-bottom: 40px;
    display: grid;
    gap: 16px;
}

.mg-feature-list li {
    padding: 14px 20px 14px 56px;
    background: rgba(255, 245, 230, 0.08);
    border-radius: 12px;
    font-size: 16px;
    position: relative;
    border: 2px solid rgba(255, 245, 230, 0.15);
    transition: all 0.25s;
}

.mg-feature-list li:hover {
    background: rgba(255, 140, 66, 0.15);
    border-color: var(--orange-start);
    transform: translateX(8px);
}

.mg-feature-list li::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: linear-gradient(180deg, var(--forest-green), var(--forest-deep));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    border: 2px solid var(--cream-white);
    box-shadow: 0 2px 0 rgba(0,0,0,0.2);
}

.mg-feature-list li:nth-child(1)::before { content: "🍄"; font-size: 14px; }
.mg-feature-list li:nth-child(2)::before { content: "⭐"; font-size: 14px; }
.mg-feature-list li:nth-child(3)::before { content: "🪙"; font-size: 14px; }
.mg-feature-list li:nth-child(4)::before { content: "❤️"; font-size: 14px; }

.mg-feature-visual {
    position: relative;
    height: 420px;
}

.vip-card {
    position: absolute;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-6deg);
    background: linear-gradient(145deg, var(--gold-yellow) 0%, #F39C12 40%, #E67E22 70%, var(--spot-red) 100%);
    border-radius: 24px;
    padding: 32px;
    border: 5px solid var(--cream-white);
    box-shadow: 0 10px 0 rgba(0,0,0,0.3), 0 20px 60px rgba(241, 196, 15, 0.3);
    animation: cardFloat 4s ease-in-out infinite;
}

@keyframes cardFloat {
    0%, 100% { transform: translate(-50%, -50%) rotate(-6deg); }
    50% { transform: translate(-50%, calc(-50% - 15px)) rotate(-3deg); }
}

.vip-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 3px dashed rgba(255,255,255,0.5);
    border-radius: 18px;
    pointer-events: none;
}

.vip-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.vip-card-badge {
    font-family: 'Press Start 2P', cursive;
    font-size: 12px;
    background: var(--spot-red);
    color: var(--cream-white);
    padding: 8px 14px;
    border-radius: 8px;
    border: 2px solid var(--cream-white);
    box-shadow: 0 3px 0 var(--spot-deep);
}

.vip-card-logo {
    font-size: 36px;
    filter: drop-shadow(2px 3px 0 rgba(0,0,0,0.2));
}

.vip-card-title {
    font-family: 'Russo One', sans-serif;
    font-size: 32px;
    color: var(--text-dark);
    margin-bottom: 8px;
    text-shadow: 2px 2px 0 rgba(255,255,255,0.3);
}

.vip-card-sub {
    font-size: 14px;
    color: rgba(78, 52, 46, 0.8);
    font-weight: bold;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

.vip-card-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 24px;
}

.vip-card-price .currency {
    font-size: 24px;
    font-weight: bold;
    color: var(--text-dark);
}

.vip-card-price .amount {
    font-family: 'Russo One', sans-serif;
    font-size: 64px;
    font-weight: 900;
    color: var(--text-dark);
    text-shadow: 2px 3px 0 rgba(255,255,255,0.4);
    line-height: 1;
}

.vip-card-price .period {
    font-size: 16px;
    color: rgba(78, 52, 46, 0.7);
    font-weight: bold;
}

.vip-card-btn {
    display: block;
    width: 100%;
    padding: 16px;
    background: var(--text-dark);
    color: var(--gold-yellow);
    border: none;
    border-radius: 14px;
    font-family: 'ZCOOL KuaiLe', sans-serif;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    border: 3px solid rgba(255,255,255,0.5);
    box-shadow: 0 5px 0 rgba(0,0,0,0.4);
    transition: all 0.15s;
    letter-spacing: 2px;
}

.vip-card-btn:hover {
    transform: translateY(3px);
    box-shadow: 0 2px 0 rgba(0,0,0,0.4);
}

.vip-card-decor {
    position: absolute;
    font-size: 30px;
    opacity: 0.6;
}

.vip-card-decor.d1 { top: -20px; right: -10px; animation: sparkle 1.5s ease-in-out infinite; }
.vip-card-decor.d2 { bottom: -10px; left: -15px; animation: sparkle 1.5s ease-in-out infinite 0.5s; }

/* ===== 页面横幅 ===== */
.mg-page-banner {
    background:
        radial-gradient(ellipse at 30% 30%, rgba(255, 179, 71, 0.4) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 70%, rgba(46, 204, 113, 0.3) 0%, transparent 50%),
        linear-gradient(135deg, #27AE60 0%, #2ECC71 50%, #58D68D 100%);
    padding: 80px 0 90px;
    text-align: center;
    color: var(--cream-white);
    position: relative;
    overflow: hidden;
    border-bottom: 6px solid var(--earth-brown);
}

.mg-page-banner::before {
    content: "🍄";
    position: absolute;
    font-size: 240px;
    opacity: 0.08;
    right: -40px;
    top: -60px;
    transform: rotate(15deg);
}

.mg-page-banner::after {
    content: "🌳";
    position: absolute;
    font-size: 200px;
    opacity: 0.1;
    left: -30px;
    bottom: -50px;
    transform: rotate(-10deg);
}

.mg-page-banner .banner-decor {
    position: absolute;
    font-size: 30px;
    opacity: 0.8;
    animation: bobble 3s ease-in-out infinite;
}

.mg-page-banner .banner-decor.bd1 { top: 30px; left: 15%; animation-delay: 0s; }
.mg-page-banner .banner-decor.bd2 { top: 50px; right: 18%; animation-delay: 0.6s; }
.mg-page-banner .banner-decor.bd3 { bottom: 30px; left: 25%; animation-delay: 1.2s; }

.banner-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.2);
    padding: 8px 22px;
    border-radius: 30px;
    font-size: 14px;
    margin-bottom: 22px;
    border: 2px solid rgba(255,255,255,0.3);
    backdrop-filter: blur(5px);
    position: relative;
    z-index: 2;
}

.banner-breadcrumb a:hover { color: var(--gold-yellow); }

.mg-page-banner h1 {
    font-family: 'Russo One', sans-serif;
    font-size: 56px;
    font-weight: 900;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
    text-shadow: 4px 5px 0 var(--earth-brown), 6px 8px 0 rgba(0,0,0,0.15);
    letter-spacing: 3px;
}

.mg-page-banner p {
    font-size: 18px;
    opacity: 0.95;
    letter-spacing: 3px;
    position: relative;
    z-index: 2;
}

/* ===== 通用内容卡片 ===== */
.mg-content-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 40px;
}

.mg-content-card {
    background: var(--cream-white);
    border-radius: 22px;
    padding: 36px 28px;
    box-shadow: 0 5px 0 var(--earth-brown), 0 10px 30px rgba(121, 85, 72, 0.12);
    transition: all 0.25s;
    border: 4px solid var(--earth-brown);
    position: relative;
    overflow: hidden;
}

.mg-content-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--orange-start) 0%, transparent 60%);
    opacity: 0.15;
    border-radius: 0 0 80px 0;
}

.mg-content-card:hover {
    transform: translateY(-8px) rotate(-1deg);
    box-shadow: 0 10px 0 var(--earth-brown), 0 20px 45px rgba(255, 140, 66, 0.2);
}

.mg-content-card .card-icon-wrap {
    width: 76px;
    height: 76px;
    background: linear-gradient(135deg, var(--orange-start), var(--orange-end));
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    margin-bottom: 22px;
    border: 4px solid var(--earth-brown);
    box-shadow: 0 4px 0 var(--earth-brown);
    position: relative;
    z-index: 2;
}

.mg-content-card:nth-child(2n) .card-icon-wrap {
    background: linear-gradient(135deg, var(--forest-green), var(--forest-deep));
}

.mg-content-card:nth-child(3n) .card-icon-wrap {
    background: linear-gradient(135deg, var(--gold-yellow), #F39C12);
}

.mg-content-card h3 {
    font-size: 22px;
    font-weight: bold;
    color: var(--text-dark);
    margin-bottom: 14px;
    position: relative;
    z-index: 2;
}

.mg-content-card p {
    font-size: 15px;
    color: var(--text-body);
    line-height: 1.9;
    position: relative;
    z-index: 2;
    margin-bottom: 18px;
}

.mg-content-card .card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--spot-red);
    font-weight: bold;
    font-size: 15px;
    position: relative;
    z-index: 2;
    transition: all 0.2s;
}

.mg-content-card .card-link:hover {
    gap: 12px;
    color: var(--orange-start);
}

/* ===== 时间线 ===== */
.mg-timeline-wrap {
    margin-top: 40px;
    padding: 0 40px;
}

.mg-timeline {
    position: relative;
    padding: 20px 0;
}

.mg-timeline::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    width: 8px;
    background: repeating-linear-gradient(180deg,
        var(--orange-start) 0, var(--orange-start) 20px,
        var(--forest-green) 20px, var(--forest-green) 40px);
    border-radius: 4px;
    box-shadow: 0 0 0 3px var(--earth-brown);
}

.mg-timeline-item {
    position: relative;
    width: 50%;
    padding: 20px 40px;
    margin-bottom: 20px;
}

.mg-timeline-item:nth-child(odd) {
    left: 0;
    text-align: right;
}

.mg-timeline-item:nth-child(even) {
    left: 50%;
}

.mg-timeline-item::before {
    content: "🍄";
    position: absolute;
    top: 28px;
    width: 44px;
    height: 44px;
    background: var(--cream-white);
    border: 4px solid var(--earth-brown);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 3px 0 var(--earth-brown);
    z-index: 2;
}

.mg-timeline-item:nth-child(odd)::before {
    right: -22px;
}

.mg-timeline-item:nth-child(even)::before {
    left: -22px;
}

.mg-timeline-content {
    background: var(--cream-white);
    border: 4px solid var(--earth-brown);
    border-radius: 18px;
    padding: 24px 28px;
    box-shadow: 0 4px 0 var(--earth-brown);
    position: relative;
}

.mg-timeline-item:nth-child(odd) .mg-timeline-content::before {
    content: "";
    position: absolute;
    right: -16px;
    top: 30px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid var(--earth-brown);
}

.mg-timeline-item:nth-child(odd) .mg-timeline-content::after {
    content: "";
    position: absolute;
    right: -10px;
    top: 33px;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 12px solid var(--cream-white);
    z-index: 1;
}

.mg-timeline-item:nth-child(even) .mg-timeline-content::before {
    content: "";
    position: absolute;
    left: -16px;
    top: 30px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 16px solid var(--earth-brown);
}

.mg-timeline-item:nth-child(even) .mg-timeline-content::after {
    content: "";
    position: absolute;
    left: -10px;
    top: 33px;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-right: 12px solid var(--cream-white);
    z-index: 1;
}

.mg-timeline-year {
    font-family: 'Russo One', sans-serif;
    font-size: 28px;
    font-weight: 900;
    background: linear-gradient(180deg, var(--orange-start), var(--spot-red));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 6px;
}

.mg-timeline-content h4 {
    font-size: 19px;
    color: var(--text-dark);
    margin-bottom: 8px;
    font-weight: bold;
}

.mg-timeline-content p {
    font-size: 14px;
    color: var(--text-body);
    line-height: 1.8;
}

/* ===== 团队卡片 ===== */
.mg-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-top: 40px;
}

.mg-team-card {
    background: var(--cream-white);
    border-radius: 22px;
    padding: 34px 22px;
    text-align: center;
    box-shadow: 0 5px 0 var(--earth-brown), 0 10px 25px rgba(121, 85, 72, 0.1);
    transition: all 0.25s;
    border: 4px solid var(--earth-brown);
    position: relative;
}

.mg-team-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 10px 0 var(--earth-brown), 0 16px 40px rgba(46, 204, 113, 0.2);
}

.mg-team-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, var(--orange-start), var(--orange-end));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
    color: var(--cream-white);
    border: 5px solid var(--earth-brown);
    box-shadow: 0 4px 0 var(--earth-brown), inset 0 -6px 0 rgba(0,0,0,0.1);
    position: relative;
}

.mg-team-card:nth-child(2n) .mg-team-avatar {
    background: linear-gradient(135deg, var(--forest-green), var(--forest-deep));
}

.mg-team-card:nth-child(3n) .mg-team-avatar {
    background: linear-gradient(135deg, var(--gold-yellow), #F39C12);
}

.mg-team-card:nth-child(4n) .mg-team-avatar {
    background: linear-gradient(135deg, #9B59B6, #8E44AD);
}

.mg-team-card h4 {
    font-size: 20px;
    color: var(--text-dark);
    margin-bottom: 4px;
    font-weight: bold;
}

.mg-team-card .role {
    font-size: 13px;
    color: var(--orange-start);
    margin-bottom: 14px;
    font-weight: bold;
    letter-spacing: 1px;
}

.mg-team-card:nth-child(2n) .role { color: var(--forest-green); }
.mg-team-card:nth-child(3n) .role { color: #E67E22; }
.mg-team-card:nth-child(4n) .role { color: #9B59B6; }

.mg-team-card p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.7;
}

/* ===== 表单 ===== */
.mg-form-wrap {
    max-width: 720px;
    margin: 0 auto;
}

.mg-form {
    background: var(--cream-white);
    padding: 48px;
    border-radius: 26px;
    box-shadow: 0 6px 0 var(--earth-brown), 0 14px 40px rgba(121, 85, 72, 0.15);
    border: 4px solid var(--earth-brown);
    position: relative;
    overflow: hidden;
}

.mg-form::before,
.mg-form::after {
    content: "🍄";
    position: absolute;
    font-size: 80px;
    opacity: 0.08;
}

.mg-form::before { top: -10px; right: 10px; transform: rotate(20deg); }
.mg-form::after { bottom: -10px; left: 10px; transform: rotate(-25deg); }

.mg-form-row {
    margin-bottom: 26px;
    position: relative;
    z-index: 2;
}

.mg-form-row label {
    display: block;
    font-size: 15px;
    font-weight: bold;
    color: var(--text-dark);
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.mg-form-row label .req {
    color: var(--spot-red);
    margin-left: 4px;
    font-size: 16px;
}

.mg-form-row input,
.mg-form-row textarea,
.mg-form-row select {
    width: 100%;
    padding: 14px 20px;
    border: 3px solid var(--earth-brown);
    border-radius: 14px;
    font-size: 15px;
    font-family: inherit;
    background: #FFFBF2;
    color: var(--text-dark);
    transition: all 0.2s;
    box-shadow: 0 3px 0 rgba(121, 85, 72, 0.2);
}

.mg-form-row input:focus,
.mg-form-row textarea:focus,
.mg-form-row select:focus {
    outline: none;
    border-color: var(--orange-start);
    background: white;
    box-shadow: 0 3px 0 var(--orange-start), 0 0 0 4px rgba(255, 140, 66, 0.15);
}

.mg-form-row textarea {
    resize: vertical;
    min-height: 140px;
}

.mg-form-row-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.mg-form-submit {
    width: 100%;
    background: linear-gradient(180deg, var(--orange-start) 0%, var(--spot-red) 100%);
    color: white;
    border: 4px solid var(--earth-brown);
    padding: 18px;
    border-radius: 16px;
    font-family: 'ZCOOL KuaiLe', sans-serif;
    font-size: 19px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.15s;
    box-shadow: 0 6px 0 var(--earth-brown), 0 12px 30px var(--shadow-warm);
    letter-spacing: 3px;
    position: relative;
    z-index: 2;
    text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}

.mg-form-submit:hover {
    transform: translateY(3px);
    box-shadow: 0 3px 0 var(--earth-brown), 0 8px 20px var(--shadow-warm);
}

/* ===== 联系信息 ===== */
.mg-contact-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    margin-top: 40px;
    align-items: start;
}

.mg-contact-info {
    padding: 20px 0;
}

.mg-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 28px;
    padding: 26px;
    background: var(--cream-white);
    border-radius: 20px;
    border: 4px solid var(--earth-brown);
    box-shadow: 0 5px 0 var(--earth-brown);
    transition: all 0.2s;
}

.mg-contact-item:hover {
    transform: translateX(8px);
    box-shadow: 0 5px 0 var(--earth-brown), 0 12px 30px rgba(46, 204, 113, 0.15);
}

.mg-contact-item .icon-wrap {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--forest-green), var(--forest-deep));
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    border: 3px solid var(--earth-brown);
    box-shadow: 0 3px 0 var(--earth-brown);
}

.mg-contact-item:nth-child(2) .icon-wrap {
    background: linear-gradient(135deg, var(--orange-start), var(--orange-end));
}

.mg-contact-item:nth-child(3) .icon-wrap {
    background: linear-gradient(135deg, var(--gold-yellow), #F39C12);
}

.mg-contact-item:nth-child(4) .icon-wrap {
    background: linear-gradient(135deg, #3498DB, #2980B9);
}

.mg-contact-item h4 {
    font-size: 18px;
    color: var(--text-dark);
    margin-bottom: 6px;
    font-weight: bold;
}

.mg-contact-item p {
    font-size: 15px;
    color: var(--text-body);
    line-height: 1.7;
}

.mg-contact-map {
    margin-top: 40px;
    border-radius: 22px;
    overflow: hidden;
    border: 4px solid var(--earth-brown);
    box-shadow: 0 6px 0 var(--earth-brown);
    height: 280px;
    background: linear-gradient(135deg, #D4F5D4, #FFF5E6);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mg-contact-map::before {
    content: "📍";
    font-size: 80px;
    filter: drop-shadow(3px 4px 0 rgba(121, 85, 72, 0.3));
    animation: bobble 2s ease-in-out infinite;
}

.mg-contact-map-label {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--text-dark);
    color: var(--cream-white);
    padding: 8px 20px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: bold;
    border: 2px solid var(--cream-white);
}

/* ===== 案例展示 ===== */
.mg-case-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px;
    margin-top: 40px;
}

.mg-case-card {
    background: var(--cream-white);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 6px 0 var(--earth-brown), 0 12px 35px rgba(121, 85, 72, 0.15);
    transition: all 0.25s;
    border: 4px solid var(--earth-brown);
}

.mg-case-card:hover {
    transform: translateY(-8px) rotate(-0.5deg);
    box-shadow: 0 12px 0 var(--earth-brown), 0 20px 50px rgba(255, 140, 66, 0.25);
}

.mg-case-banner {
    height: 200px;
    background: linear-gradient(135deg, var(--orange-start), var(--spot-red));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    position: relative;
    overflow: hidden;
}

.mg-case-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg,
        rgba(255,255,255,0.08) 0, rgba(255,255,255,0.08) 20px,
        transparent 20px, transparent 40px);
}

.mg-case-card:nth-child(2) .mg-case-banner {
    background: linear-gradient(135deg, var(--forest-green), var(--forest-deep));
}

.mg-case-card:nth-child(3) .mg-case-banner {
    background: linear-gradient(135deg, var(--gold-yellow), #E67E22);
}

.mg-case-card:nth-child(4) .mg-case-banner {
    background: linear-gradient(135deg, #3498DB, #2980B9);
}

.mg-case-card:nth-child(5) .mg-case-banner {
    background: linear-gradient(135deg, #9B59B6, var(--spot-red));
}

.mg-case-card:nth-child(6) .mg-case-banner {
    background: linear-gradient(135deg, #1ABC9C, #16A085);
}

.mg-case-banner .banner-emoji {
    filter: drop-shadow(4px 5px 0 rgba(0,0,0,0.2));
    animation: bobble 2.5s ease-in-out infinite;
}

.mg-case-body {
    padding: 28px 30px;
}

.mg-case-body .case-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(90deg, var(--forest-green), var(--forest-deep));
    color: white;
    padding: 5px 14px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 14px;
    border: 2px solid rgba(255,255,255,0.5);
}

.mg-case-body h3 {
    font-size: 22px;
    color: var(--text-dark);
    margin-bottom: 12px;
    font-weight: bold;
    line-height: 1.4;
}

.mg-case-body p {
    font-size: 15px;
    color: var(--text-body);
    line-height: 1.9;
    margin-bottom: 20px;
}

.mg-case-stats {
    display: flex;
    gap: 32px;
    padding-top: 18px;
    border-top: 3px dashed var(--border-soft, #D7CCC8);
}

.mg-case-stats div {
    text-align: center;
}

.mg-case-stats strong {
    display: block;
    font-family: 'Russo One', sans-serif;
    font-size: 28px;
    background: linear-gradient(180deg, var(--orange-start), var(--spot-red));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 900;
}

.mg-case-stats span {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: bold;
    letter-spacing: 1px;
}

/* ===== 新闻列表 ===== */
.mg-news-list {
    margin-top: 40px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.mg-news-item {
    background: var(--cream-white);
    border-radius: 22px;
    padding: 28px;
    margin-bottom: 24px;
    display: flex;
    gap: 28px;
    box-shadow: 0 4px 0 var(--earth-brown), 0 8px 25px rgba(121, 85, 72, 0.1);
    transition: all 0.25s;
    border: 4px solid var(--earth-brown);
    align-items: center;
}

.mg-news-item:hover {
    transform: translateX(12px);
    box-shadow: 0 4px 0 var(--earth-brown), 0 12px 35px rgba(255, 140, 66, 0.2);
    border-color: var(--orange-start);
}

.mg-news-date {
    flex-shrink: 0;
    text-align: center;
    background: linear-gradient(180deg, var(--orange-start), var(--spot-red));
    border-radius: 18px;
    padding: 18px 20px;
    min-width: 100px;
    border: 4px solid var(--earth-brown);
    box-shadow: 0 3px 0 var(--earth-brown);
}

.mg-news-date .day {
    font-family: 'Russo One', sans-serif;
    font-size: 36px;
    font-weight: 900;
    color: white;
    line-height: 1;
    text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}

.mg-news-date .month {
    font-size: 13px;
    color: rgba(255,255,255,0.9);
    margin-top: 4px;
    font-weight: bold;
    letter-spacing: 2px;
}

.mg-news-content {
    flex: 1;
}

.mg-news-content .news-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.mg-news-content .news-tag {
    display: inline-block;
    background: linear-gradient(90deg, var(--forest-green), var(--forest-deep));
    color: white;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    border: 2px solid rgba(255,255,255,0.5);
}

.mg-news-content .news-views {
    font-size: 13px;
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mg-news-content h3 {
    font-size: 20px;
    color: var(--text-dark);
    margin-bottom: 10px;
    font-weight: bold;
    line-height: 1.5;
}

.mg-news-content p {
    font-size: 14px;
    color: var(--text-body);
    line-height: 1.8;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== CTA 区域 ===== */
.mg-cta {
    background: linear-gradient(135deg, var(--orange-start) 0%, var(--spot-red) 50%, var(--spot-deep) 100%);
    color: var(--cream-white);
    padding: 80px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    border-top: 6px solid var(--gold-yellow);
    border-bottom: 6px solid var(--earth-brown);
}

.mg-cta::before,
.mg-cta::after {
    content: "🍄";
    position: absolute;
    opacity: 0.12;
}

.mg-cta::before {
    font-size: 260px;
    left: -50px;
    top: -80px;
    transform: rotate(-20deg);
}

.mg-cta::after {
    font-size: 200px;
    right: -30px;
    bottom: -60px;
    transform: rotate(25deg);
}

.mg-cta .cta-decor {
    position: absolute;
    font-size: 30px;
    opacity: 0.8;
    animation: sparkle 2s ease-in-out infinite;
}

.mg-cta .cta-decor.cd1 { top: 40px; left: 20%; animation-delay: 0s; }
.mg-cta .cta-decor.cd2 { top: 80px; right: 25%; animation-delay: 0.5s; }
.mg-cta .cta-decor.cd3 { bottom: 60px; left: 30%; animation-delay: 1s; }

.mg-cta h2 {
    font-family: 'Russo One', sans-serif;
    font-size: 44px;
    font-weight: 900;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
    text-shadow: 3px 4px 0 var(--earth-brown);
    letter-spacing: 2px;
}

.mg-cta p {
    font-size: 18px;
    opacity: 0.95;
    margin-bottom: 36px;
    position: relative;
    z-index: 2;
    letter-spacing: 2px;
    line-height: 1.8;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.mg-cta .hero-btn {
    background: var(--cream-white);
    color: var(--spot-red);
    position: relative;
    z-index: 2;
}

.mg-cta .hero-btn:hover {
    background: var(--gold-yellow);
    color: var(--text-dark);
}

/* ===== 页脚 ===== */
.mg-footer {
    background: linear-gradient(180deg, #5D4037 0%, #3E2723 50%, #2C1810 100%);
    color: var(--cream-white);
    padding: 70px 0 28px;
    position: relative;
    border-top: 8px solid var(--orange-start);
}

.mg-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10px;
    background: repeating-linear-gradient(90deg,
        var(--orange-start) 0, var(--orange-start) 30px,
        var(--spot-red) 30px, var(--spot-red) 60px,
        var(--gold-yellow) 60px, var(--gold-yellow) 90px,
        var(--forest-green) 90px, var(--forest-green) 120px);
}

.mg-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 50px;
    margin-bottom: 50px;
    padding-top: 30px;
}

.mg-footer-brand .footer-logo {
    margin-bottom: 20px;
}

.mg-footer-brand .footer-logo .logo-text .brand-name {
    filter: drop-shadow(1px 2px 0 rgba(0,0,0,0.5));
}

.mg-footer-brand p {
    font-size: 14px;
    opacity: 0.85;
    line-height: 2;
    margin-bottom: 20px;
}

.mg-footer-social {
    display: flex;
    gap: 12px;
}

.mg-footer-social a {
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: all 0.2s;
    border: 2px solid rgba(255,255,255,0.15);
}

.mg-footer-social a:hover {
    background: var(--orange-start);
    border-color: var(--orange-end);
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(255, 140, 66, 0.4);
}

.mg-footer-col h4 {
    font-size: 17px;
    margin-bottom: 22px;
    color: var(--gold-yellow);
    font-weight: bold;
    position: relative;
    padding-bottom: 12px;
    letter-spacing: 1px;
}

.mg-footer-col h4::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 4px;
    background: linear-gradient(90deg, var(--orange-start), transparent);
    border-radius: 2px;
}

.mg-footer-col ul li {
    margin-bottom: 12px;
}

.mg-footer-col ul li a {
    font-size: 14px;
    opacity: 0.85;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mg-footer-col ul li a::before {
    content: "🍄";
    font-size: 10px;
    opacity: 0;
    transition: all 0.2s;
}

.mg-footer-col ul li a:hover {
    opacity: 1;
    color: var(--gold-yellow);
    padding-left: 4px;
}

.mg-footer-col ul li a:hover::before {
    opacity: 1;
}

.mg-footer-bottom {
    border-top: 2px solid rgba(255,255,255,0.1);
    padding-top: 24px;
    text-align: center;
    font-size: 13px;
    opacity: 0.7;
    line-height: 2;
}

.mg-footer-bottom .footer-decor {
    margin: 8px 0;
    letter-spacing: 8px;
    font-size: 16px;
}

/* ===== 响应式适配 ===== */
@media (max-width: 968px) {
    .mg-video-grid,
    .mg-cat-grid,
    .mg-team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .mg-content-grid,
    .mg-case-grid,
    .mg-contact-grid,
    .mg-feature-inner,
    .mg-footer-grid {
        grid-template-columns: 1fr;
    }
    .mg-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 24px;
    }
    .mg-stat-item::after { display: none; }
    .mg-hero-title { font-size: 60px; letter-spacing: 2px; }
    .mg-hero-subtitle { font-size: 28px; letter-spacing: 3px; }
    .mg-hero-title::before, .mg-hero-title::after { display: none; }
    .mg-section-title::before, .mg-section-title::after { display: none; }
    .mg-nav ul {
        overflow-x: auto;
        padding: 0 20px;
        justify-content: flex-start;
    }
    .mg-nav a { padding: 16px 18px; font-size: 15px; white-space: nowrap; }
    .mg-nav::before, .mg-nav::after { display: none; }
    .mg-timeline::before { left: 20px; }
    .mg-timeline-item {
        width: 100%;
        left: 0 !important;
        text-align: left !important;
        padding-left: 60px !important;
        padding-right: 10px !important;
    }
    .mg-timeline-item::before { left: -2px !important; right: auto !important; }
    .mg-timeline-item .mg-timeline-content::before,
    .mg-timeline-item .mg-timeline-content::after {
        right: auto !important;
        left: -16px !important;
        border-left: none !important;
        border-right: 16px solid var(--earth-brown) !important;
    }
    .mg-timeline-item .mg-timeline-content::after {
        left: -10px !important;
        border-right: 12px solid var(--cream-white) !important;
    }
    .mg-form { padding: 30px 22px; }
    .mg-form-row-grid { grid-template-columns: 1fr; gap: 0; }
    .mg-news-item {
        flex-direction: column;
        gap: 18px;
        text-align: left;
    }
    .mg-news-date {
        align-self: flex-start;
        min-width: auto;
        padding: 12px 16px;
    }
    .mg-page-banner h1 { font-size: 40px; letter-spacing: 2px; }
    .mg-section-title { font-size: 32px; }
    .mg-cta h2 { font-size: 32px; }
    .mg-feature-title { font-size: 34px; }
    .mg-timeline-wrap { padding: 0 10px; }
    .vine-border::before, .vine-border::after { display: none; }
}
