*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,PingFang SC,Microsoft YaHei,sans-serif;color:#0f172a;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)}
.app{min-height:100vh;padding-bottom:70px}
.app-header{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px rgba(30,64,175,0.15);backdrop-filter:blur(10px)}
.app-title{font-weight:700;font-size:18px;letter-spacing:-0.025em;display:flex;align-items:center;gap:8px}
.app-logo{width:24px;height:24px;flex-shrink:0}
.header-right{display:flex;align-items:center;gap:12px}
.lang-switch{display:flex;gap:8px}
.lang-switch a{color:#fff;opacity:.85;text-decoration:none;font-size:14px;transition:opacity .2s}
.lang-switch a:hover{opacity:1}
.user-info{color:#fff;font-size:14px;opacity:0.95;padding:6px 12px;background:rgba(255,255,255,0.15);border-radius:8px;backdrop-filter:blur(10px)}
.btn-header-login,.btn-header-register{color:#fff;text-decoration:none;font-size:14px;padding:6px 12px;border-radius:8px;transition:all .2s;font-weight:500}
.btn-header-login{background:rgba(255,255,255,0.15);backdrop-filter:blur(10px)}
.btn-header-login:hover{background:rgba(255,255,255,0.25)}
.btn-header-register{background:#fbbf24;color:#92400e}
.btn-header-register:hover{background:#f59e0b;transform:translateY(-1px)}
.app-main{padding:0 16px 20px}
.tabbar{position:fixed;left:0;right:0;bottom:0;height:72px;background:rgba(255,255,255,0.98);border-top:1px solid #e2e8f0;display:flex;backdrop-filter:blur(20px);box-shadow:0 -4px 20px rgba(0,0,0,0.08);z-index:100}
.tab{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#64748b;text-decoration:none;transition:all .3s;padding:8px 0;position:relative}
.tab-icon{font-size:24px;transition:all .3s;filter:grayscale(0.5)}
.tab-label{font-size:11px;font-weight:500;transition:all .3s}
.tab.active{color:#1e40af}
.tab.active .tab-icon{filter:grayscale(0);transform:scale(1.1);animation:tabBounce 0.4s ease-out}
.tab.active .tab-label{font-weight:700}
.tab:active{transform:scale(0.95)}
@keyframes tabBounce{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1.1)}}
.btn-primary{display:inline-block;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:14px 20px;border-radius:12px;text-decoration:none;font-weight:600;box-shadow:0 4px 14px rgba(30,64,175,0.3);transition:all .2s;border:none}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(30,64,175,0.4)}
.btn-ghost{display:inline-block;border:1px solid #cbd5e1;color:#475569;background:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:500;transition:all .2s}
.btn-ghost:hover{border-color:#94a3b8;background:#f8fafc}
.btn-ghost.gold{border:2px solid #f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-weight:600;position:relative;overflow:hidden}
.btn-ghost.gold::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.3),transparent);transform:rotate(45deg);transition:all .6s;opacity:0}
.btn-ghost.gold:hover::before{opacity:1;animation:shimmer .6s ease-out}
@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}
.btn-mini{border:0;background:#3b82f6;color:#fff;padding:8px 12px;border-radius:8px;font-weight:500}
.hero{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 50%,#6366f1 100%);color:#fff;border-radius:20px;padding:24px;margin:16px 0;box-shadow:0 10px 30px rgba(30,64,175,0.2);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 70%);pointer-events:none}
.hero h1{margin:0 0 8px;font-size:20px;font-weight:700}
.hero p{margin:8px 0 16px;opacity:0.9;font-size:14px}

/* 首页顶部横幅 */
.home-banner{margin:16px 0;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px rgba(245,158,11,0.3);animation:bannerPulse 2s ease-in-out infinite}
.banner-icon{font-size:28px;animation:bounce 1s ease-in-out infinite;flex-shrink:0}
.banner-text-wrapper{flex:1;overflow:hidden;mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}
.banner-text{display:inline-block;font-weight:700;font-size:15px;line-height:1.4;white-space:nowrap;animation:scrollText 20s linear infinite}
@keyframes bannerPulse{0%,100%{box-shadow:0 4px 20px rgba(245,158,11,0.3)}50%{box-shadow:0 6px 30px rgba(245,158,11,0.5)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes scrollText{0%{transform:translateX(0)}100%{transform:translateX(-33.33%)}}

/* 轮播图 */
.carousel-wrapper{margin:20px 0;position:relative}
.carousel-container{overflow:hidden;border-radius:20px;box-shadow:0 8px 30px rgba(30,64,175,0.15)}
.carousel-track{display:flex;transition:transform 0.5s ease-in-out}
.carousel-track .slide{min-width:100%;background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0}
.slide-icon{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.1))}
.slide-text{color:#1e40af;font-size:16px;font-weight:600;text-align:center;line-height:1.6}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.carousel-dots .dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:all 0.3s}
.carousel-dots .dot.active{width:28px;border-radius:4px;background:#3b82f6;box-shadow:0 2px 8px rgba(59,130,246,0.4)}

/* 功能卡片网格 */
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}
.feature-card{background:#fff;border-radius:20px;padding:20px;text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(15,23,42,0.08);transition:all .3s;border:2px solid transparent}
.feature-card::before{content:'';position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:0.1;transition:all .3s}
.feature-card.card-1{border-color:#eff6ff}
.feature-card.card-1::before{background:#3b82f6;transform:translate(40%,-40%)}
.feature-card.card-2{border-color:#f0fdf4}
.feature-card.card-2::before{background:#10b981;transform:translate(40%,-40%)}
.feature-card.card-3{border-color:#fef3c7}
.feature-card.card-3::before{background:#f59e0b;transform:translate(40%,-40%)}
.feature-card.card-4{border-color:#fce7f3}
.feature-card.card-4::before{background:#ec4899;transform:translate(40%,-40%)}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(15,23,42,0.15)}
.feature-card:hover::before{transform:translate(20%,-20%) scale(1.2)}
.feature-icon{font-size:40px;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1));z-index:1}
.feature-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:6px;z-index:1}
.feature-desc{font-size:13px;color:#64748b;line-height:1.4;margin-bottom:12px;z-index:1}
.feature-arrow{position:absolute;bottom:16px;right:16px;font-size:20px;color:#3b82f6;opacity:0;transition:all .3s}
.feature-card:hover .feature-arrow{opacity:1;transform:translateX(4px)}

/* 平台介绍 */
.intro-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;padding:24px 20px;margin:20px 0 16px}
.intro-header{text-align:center;margin-bottom:16px}
.intro-badge{display:inline-block;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:12px;box-shadow:0 4px 12px rgba(59,130,246,0.3)}
.intro-header h2{font-size:16px;font-weight:700;color:#0f172a;line-height:1.6;margin:0}
.intro-content{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.intro-item{background:#fff;border-radius:16px;padding:14px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 2px 12px rgba(15,23,42,0.06);border:1px solid #e2e8f0}
.intro-item.highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 4px 20px rgba(245,158,11,0.2)}
.intro-item-icon{font-size:28px;flex-shrink:0}
.intro-item-text{flex:1;font-size:13px;color:#475569;line-height:1.5}
.intro-item.highlight .intro-item-text{color:#92400e;font-weight:500}
.btn-primary-large{display:block;width:100%;padding:14px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;text-align:center;border-radius:16px;text-decoration:none;font-weight:700;font-size:15px;box-shadow:0 8px 24px rgba(30,64,175,0.3);transition:all .3s}
.btn-primary-large:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(30,64,175,0.4)}

.cta-row{display:flex;gap:8px;margin:20px 0;justify-content:space-between}

/* 卡片与内容区域 */
.card{background:linear-gradient(135deg,#ffffff,#f8fafc);border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(15,23,42,0.08);border:1px solid #e2e8f0;transition:all .2s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(15,23,42,0.12)}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#6366f1);opacity:0;transition:opacity .2s}
.card:hover::before{opacity:1}
.card-title{font-weight:700;margin-bottom:8px;color:#0f172a;font-size:15px}
.card-desc{color:#64748b;font-size:13px;line-height:1.4}

/* 安全检测面板 */
.scan-panel{background:linear-gradient(135deg,#1e3a8a,#1e40af,#3b82f6);border-radius:20px;padding:32px 24px;margin:16px 0;text-align:center;box-shadow:0 8px 24px rgba(30,64,175,0.25);position:relative;overflow:hidden}
.scan-panel::before{content:'';position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,0.15),transparent);pointer-events:none;animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,30px)}}
.scan-result{margin-bottom:24px}
.scan-circle{position:relative;display:inline-block;margin-bottom:20px}
.scan-circle.scan-complete{animation:scanComplete 0.8s cubic-bezier(0.34,1.56,0.64,1)}
@keyframes scanComplete{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}
.progress-ring{transform:rotate(-90deg);filter:drop-shadow(0 0 8px rgba(251,191,36,0.5))}
.scanning .progress-ring{animation:ringRotate 3s linear infinite}
@keyframes ringRotate{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
.progress-ring-bg{opacity:0.3}
.progress-ring-circle{transition:stroke-dashoffset 0.5s cubic-bezier(0.4,0,0.2,1);stroke-dasharray:389 389;stroke-dashoffset:389}
.scan-score{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2}
.score-num{font-size:42px;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,0.3);line-height:1;margin-bottom:4px}
.score-label{font-size:13px;color:rgba(255,255,255,0.9);font-weight:600;letter-spacing:0.5px}
.scan-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none}
.particle{position:absolute;width:6px;height:6px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0);opacity:0;animation:particleMove 1.5s ease-out infinite;box-shadow:0 0 8px rgba(251,191,36,0.8)}
@keyframes particleMove{0%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0);opacity:0}20%{opacity:1}100%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-50px);opacity:0}}
.particle.burst{animation:particleBurst 0.8s ease-out forwards}
@keyframes particleBurst{0%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1);opacity:1}100%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-80px) scale(0);opacity:0}}
.scan-status{color:#fff;margin-top:12px}
.status-text{font-size:15px;font-weight:600;opacity:0.95;min-height:24px;display:flex;align-items:center;justify-content:center}
.scanning-text{animation:textPulse 1.5s ease-in-out infinite}
@keyframes textPulse{0%,100%{opacity:0.8}50%{opacity:1}}
.success-text{color:#fde68a;font-weight:700;animation:successBounce 0.6s cubic-bezier(0.34,1.56,0.64,1)}
@keyframes successBounce{0%{transform:scale(0.8);opacity:0}100%{transform:scale(1);opacity:1}}
.status-progress{height:4px;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:2px;margin-top:12px;width:0;transition:width 0.3s ease;box-shadow:0 0 12px rgba(251,191,36,0.6);display:none}
.btn-scan{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px;background:#fff;color:#1e40af;border:none;border-radius:16px;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,0.1);position:relative;overflow:hidden}
.btn-scan::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(59,130,246,0.1);transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s}
.btn-scan:hover:not(:disabled)::before{width:300px;height:300px}
.btn-scan:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.15)}
.btn-scan:active:not(:disabled){transform:translateY(0)}
.btn-scan:disabled{opacity:0.8;cursor:not-allowed}
.btn-scan.scanning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;animation:btnPulse 2s ease-in-out infinite}
@keyframes btnPulse{0%,100%{box-shadow:0 4px 16px rgba(245,158,11,0.4)}50%{box-shadow:0 8px 32px rgba(245,158,11,0.6)}}
.btn-icon{font-size:20px;position:relative;z-index:1}
.btn-text{position:relative;z-index:1}

/* 工具箱页面 */
.section-header{margin:24px 0 16px}
.section-header h3{font-size:18px;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}

/* 安全工具卡片 */
.tools-section{margin:24px 0}
.tool-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tool-card{background:#fff;border-radius:16px;padding:20px;text-align:center;text-decoration:none;box-shadow:0 2px 12px rgba(15,23,42,0.08);border:2px solid #e2e8f0;transition:all .3s}
.tool-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(59,130,246,0.2);border-color:#3b82f6}
.tool-icon{font-size:36px;margin-bottom:8px}
.tool-name{font-size:14px;font-weight:600;color:#0f172a}

/* 防护开关 */
.protection-section{margin:24px 0 16px}
.protection-list{background:#fff;border-radius:16px;padding:8px;box-shadow:0 2px 12px rgba(15,23,42,0.08);border:1px solid #e2e8f0}
.protection-item{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;border-bottom:1px solid #f1f5f9}
.protection-item:last-child{border-bottom:none}
.protection-info{display:flex;align-items:center;gap:12px;flex:1}
.protection-icon{font-size:28px}
.protection-text{flex:1}
.protection-title{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:2px}
.protection-desc{font-size:12px;color:#64748b}

/* iOS风格开关 */
.toggle-switch{position:relative;display:inline-block;width:48px;height:28px}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#cbd5e1;border-radius:28px;transition:all .3s}
.toggle-slider:before{content:'';position:absolute;height:22px;width:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s;box-shadow:0 2px 4px rgba(0,0,0,0.2)}
.toggle-switch input:checked + .toggle-slider{background:linear-gradient(135deg,#3b82f6,#6366f1)}
.toggle-switch input:checked + .toggle-slider:before{transform:translateX(20px)}

/* 面板与表单 */
.panel{background:linear-gradient(135deg,#ffffff,#f8fafc);border-radius:16px;padding:20px;margin:16px 0;box-shadow:0 4px 16px rgba(15,23,42,0.08);border:1px solid #e2e8f0}
.panel-title{font-weight:700;margin-bottom:12px;color:#0f172a;font-size:16px}
.kv{padding:8px 0;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between}
.empty{color:#94a3b8;text-align:center;padding:20px;font-style:italic}
.steps{margin:16px 0}
.steps .step{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:12px;padding:12px 16px;margin:8px 0;color:#1e40af;font-weight:500}
.meta-row{display:flex;gap:12px;margin:12px 0}
.meta{flex:1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px;padding:12px;text-align:center;color:#475569;font-weight:500;font-size:14px}
.list{margin:16px 0}
.list .list-item{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:16px;margin:8px 0;box-shadow:0 2px 8px rgba(15,23,42,0.06);border:1px solid #e2e8f0}
.list .title{font-weight:600;color:#0f172a}
.list .points{color:#059669;margin-right:12px;font-weight:700}
.list .right{display:flex;align-items:center;gap:8px}
.form{margin:16px 0}
.form label{display:block;margin:12px 0;color:#374151;font-weight:500}
.form input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px;transition:border-color .2s}
.form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}

/* 保险页专属样式 */
.insurance-hero{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:16px;padding:24px;margin:16px 0;text-align:center;box-shadow:0 8px 24px rgba(30,64,175,0.25)}
.insurance-hero h2{margin:0 0 12px;font-size:18px;font-weight:700;line-height:1.4}
.insurance-hero .highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:8px;padding:8px 12px;margin:12px 0;font-weight:700;font-size:15px}
.insurance-hero .process{opacity:0.9;font-size:14px;margin-top:8px}

/* 个人中心专属样式 */
.profile-header{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:16px;padding:20px;margin:16px 0;display:flex;align-items:center;gap:16px;box-shadow:0 8px 24px rgba(30,64,175,0.25)}
.profile-header .avatar{font-size:48px;width:64px;height:64px;background:rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}
.profile-header .user-info{flex:1;min-width:0;overflow:hidden}
.profile-header .user-id{font-size:16px;font-weight:700;margin-bottom:8px;word-break:break-all;overflow-wrap:break-word;max-width:100%}
.profile-header .user-stats{display:flex;gap:16px;font-size:14px}
.profile-header .stat-item strong{font-weight:700;margin-left:4px}
.level-panel .level-progress{margin:12px 0}
.level-panel .progress-bar{height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:8px}
.level-panel .progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:6px;transition:width 0.3s}
.level-panel .progress-text{text-align:center;color:#64748b;font-size:13px;font-weight:500}
.status-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.status-row.pending{background:#fffbeb;padding:12px;border-radius:8px;border-left:4px solid #f59e0b}
.status-info{flex:1}
.status-label{font-weight:600;color:#0f172a;margin-bottom:4px}
.status-desc{font-size:13px;color:#64748b}
.status-row.pending .status-desc{color:#92400e;font-weight:600}
.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}
.badge.success{background:#dcfce7;color:#166534}
.badge.warning{background:#fef3c7;color:#92400e}
.security-item{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e2e8f0}
.security-item:last-child{border-bottom:none}
.security-info{display:flex;align-items:center;gap:12px;flex:1}
.security-icon{font-size:28px}
.security-text{flex:1}
.security-label{font-weight:600;color:#0f172a;margin-bottom:4px}
.security-value{font-size:14px;color:#64748b}
.text-muted{color:#94a3b8}
.btn-link{color:#3b82f6;text-decoration:none;font-weight:600;font-size:14px}
.btn-link:hover{text-decoration:underline}
.logout-section{margin:24px 0 16px}
.btn-logout-full{display:block;width:100%;padding:14px;background:#fff;color:#ef4444;border:2px solid #ef4444;border-radius:12px;text-align:center;text-decoration:none;font-weight:600;transition:all .2s}
.btn-logout-full:hover{background:#ef4444;color:#fff}

/* 任务中心专属样式 */
/* 积分总览增强版 */
.points-overview-enhanced{display:flex;flex-direction:column;gap:12px;margin:16px 0}
.points-card-main{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 50%,#6366f1 100%);border-radius:20px;padding:20px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 30px rgba(30,64,175,0.3);position:relative;overflow:hidden}
.points-card-main::before{content:'';position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,0.15),transparent 70%);animation:glow 4s ease-in-out infinite}
.points-card-main::after{content:'';position:absolute;bottom:-30%;left:-10%;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,0.1),transparent 70%);animation:glow 5s ease-in-out infinite reverse}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes glow{0%,100%{opacity:0.5}50%{opacity:1}}
.points-icon-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.points-icon{font-size:52px;line-height:1;display:flex;align-items:center;justify-content:center}
.points-main-section{flex:1;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;z-index:2;min-height:50px}
.points-label{font-size:12px;opacity:0.85;margin-bottom:3px;font-weight:500;letter-spacing:0.3px;line-height:1.2}
.points-value{font-size:38px;font-weight:800;text-shadow:0 4px 12px rgba(0,0,0,0.2);line-height:1.1;background:linear-gradient(180deg,#fff,rgba(255,255,255,0.85));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.points-unit{font-size:16px;margin-left:3px;opacity:0.9}
.points-today-section{text-align:center;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,0.25);border-radius:14px;padding:8px 16px;min-width:90px;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;position:relative;z-index:2}
.today-label{font-size:10px;opacity:0.85;margin-bottom:3px;font-weight:600;letter-spacing:0.3px;color:#fff;line-height:1.2}
.today-value{font-size:24px;font-weight:800;color:#fbbf24;text-shadow:0 2px 8px rgba(251,191,36,0.4);line-height:1.1}
.level-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:2px solid #e2e8f0;transition:all .3s;display:flex;align-items:center;gap:16px}
.level-card:hover{border-color:#3b82f6;box-shadow:0 6px 24px rgba(59,130,246,0.15);transform:translateY(-2px)}
.level-icon-large{font-size:56px;flex-shrink:0;animation:floatRotate 6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.1))}
@keyframes floatRotate{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(10deg)}}
.level-info{flex:1;display:flex;align-items:center}
.level-value-main{font-size:32px;font-weight:800;background:linear-gradient(135deg,#f59e0b,#ef4444,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px;line-height:1}
.level-progress-wrapper{flex:1;min-width:100px}
.level-progress-bar{height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:4px;position:relative;box-shadow:inset 0 2px 4px rgba(0,0,0,0.1)}
.level-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444,#ec4899);border-radius:10px;transition:width .5s ease;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(245,158,11,0.4)}
.level-progress-fill::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:shimmer 2s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.level-progress-text{font-size:11px;color:#64748b;font-weight:600;text-align:right}

/* 快捷操作按钮 */
.quick-actions{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}
.action-btn{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:14px;min-height:68px;border-radius:12px;border:none;text-decoration:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,0.08);background:#fff}
.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.12)}
.action-btn:active{transform:translateY(0)}
.withdraw-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b,#ea580c);border:3px solid #dc2626;box-shadow:0 8px 24px rgba(245,158,11,0.4);position:relative;overflow:hidden}
.withdraw-btn::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.3),transparent);animation:shine 3s infinite}
@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}
.withdraw-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px rgba(245,158,11,0.5)}
.withdraw-btn .action-icon{animation:moneyShake 1s ease-in-out infinite}
@keyframes moneyShake{0%,100%{transform:rotate(0deg) scale(1)}10%{transform:rotate(-15deg) scale(1.1)}20%{transform:rotate(15deg) scale(1.1)}30%{transform:rotate(-15deg) scale(1.1)}40%{transform:rotate(15deg) scale(1.1)}50%{transform:rotate(0deg) scale(1)}}
.withdraw-btn .action-title{color:#7c2d12;font-weight:800;font-size:15px;text-shadow:0 1px 2px rgba(255,255,255,0.5)}
.withdraw-btn .action-desc{color:#92400e;font-weight:600;font-size:11px}
.checkin-btn{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6}
.checkin-btn.checked-in{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #9ca3af;opacity:0.7;cursor:not-allowed}
.checkin-btn.checked-in .action-title{color:#6b7280}
.checkin-btn.checked-in .action-desc{color:#9ca3af}
.action-icon{font-size:28px;flex-shrink:0}
.action-text{flex:1;min-width:0;text-align:left;overflow:hidden}
.action-title{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.action-desc{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.withdraw-panel .withdraw-info{display:flex;gap:12px;margin:16px 0}
.withdraw-panel .info-item{flex:1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px;padding:12px;text-align:center}
.withdraw-panel .info-item span{display:block;font-size:12px;color:#64748b;margin-bottom:4px}
.withdraw-panel .info-item strong{font-size:18px;font-weight:700;color:#1e40af}
.task-list{margin:12px 0}
.task-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e2e8f0}
.task-item:last-child{border-bottom:none}
.task-info{flex:1}
.task-name{font-weight:600;color:#0f172a;margin-bottom:4px}
.task-points{color:#059669;font-weight:700;font-size:14px}
.history-list{margin:12px 0;display:flex;flex-direction:column;gap:10px}
.history-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-radius:12px;border:2px solid #e2e8f0;transition:all .3s;box-shadow:0 2px 6px rgba(0,0,0,0.04)}
.history-item:hover{border-color:#bfdbfe;box-shadow:0 4px 12px rgba(59,130,246,0.1);transform:translateY(-1px)}
.history-info{flex:1;min-width:0}
.history-reason{font-weight:700;color:#0f172a;margin-bottom:6px;font-size:15px;display:flex;align-items:center;gap:6px}
.history-time{font-size:13px;color:#64748b;font-weight:500}
.history-change{font-size:20px;font-weight:800;padding:8px 16px;border-radius:10px;min-width:70px;text-align:center}
.history-change.positive{color:#059669;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}
.history-change.negative{color:#dc2626;background:linear-gradient(135deg,#fee2e2,#fecaca)}

/* ============ 记录详情页面 ============ */
.page-container{padding-bottom:80px}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}
.stat-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .3s ease}
.stat-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgba(59,130,246,0.1);transform:translateY(-2px)}
.stat-card.positive{border-color:#10b981}
.stat-card.positive:hover{border-color:#059669;box-shadow:0 4px 12px rgba(16,185,129,0.1)}
.stat-card.negative{border-color:#ef4444}
.stat-card.negative:hover{border-color:#dc2626;box-shadow:0 4px 12px rgba(239,68,68,0.1)}
.stat-icon{font-size:32px;line-height:1}
.stat-info{flex:1}
.stat-label{font-size:13px;color:#64748b;margin-bottom:4px}
.stat-value{font-size:20px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-card.positive .stat-value{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-card.negative .stat-value{background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.records-section{margin:20px 0}
.records-section h3{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:16px;padding-left:12px;border-left:4px solid #3b82f6}
.empty-state{text-align:center;padding:60px 20px;background:#fff;border:2px dashed #e2e8f0;border-radius:12px}
.empty-icon{font-size:64px;margin-bottom:16px;opacity:0.5}
.empty-text{font-size:16px;color:#94a3b8}
.withdraw-item-detail{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:12px;transition:all .3s ease}
.withdraw-item-detail:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgba(59,130,246,0.1)}
.withdraw-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:2px dashed #e2e8f0}
.withdraw-method-large{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1e293b}
.method-icon{font-size:24px}
.withdraw-status-large{font-size:14px;font-weight:600;padding:6px 12px;border-radius:20px;white-space:nowrap}
.withdraw-item-body{display:flex;flex-direction:column;gap:12px}
.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.detail-label{color:#64748b;font-weight:500}
.detail-value{color:#1e293b;font-weight:600;text-align:right}
.detail-value.highlight{font-size:16px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.points-overview-card{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:16px;padding:24px;color:#fff;margin:16px 0;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 24px rgba(59,130,246,0.3)}
.overview-main{display:flex;align-items:center;gap:16px}
.overview-icon{font-size:48px;line-height:1}
.overview-label{font-size:14px;opacity:0.9;margin-bottom:4px}
.overview-value{font-size:32px;font-weight:700}
.overview-level{display:flex;align-items:center}
.level-badge{background:rgba(255,255,255,0.2);backdrop-filter:blur(10px);padding:8px 16px;border-radius:20px;font-size:18px;font-weight:700;border:2px solid rgba(255,255,255,0.3)}

/* 提现页面 */
.withdraw-balance{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:32px 24px;border-radius:20px;text-align:center;margin:16px 0;box-shadow:0 8px 24px rgba(59,130,246,0.3)}
.balance-label{font-size:14px;opacity:0.9;margin-bottom:8px}
.balance-value{font-size:48px;font-weight:800;margin-bottom:4px}
.first-time-bonus{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:16px;padding:20px;margin:16px 0;display:flex;align-items:center;gap:16px}
.bonus-icon{font-size:48px;flex-shrink:0}
.bonus-content{flex:1}
.bonus-title{font-size:18px;font-weight:800;color:#92400e;margin-bottom:8px}
.bonus-desc{font-size:14px;color:#78350f;line-height:1.6}
.bonus-desc strong{color:#92400e;font-weight:800}
.withdraw-form{margin-top:20px}
.withdraw-form .form-group{margin-bottom:20px}
.withdraw-form label{display:block;font-weight:700;color:#0f172a;margin-bottom:8px;font-size:15px}
.withdraw-form input[type="number"],.withdraw-form textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s}
.withdraw-form input:focus,.withdraw-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.withdraw-form small{display:block;margin-top:6px;font-size:13px;color:#64748b}
.exchange-preview{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;border-radius:16px;padding:20px;margin:20px 0;text-align:center}
.preview-label{font-size:14px;color:#1e40af;font-weight:700;margin-bottom:8px}
.preview-amount{font-size:32px;font-weight:800;color:#1e3a8a}
.preview-amount #amount_currency{font-size:18px;color:#3b82f6;margin-left:4px}
.radio-group{display:flex;flex-direction:column;gap:12px}
.radio-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s}
.radio-item:hover{background:#eff6ff;border-color:#bfdbfe}
.radio-item input[type="radio"]{width:20px;height:20px;cursor:pointer}
.radio-item input[type="radio"]:checked + .radio-label{color:#1e40af;font-weight:700}
.radio-item input[type="radio"]:checked ~ .radio-rate{color:#3b82f6;font-weight:700}
.radio-label{flex:1;font-size:15px;font-weight:600;color:#0f172a}
.radio-rate{font-size:13px;color:#64748b}
.withdraw-history{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.withdraw-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;transition:all .3s}
.withdraw-item:hover{border-color:#bfdbfe;box-shadow:0 4px 12px rgba(59,130,246,0.1)}
.withdraw-info{flex:1;min-width:0}
.withdraw-method{font-weight:700;color:#0f172a;margin-bottom:6px;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.first-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:800}
.withdraw-detail{font-size:14px;color:#475569;margin-bottom:4px;font-weight:600}
.withdraw-time{font-size:13px;color:#64748b}
.withdraw-status{padding:8px 16px;border-radius:10px;font-size:13px;font-weight:700;text-align:center;min-width:90px}
.status-pending{background:#fef3c7;color:#92400e}
.status-approved,.status-completed{background:#d1fae5;color:#065f46}
.status-rejected{background:#fee2e2;color:#991b1b}

/* 查看更多按钮 */
.btn-view-more{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;color:#475569;padding:10px 24px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn-view-more:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;color:#1e40af;transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,0.15)}
.btn-view-more:active{transform:translateY(0)}
.desc{color:#475569;line-height:1.7;font-size:14px;margin:8px 0}
.case-panel .case-box{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;padding:16px;color:#166534;font-weight:500;margin:12px 0}
.faq-panel .faq-item{margin:16px 0;border-left:3px solid #3b82f6;padding-left:12px}
.faq-panel .faq-q{font-weight:700;color:#1e40af;margin-bottom:6px;font-size:15px}
.faq-panel .faq-a{color:#475569;line-height:1.6;font-size:14px}
.meta .num{font-size:22px;font-weight:800;color:#1e40af;margin-bottom:4px}
.meta .label{font-size:13px;color:#64748b}

/* 登录注册页 */
.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 68px);padding:20px}
.auth-box{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 40px rgba(15,23,42,0.15)}
.auth-box h1{text-align:center;margin-bottom:24px;color:#0f172a;font-size:24px}
.auth-form{margin:20px 0}
.auth-form .form-group{margin-bottom:16px}
.auth-form .form-group label{display:block;font-weight:600;margin-bottom:8px;color:#374151}
.auth-form .form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px}
.auth-form .form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.auth-form .btn-primary{width:100%;margin-top:8px}
.auth-footer{text-align:center;margin-top:20px;color:#64748b;font-size:14px}
.auth-footer a{color:#3b82f6;text-decoration:none;font-weight:600;margin-left:8px}
.auth-footer a:hover{text-decoration:underline}
.alert{padding:12px 16px;border-radius:8px;margin:16px 0;font-weight:600;font-size:14px}
.alert.error{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}
.alert.alert-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-left:4px solid #10b981}

/* 任务入口卡片 */
.task-entries{display:flex;flex-direction:column;gap:12px;margin:16px 0}
.task-entry-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:16px;border:2px solid #e2e8f0;text-decoration:none;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.task-entry-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,0.15);border-color:#3b82f6}
.task-entry-card.quiz-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}
.task-entry-card.quiz-card:hover{border-color:#f59e0b;box-shadow:0 8px 24px rgba(245,158,11,0.2)}
.entry-icon{font-size:36px;flex-shrink:0}
.entry-content{flex:1}
.entry-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:4px}
.entry-desc{font-size:13px;color:#64748b}
.quiz-card .entry-desc{color:#92400e;font-weight:600}
.entry-arrow{font-size:20px;color:#94a3b8;flex-shrink:0}

/* 文章和视频列表 */
.content-header{margin:16px 0 24px;text-align:center;position:relative;padding-top:50px}
.content-header .back-link{position:absolute;left:0;top:0}
.content-header h2{font-size:24px;font-weight:800;color:#0f172a;margin-bottom:8px;margin-top:0}
.header-desc{font-size:14px;color:#64748b}
.empty-state{text-align:center;padding:60px 20px}
.empty-icon{font-size:64px;margin-bottom:16px}
.empty-text{font-size:18px;font-weight:700;color:#0f172a;margin-bottom:8px}
.empty-desc{font-size:14px;color:#64748b}

/* 文章卡片 */
.article-list{display:flex;flex-direction:column;gap:16px;margin:16px 0}
.article-card{display:block;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.08);text-decoration:none;transition:all .3s;border:2px solid transparent}
.article-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.12);border-color:#3b82f6}
.article-cover{width:100%;height:180px;background-size:cover;background-position:center;position:relative}
.article-cover-default{background:linear-gradient(135deg,#dbeafe,#bfdbfe);display:flex;align-items:center;justify-content:center}
.cover-icon{font-size:48px}
.article-body{padding:16px}
.article-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.read-badge{font-size:11px;background:#10b981;color:#fff;padding:2px 8px;border-radius:12px;font-weight:600}
.article-summary{font-size:14px;color:#64748b;line-height:1.6;margin-bottom:12px}
.article-meta{display:flex;gap:16px;font-size:13px}
.meta-item{display:flex;align-items:center;gap:4px;color:#64748b}
.meta-icon{font-size:14px}
.points-badge{color:#059669;font-weight:700}

/* 视频卡片 */
.video-list{display:flex;flex-direction:column;gap:16px;margin:16px 0}
.video-card{display:block;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.08);text-decoration:none;transition:all .3s;border:2px solid transparent}
.video-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.12);border-color:#3b82f6}
.video-thumbnail{width:100%;height:200px;position:relative;background:#000;overflow:hidden}
.video-thumbnail img{width:100%;height:100%;object-fit:cover}
.video-thumbnail-default{width:100%;height:100%;background:linear-gradient(135deg,#1e3a8a,#3b82f6);display:flex;align-items:center;justify-content:center}
.thumbnail-icon{font-size:64px}
.watched-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center}
.watched-icon{font-size:48px}
.video-duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.8);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}
.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:rgba(255,255,255,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#1e40af;transition:all .3s}
.video-card:hover .play-button{transform:translate(-50%,-50%) scale(1.1);background:#fff}
.video-body{padding:16px}
.video-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:8px}
.video-summary{font-size:14px;color:#64748b;line-height:1.6;margin-bottom:12px}
.video-meta{display:flex;gap:16px;font-size:13px}

/* 文章/视频详情页 */
.article-detail,.video-detail{margin:16px 0}
.article-header,.video-header{margin-bottom:24px}
.back-link{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;text-decoration:none;font-weight:700;padding:10px 20px;border-radius:12px;font-size:15px;border:2px solid #bfdbfe;transition:all .3s;box-shadow:0 2px 8px rgba(59,130,246,0.15)}
.back-link:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.25);border-color:#93c5fd}
.back-link::before{content:'←';font-size:18px;font-weight:700}
.success-alert{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid#10b981;color:#065f46;padding:16px;border-radius:12px;margin-bottom:16px;font-weight:600;text-align:center}
.article-title-main,.video-title-main{font-size:22px;font-weight:800;color:#0f172a;line-height:1.4;margin-bottom:16px}
.article-meta-bar{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:16px;border-bottom:2px solid #e2e8f0;margin-bottom:20px}
.points-highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:4px 12px;border-radius:12px;font-weight:700}
.completed-badge{background:#d1fae5;color:#065f46;padding:4px 12px;border-radius:12px;font-weight:700}
.article-cover-large{margin-bottom:24px;border-radius:16px;overflow:hidden}
.article-cover-large img{width:100%;display:block}
.article-content{font-size:15px;line-height:1.8;color:#374151;margin-bottom:32px}
.video-player{margin-bottom:24px;border-radius:16px;overflow:hidden;background:#000}
.video-player video{width:100%;display:block}
.video-description{background:#f8fafc;padding:20px;border-radius:16px;margin-bottom:24px}
.video-description h3{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:12px}
.video-description p{font-size:14px;line-height:1.7;color:#475569}
.article-actions{text-align:center;margin:32px 0}
.btn-complete{width:100%;padding:18px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(16,185,129,0.3)}
.btn-complete:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,0.4)}
.article-completed{text-align:center;padding:40px 20px;background:#f0fdf4;border-radius:16px}
.completed-icon{font-size:64px;margin-bottom:12px}
.completed-text{font-size:16px;font-weight:600;color:#065f46}

/* 邀请页面 */
.invite-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.stat-card{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:16px;padding:20px;text-align:center;border:2px solid #3b82f6}
.stat-num{font-size:28px;font-weight:800;color:#1e40af;margin-bottom:4px}
.stat-label{font-size:12px;color:#1e3a8a;font-weight:600}
.invite-code-panel{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}
.invite-code-display{display:flex;gap:12px;align-items:center;margin:16px 0}
.code-box{flex:1;background:#fff;padding:16px;border-radius:12px;text-align:center;font-size:24px;font-weight:800;color:#1e40af;letter-spacing:4px;border:2px solid #3b82f6}
.btn-copy,.btn-copy-link{padding:12px 20px;background:#1e40af;color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s;white-space:nowrap}
.btn-copy:hover,.btn-copy-link:hover{background:#1e3a8a;transform:translateY(-1px)}
.invite-link-display{display:flex;gap:12px;margin:16px 0}
.link-input{flex:1;padding:12px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;color:#64748b}
.invite-tip{font-size:13px;color:#64748b;text-align:center;margin-top:8px}
.reward-rules{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #10b981}
.rule-list{margin:16px 0}
.rule-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(16,185,129,0.2)}
.rule-item:last-child{border-bottom:none}
.rule-icon{font-size:24px;flex-shrink:0}
.rule-text{font-size:14px;color:#065f46;font-weight:500}
.rule-text strong{color:#047857;font-weight:700}
.invite-records{margin:12px 0}
.invite-record-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f8fafc;border-radius:12px;margin:8px 0;border:1px solid #e2e8f0}
.record-info{flex:1}
.record-phone{font-weight:600;color:#0f172a;margin-bottom:4px}
.record-time{font-size:12px;color:#64748b}
.record-status{flex-shrink:0}
.status-badge{padding:6px 12px;border-radius:12px;font-size:12px;font-weight:600}
.status-badge.success{background:#d1fae5;color:#065f46}
.status-badge.pending{background:#fef3c7;color:#92400e}

/* 每日答题 */
.quiz-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}
.quiz-stats .stat-item{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:16px;padding:20px;text-align:center;border:2px solid #3b82f6}
.quiz-stats .stat-value{font-size:28px;font-weight:800;color:#1e40af;margin-bottom:4px}
.quiz-stats .stat-label{font-size:12px;color:#1e3a8a;font-weight:600}

.quiz-result{margin:16px 0;padding:32px 24px;border-radius:20px;text-align:center}
.result-correct{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981}
.result-wrong{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444}
.result-icon{font-size:64px;margin-bottom:12px}
.result-title{font-size:24px;font-weight:800;margin-bottom:8px}
.result-correct .result-title{color:#065f46}
.result-wrong .result-title{color:#991b1b}
.result-points{font-size:32px;font-weight:800;color:#047857;margin:12px 0}
.result-hint{font-size:16px;color:#991b1b;font-weight:600;margin:8px 0}
.result-explanation{background:rgba(255,255,255,0.8);padding:16px;border-radius:12px;margin-top:16px;text-align:left;font-size:14px;line-height:1.6;color:#374151}

.quiz-panel{background:#fff;border-radius:20px;padding:24px;margin:16px 0;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:2px solid #e2e8f0}
.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}
.question-badge{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:6px 16px;border-radius:20px;font-weight:700;font-size:14px}
.question-points{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:6px 16px;border-radius:20px;font-weight:700;font-size:14px}
.question-text{font-size:18px;font-weight:700;color:#0f172a;line-height:1.6;margin-bottom:24px;padding:20px;background:#f8fafc;border-radius:12px;border-left:4px solid #3b82f6}

.question-image{margin-bottom:24px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.question-image img{width:100%;height:auto;display:block;max-height:400px;object-fit:contain;background:#f9fafb}

.quiz-form{margin:20px 0}
.options-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.option-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s}
.option-item:hover{background:#eff6ff;border-color:#3b82f6}
.option-item input[type="radio"]{display:none}
.option-item input[type="radio"]:checked + .option-label{background:#3b82f6;color:#fff;transform:scale(1.1)}
.option-item input[type="radio"]:checked ~ .option-text{color:#1e40af;font-weight:700}
.option-label{width:32px;height:32px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#64748b;flex-shrink:0;transition:all .3s}
.option-text{flex:1;font-size:15px;color:#374151;line-height:1.5}
.btn-submit-answer{width:100%;padding:18px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(30,64,175,0.3)}
.btn-submit-answer:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(30,64,175,0.4)}

.quiz-completed{text-align:center;padding:40px 24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:20px;margin:16px 0;border:2px solid #10b981}
.quiz-completed .completed-icon{font-size:72px;margin-bottom:16px}
.quiz-completed .completed-title{font-size:24px;font-weight:800;color:#065f46;margin-bottom:8px}
.quiz-completed .completed-desc{font-size:14px;color:#047857;margin-bottom:24px}
.completed-stats{background:rgba(255,255,255,0.8);padding:20px;border-radius:12px;margin:20px 0}
.completed-stats .stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:16px;color:#065f46}
.completed-stats .stat-row strong{font-size:18px;font-weight:800}
.completed-hint{font-size:14px;color:#047857;margin-top:16px;font-weight:600}

.quiz-actions{text-align:center;margin:24px 0}
.btn-back{display:inline-block;padding:12px 24px;background:#fff;color:#3b82f6;border:2px solid #3b82f6;border-radius:12px;text-decoration:none;font-weight:600;transition:all .3s}
.btn-back:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}

/* 动效 */
.tap{transform:scale(.96);transition:transform .15s}
@keyframes goldPulse{0%,100%{box-shadow:0 4px 14px rgba(245,158,11,0.3)}50%{box-shadow:0 6px 20px rgba(245,158,11,0.5)}}
.btn-ghost.gold:hover{animation:goldPulse 1s infinite}

/* KYC实名认证页面 & 安全设置页面 */
.kyc-form-container,.security-form-container{max-width:600px;margin:0 auto;padding:16px}
.kyc-header,.security-header{text-align:center;margin-bottom:24px;position:relative}
.kyc-header .back-link,.security-header .back-link{position:absolute;left:0;top:0;color:#64748b;text-decoration:none;font-weight:600;transition:color .3s}
.kyc-header .back-link:hover,.security-header .back-link:hover{color:#3b82f6}
.kyc-header h2,.security-header h2{font-size:24px;font-weight:800;color:#0f172a;margin:0 0 8px 0}
.kyc-desc,.security-desc{font-size:14px;color:#64748b;margin:0}
.error-box{background:#fef2f2;border:2px solid #fecaca;border-radius:12px;padding:16px;margin-bottom:20px}
.error-item{color:#dc2626;font-size:14px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.error-item:last-child{margin-bottom:0}
.kyc-form,.security-form{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.form-value{padding:14px 16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;color:#0f172a;font-weight:600}
.success-box{text-align:center;padding:40px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.success-icon{font-size:80px;margin-bottom:20px;animation:scaleIn .5s ease-out}
.success-box h3{font-size:22px;font-weight:800;color:#0f172a;margin:0 0 12px 0}
.success-box p{font-size:15px;color:#64748b;margin-bottom:24px}
.form-group{margin-bottom:24px}
.form-group:last-of-type{margin-bottom:0}
.form-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#0f172a;margin-bottom:10px}
.label-icon{font-size:18px}
.required{color:#ef4444;font-weight:800}
.form-input,.form-select{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s;box-sizing:border-box}
.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:40px}
.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.radio-group{display:flex;flex-direction:column;gap:12px}
.radio-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s;background:#fff}
.radio-option:hover{border-color:#3b82f6;background:#f0f9ff}
.radio-option input[type="radio"]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}
.radio-option input[type="radio"]:checked ~ .radio-icon,.radio-option input[type="radio"]:checked ~ .radio-text{color:#3b82f6;font-weight:700}
.radio-option:has(input:checked){border-color:#3b82f6;background:#f0f9ff;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.radio-icon{font-size:24px;flex-shrink:0}
.radio-text{font-size:15px;font-weight:600;color:#0f172a;flex:1}
.form-hint{font-size:13px;color:#64748b;margin-top:6px}
.info-box{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:12px;padding:16px;margin-bottom:24px}
.info-title{font-size:15px;font-weight:700;color:#1e40af;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.info-list{margin:0;padding-left:20px;color:#1e40af}
.info-list li{margin-bottom:8px;font-size:14px;line-height:1.6}
.info-list li:last-child{margin-bottom:0}
.btn-submit{width:100%;padding:16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px rgba(59,130,246,0.3)}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,0.4)}
.btn-submit:active{transform:translateY(0)}
.btn-icon{font-size:20px}
.kyc-verified,.kyc-pending,.kyc-rejected,.withdraw-locked{text-align:center;padding:40px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);max-width:500px;margin:20px auto}
.verified-icon{font-size:80px;margin-bottom:20px;animation:scaleIn .5s ease-out}
.pending-icon{font-size:80px;margin-bottom:20px;animation:rotate 2s linear infinite}
.rejected-icon{font-size:80px;margin-bottom:20px;animation:shake .5s ease-out}
@keyframes scaleIn{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}
.kyc-verified h2,.kyc-pending h2,.kyc-rejected h2{font-size:24px;font-weight:800;color:#0f172a;margin:0 0 12px 0}
.kyc-rejected h2{color:#ef4444}
.pending-desc,.rejected-desc{font-size:15px;color:#64748b;margin-bottom:24px}
.rejected-desc{color:#dc2626}
.verified-info,.pending-info,.rejected-info{background:#f8fafc;border-radius:12px;padding:20px;margin:24px 0;text-align:left}
.rejected-info{background:#fef2f2;border:2px solid #fecaca}
.btn-resubmit{padding:14px 28px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 16px rgba(245,158,11,0.3)}
.btn-resubmit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(245,158,11,0.4)}
.btn-resubmit:active{transform:translateY(0)}
.locked-icon{font-size:80px;margin-bottom:20px;animation:shake .5s ease-out}
.locked-desc{color:#dc2626;font-size:16px;margin:16px 0;line-height:1.6}
.locked-info{background:#fef2f2;border-radius:12px;padding:20px;margin:24px 0;text-align:left}
.locked-info .info-item{display:flex;align-items:start;gap:12px;margin-bottom:16px}
.locked-info .info-item:last-child{margin-bottom:0}
.locked-info .info-icon{font-size:20px;flex-shrink:0}
.locked-info .info-text{flex:1;color:#0f172a;line-height:1.6}
.btn-kyc-submit{padding:14px 28px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 16px rgba(59,130,246,0.3);text-decoration:none}
.btn-kyc-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,0.4)}
.btn-kyc-submit:active{transform:translateY(0)}
.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e2e8f0}
.info-row:last-child{border-bottom:none}
.info-label{font-size:14px;color:#64748b;font-weight:600}
.info-value{font-size:15px;color:#0f172a;font-weight:700}

/* 移动端优化 */
@media (max-width: 768px) {
  .profile-header{padding:16px;gap:12px}
  .profile-header .avatar{font-size:36px;width:56px;height:56px}
  .profile-header .user-id{font-size:14px;line-height:1.4}
  .profile-header .user-stats{flex-direction:column;gap:8px;font-size:13px}
  .kyc-form-container,.security-form-container{padding:12px}
  .kyc-form,.security-form{padding:20px}
  .kyc-header h2,.security-header h2{font-size:20px}
  .form-input,.form-select{padding:12px 14px;font-size:14px}
  .form-select{padding-right:36px;background-position:right 12px center}
  .form-label{font-size:14px}
  .label-icon{font-size:16px}
  .btn-submit{padding:14px;font-size:15px}
  .info-box{padding:14px}
  .info-title{font-size:14px}
  .info-list li{font-size:13px}
  .radio-group{gap:10px}
  .radio-option{padding:12px 14px;gap:10px}
  .radio-icon{font-size:20px}
  .radio-text{font-size:14px}
  .radio-option input[type="radio"]{width:18px;height:18px}
}


/* Language Selector Dropdown */
.lang-selector{background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(255,255,255,0.3);border-radius:8px;padding:6px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;backdrop-filter:blur(10px);outline:none;appearance:none;background-image:url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%228%22 viewBox=%220 0 12 8%22%3E%3Cpath fill=%22%23fff%22 d=%22M1 1l5 5 5-5%22 stroke=%22%23fff%22 stroke-width=%221.5%22 fill=%22none%22/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}.lang-selector:hover{background:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.5)}.lang-selector:focus{background:rgba(255,255,255,0.3);border-color:rgba(255,255,255,0.6)}.lang-selector option{background:#1e40af;color:#fff;padding:8px}
