/* ═══════════════════════════════════════════════════════════
   GACC.ai — Agent编程大赛 卡通风格主题
   设计语言：糖果色 + 粗描边 + 大圆角 + 硬阴影(sticker风) + 弹性动画
   ═══════════════════════════════════════════════════════════ */

/* ---------- 基础画布 ---------- */
html, body {
	background: #FFF7ED !important;
	font-family: "Baloo 2", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans JP", "Noto Sans KR", sans-serif !important;
}
.ga-page {
	background: #FFF7ED !important;
	min-height: 100vh;
	overflow-x: hidden;
	/* bricks VBox 默认 flex column + height:100% 会把子 section 压扁 → 改块级流 */
	display: block !important;
	height: auto !important;
}
/* header/hero 内的行内组不应占满宽 */
.ga-logo-box, .ga-nav, .ga-lang-box, .ga-hero-btns, .ga-hero-stats, .ga-countdown-box {
	width: auto !important;
}
/* bricks VBox 默认 width:100% → 在 HBox 行内组里必须收回 auto */
.ga-footer-col, .ga-prize, .ga-price-row, .ga-hero-stats > .vcontainer, .ga-footer-cols > .vcontainer {
	width: auto !important;
}
.ga-price-row { flex-wrap: wrap !important; justify-content: center !important; }

/* ---------- 头部 ---------- */
.ga-header {
	position: sticky !important;
	top: 0;
	z-index: 900;
	background: #FFFDF8 !important;
	border-bottom: 4px solid #1F2937 !important;
	box-shadow: 0 4px 0 rgba(31,41,55,0.12) !important;
	padding: 8px 24px !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}
.ga-logo-box { cursor: pointer; align-items: center !important; gap: 10px !important; }
.ga-logo-svg { width: 46px !important; height: 46px !important; }
.ga-logo-svg svg { width: 46px !important; height: 46px !important; }
.ga-logo-text {
	font-size: 26px !important; font-weight: 800 !important;
	color: #1F2937 !important; letter-spacing: 1px !important;
	text-shadow: 2px 2px 0 #FCD34D !important;
}
.ga-logo-sub { font-size: 12px !important; color: #92400E !important; font-weight: 600 !important; margin-top: -4px !important; }
.ga-nav { align-items: center !important; gap: 4px !important; flex-wrap: wrap !important; }
.ga-nav-item {
	font-size: 16px !important; font-weight: 700 !important; color: #374151 !important;
	padding: 8px 14px !important; border-radius: 999px !important; cursor: pointer !important;
	transition: all .15s ease !important; border: 2px solid transparent !important;
}
.ga-nav-item:hover { background: #FEF3C7 !important; color: #92400E !important; transform: rotate(-2deg) scale(1.05) !important; }
.ga-nav-cta {
	background: #F472B6 !important; color: #FFF !important;
	border: 3px solid #1F2937 !important; box-shadow: 3px 3px 0 #1F2937 !important;
	font-weight: 800 !important;
}
.ga-nav-cta:hover { background: #EC4899 !important; transform: translate(1px,1px) !important; box-shadow: 2px 2px 0 #1F2937 !important; }
.ga-lang-btn {
	font-size: 14px !important; font-weight: 800 !important; color: #1F2937 !important;
	padding: 6px 12px !important; border-radius: 999px !important; cursor: pointer !important;
	border: 2px solid #1F2937 !important; background: #FFF !important;
	transition: all .15s ease !important;
}
.ga-lang-btn:hover { background: #A7F3D0 !important; transform: scale(1.08) rotate(2deg) !important; }
.ga-lang-btn.active { background: #34D399 !important; color: #064E3B !important; }

/* ---------- Hero ---------- */
.ga-hero {
	position: relative !important;
	background: linear-gradient(160deg, #FDE68A 0%, #FBCFE8 45%, #C7D2FE 100%) !important;
	border-bottom: 4px solid #1F2937 !important;
	padding: 56px 24px 70px !important;
	align-items: center !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
}
.ga-hero-inner {
	max-width: 900px; width: 100% !important;
	display: flex !important; flex-direction: column !important;
	align-items: center !important; gap: 20px !important; z-index: 2;
}
.ga-hero-badge {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 999px !important;
	padding: 6px 20px !important; font-size: 15px !important; font-weight: 800 !important; color: #DB2777 !important;
	box-shadow: 3px 3px 0 #1F2937 !important; transform: rotate(-2deg);
	animation: ga-wiggle 3s ease-in-out infinite;
}
.ga-hero-title {
	font-size: 52px !important; font-weight: 900 !important; color: #1F2937 !important;
	text-align: center !important; line-height: 1.2 !important;
	text-shadow: 3px 3px 0 #FFF, 6px 6px 0 rgba(31,41,55,0.15) !important;
}
.ga-hero-title em { font-style: normal; color: #DB2777; }
.ga-hero-sub {
	font-size: 20px !important; color: #4B5563 !important; text-align: center !important;
	max-width: 760px; line-height: 1.7 !important; font-weight: 600 !important;
}
.ga-hero-mascot { width: 280px !important; height: 280px !important; }
.ga-hero-mascot svg { width: 280px !important; height: 280px !important; animation: ga-float 3.5s ease-in-out infinite; }
.ga-hero-btns { gap: 18px !important; align-items: center !important; flex-wrap: wrap !important; justify-content: center !important; }

/* 大按钮 */
.ga-btn-big {
	font-size: 19px !important; font-weight: 800 !important;
	padding: 14px 34px !important; border-radius: 999px !important; cursor: pointer !important;
	border: 3px solid #1F2937 !important; box-shadow: 5px 5px 0 #1F2937 !important;
	transition: all .12s ease !important;
}
.ga-btn-big:hover { transform: translate(2px,2px) !important; box-shadow: 3px 3px 0 #1F2937 !important; }
.ga-btn-pink { background: #F472B6 !important; color: #FFF !important; }
.ga-btn-yellow { background: #FCD34D !important; color: #1F2937 !important; }
.ga-btn-mint { background: #34D399 !important; color: #064E3B !important; }
.ga-btn-sky { background: #7DD3FC !important; color: #0C4A6E !important; }
.ga-btn-white { background: #FFF !important; color: #1F2937 !important; }

/* 倒计时 */
.ga-countdown-box {
	background: #1F2937 !important; border-radius: 20px !important; padding: 14px 28px !important;
	border: 3px solid #1F2937 !important; box-shadow: 5px 5px 0 #DB2777 !important;
	align-items: center !important; gap: 6px !important;
}
.ga-countdown-label { font-size: 14px !important; color: #FCD34D !important; font-weight: 800 !important; letter-spacing: 2px !important; }
.ga-countdown { font-size: 34px !important; font-weight: 900 !important; color: #7DD3FC !important; font-variant-numeric: tabular-nums; letter-spacing: 2px; }
.ga-countdown .vcontainer { font-size: 34px !important; font-weight: 900 !important; color: #7DD3FC !important; }

/* hero 统计数字 */
.ga-hero-stats { z-index: 2; max-width: 1100px; }
.ga-stat-num {
	font-size: 30px !important; font-weight: 900 !important; color: #1F2937 !important;
	text-shadow: 2px 2px 0 #FFF !important;
}
.ga-stat-num .vcontainer { font-size: 30px !important; font-weight: 900 !important; }
.ga-stat-label {
	background: #FFF !important; border: 2.5px solid #1F2937 !important; border-radius: 999px !important;
	padding: 3px 14px !important; font-size: 13.5px !important; font-weight: 800 !important; color: #374151 !important;
	box-shadow: 2px 2px 0 rgba(31,41,55,.5) !important;
}
.ga-lang-box { align-items: center !important; }

/* 漂浮装饰 */
.ga-deco { position: absolute !important; font-size: 42px !important; opacity: .75; pointer-events: none; z-index: 1; animation: ga-float 4s ease-in-out infinite; }
.ga-deco .vcontainer { font-size: 42px !important; }

/* ---------- 通用 section ---------- */
.ga-section { padding: 60px 24px !important; align-items: center !important; width: 100% !important; }
.ga-section-alt { background: #FEF3C7 !important; border-top: 4px dashed #F59E0B !important; border-bottom: 4px dashed #F59E0B !important; }
.ga-section-mint { background: #ECFDF5 !important; }
.ga-section-inner { max-width: 1150px; width: 100%; gap: 26px !important; }
.ga-sec-tag {
	background: #1F2937 !important; color: #FCD34D !important; font-size: 14px !important; font-weight: 800 !important;
	padding: 5px 18px !important; border-radius: 999px !important; letter-spacing: 2px !important;
	transform: rotate(-1.5deg); align-self: center !important;
}
.ga-sec-title {
	font-size: 38px !important; font-weight: 900 !important; color: #1F2937 !important;
	text-align: center !important; text-shadow: 2px 2px 0 #FFF !important;
}
.ga-sec-sub { font-size: 17px !important; color: #6B7280 !important; text-align: center !important; max-width: 800px; line-height: 1.7 !important; font-weight: 600 !important; }

/* ---------- 卡片 ---------- */
.ga-cards { gap: 22px !important; flex-wrap: wrap !important; justify-content: center !important; width: 100% !important; }
.ga-card {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 22px !important;
	box-shadow: 6px 6px 0 rgba(31,41,55,0.9) !important; padding: 26px 22px !important;
	width: 320px !important; flex: 0 1 320px !important;
	transition: transform .18s ease, box-shadow .18s ease !important;
	gap: 10px !important;
}
.ga-card:hover { transform: translate(-3px,-4px) rotate(-.6deg) !important; box-shadow: 9px 10px 0 rgba(31,41,55,0.9) !important; }
.ga-card-icon { font-size: 44px !important; text-align: center !important; }
.ga-card-icon .vcontainer { font-size: 44px !important; }
.ga-card-title { font-size: 21px !important; font-weight: 800 !important; color: #1F2937 !important; text-align: center !important; }
.ga-card-text { font-size: 15px !important; color: #4B5563 !important; text-align: center !important; line-height: 1.65 !important; }
.ga-card-pink { border-color: #DB2777 !important; box-shadow: 6px 6px 0 #DB2777 !important; }
.ga-card-sky { border-color: #0284C7 !important; box-shadow: 6px 6px 0 #0284C7 !important; }
.ga-card-mint { border-color: #059669 !important; box-shadow: 6px 6px 0 #059669 !important; }
.ga-card-amber { border-color: #D97706 !important; box-shadow: 6px 6px 0 #D97706 !important; }
.ga-card-violet { border-color: #7C3AED !important; box-shadow: 6px 6px 0 #7C3AED !important; }

/* ---------- 流程时间线 ---------- */
.ga-steps { gap: 14px !important; width: 100% !important; flex-wrap: wrap !important; justify-content: center !important; }
.ga-step {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 18px !important;
	box-shadow: 4px 4px 0 #F472B6 !important; padding: 16px 14px !important;
	width: 168px !important; flex: 0 1 168px !important; align-items: center !important; gap: 6px !important;
	transition: transform .15s ease !important;
}
.ga-step:hover { transform: translateY(-5px) rotate(1deg) !important; }
.ga-step-num {
	background: #FCD34D !important; border: 2.5px solid #1F2937 !important; border-radius: 50% !important;
	width: 40px; height: 34px; align-items: center !important; justify-content: center !important;
	font-size: 18px !important; font-weight: 900 !important; color: #1F2937 !important;
}
.ga-step-num .vcontainer { font-size: 18px !important; font-weight: 900 !important; }
.ga-step-title { font-size: 15.5px !important; font-weight: 800 !important; color: #1F2937 !important; text-align: center !important; }
.ga-step-text { font-size: 12.5px !important; color: #6B7280 !important; text-align: center !important; line-height: 1.5 !important; }
.ga-step-arrow { font-size: 26px !important; color: #F472B6 !important; align-self: center !important; font-weight: 900; }
.ga-step-arrow .vcontainer { font-size: 26px !important; }

/* ---------- 评分维度 ---------- */
.ga-dim-row { width: 100%; max-width: 860px; align-items: center !important; gap: 14px !important; padding: 6px 0 !important; }
.ga-dim-icon { font-size: 30px !important; width: 44px !important; text-align: center !important; }
.ga-dim-icon .vcontainer { font-size: 30px !important; }
.ga-dim-name { font-size: 17px !important; font-weight: 800 !important; color: #1F2937 !important; width: 190px !important; }
.ga-dim-desc { font-size: 14px !important; color: #6B7280 !important; flex: 1; }
.ga-dim-weight {
	background: #FEF3C7 !important; border: 2.5px solid #1F2937 !important; border-radius: 999px !important;
	font-size: 16px !important; font-weight: 900 !important; color: #92400E !important;
	padding: 4px 16px !important; min-width: 64px; text-align: center !important;
}
.ga-dim-weight .vcontainer { font-size: 16px !important; font-weight: 900 !important; }
.ga-dim-bar-bg { flex: 1; height: 18px; background: #FFF !important; border: 2.5px solid #1F2937 !important; border-radius: 999px !important; overflow: hidden !important; min-width: 100px; }
.ga-dim-bar { height: 100%; border-radius: 999px; }

/* ---------- 票价卡 ---------- */
.ga-ticket {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 24px !important;
	box-shadow: 7px 7px 0 rgba(31,41,55,.9) !important; padding: 30px 26px !important;
	width: 290px !important; flex: 0 1 290px !important; align-items: center !important; gap: 12px !important;
	position: relative;
	transition: transform .18s ease !important;
}
.ga-ticket:hover { transform: translateY(-8px) !important; }
.ga-ticket-hot { border-color: #DB2777 !important; box-shadow: 7px 7px 0 #DB2777 !important; }
.ga-ticket-ribbon {
	position: absolute !important; top: -14px; right: 16px;
	background: #F472B6 !important; color: #FFF !important; font-size: 13px !important; font-weight: 800 !important;
	border: 2.5px solid #1F2937 !important; border-radius: 999px !important; padding: 4px 14px !important;
	transform: rotate(3deg); box-shadow: 2px 2px 0 #1F2937 !important;
}
.ga-ticket-icon { font-size: 46px !important; }
.ga-ticket-icon .vcontainer { font-size: 46px !important; }
.ga-ticket-name { font-size: 22px !important; font-weight: 900 !important; color: #1F2937 !important; text-align: center !important; }
.ga-ticket-price { font-size: 34px !important; font-weight: 900 !important; color: #DB2777 !important; text-align: center !important; }
.ga-ticket-price .vcontainer { font-size: 34px !important; font-weight: 900 !important; }
.ga-ticket-unit { font-size: 14px !important; color: #9CA3AF !important; font-weight: 700 !important; }
.ga-ticket-li { font-size: 14.5px !important; color: #4B5563 !important; line-height: 1.8 !important; text-align: center !important; }
.ga-ticket-note {
	background: #FFFBEB !important; border: 2px dashed #F59E0B !important; border-radius: 14px !important;
	padding: 12px 18px !important; font-size: 14px !important; color: #92400E !important;
	max-width: 920px; line-height: 1.7 !important; text-align: center !important;
}

/* ---------- 奖金 ---------- */
.ga-prize { align-items: center !important; gap: 6px !important; }
.ga-prize-medal { font-size: 56px !important; animation: ga-wiggle 2.6s ease-in-out infinite; }
.ga-prize-medal .vcontainer { font-size: 56px !important; }
.ga-prize-amount { font-size: 30px !important; font-weight: 900 !important; color: #1F2937 !important; }
.ga-prize-name { font-size: 16px !important; font-weight: 800 !important; color: #6B7280 !important; }
.ga-prize-pool {
	background: #1F2937 !important; border-radius: 22px !important; padding: 16px 40px !important;
	border: 3px solid #1F2937 !important; box-shadow: 6px 6px 0 #F59E0B !important;
	font-size: 24px !important; font-weight: 900 !important; color: #FCD34D !important;
	transform: rotate(-1deg);
}
.ga-prize-pool .vcontainer { font-size: 24px !important; font-weight: 900 !important; }

/* ---------- FAQ ---------- */
.ga-faq { width: 100%; max-width: 860px; gap: 14px !important; }
.ga-faq-item {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 18px !important;
	box-shadow: 4px 4px 0 rgba(31,41,55,.85) !important; overflow: hidden !important;
	transition: transform .15s ease !important;
}
.ga-faq-q {
	font-size: 17px !important; font-weight: 800 !important; color: #1F2937 !important;
	padding: 16px 20px !important; cursor: pointer !important; width: 100% !important;
	justify-content: space-between !important; align-items: center !important; gap: 10px !important;
}
.ga-faq-q:hover { background: #FEF3C7 !important; }
.ga-faq-arrow { font-size: 18px !important; color: #DB2777 !important; font-weight: 900 !important; transition: transform .2s ease; }
.ga-faq-item.open .ga-faq-arrow { transform: rotate(90deg); }
.ga-faq-a {
	font-size: 15px !important; color: #4B5563 !important; line-height: 1.75 !important;
	padding: 0 20px 18px !important; display: none !important;
	border-top: 2px dashed #E5E7EB !important; padding-top: 14px !important;
}
.ga-faq-item.open .ga-faq-a { display: block !important; }

/* ---------- CTA ---------- */
.ga-cta {
	background: linear-gradient(135deg, #1F2937 0%, #312E81 60%, #701A75 100%) !important;
	border-top: 4px solid #1F2937 !important;
	padding: 70px 24px !important; align-items: center !important; gap: 22px !important; width: 100% !important;
}
.ga-cta-title {
	font-size: 40px !important; font-weight: 900 !important; color: #FCD34D !important;
	text-align: center !important; text-shadow: 3px 3px 0 rgba(0,0,0,.4) !important;
}
.ga-cta-sub { font-size: 18px !important; color: #E5E7EB !important; text-align: center !important; max-width: 640px; line-height: 1.7 !important; font-weight: 600 !important; }

/* ---------- 页脚 ---------- */
.ga-footer {
	background: #111827 !important; padding: 40px 24px 24px !important; width: 100% !important;
	align-items: center !important; gap: 18px !important;
}
.ga-footer-cols { max-width: 1100px; width: 100%; gap: 30px !important; flex-wrap: wrap !important; justify-content: space-between !important; }
.ga-footer-col { gap: 8px !important; min-width: 160px; }
.ga-footer-h { font-size: 16px !important; font-weight: 800 !important; color: #FCD34D !important; }
.ga-footer-link { font-size: 14px !important; color: #D1D5DB !important; cursor: pointer !important; }
.ga-footer-link:hover { color: #7DD3FC !important; text-decoration: underline !important; }
.ga-footer-bottom {
	width: 100%; max-width: 1100px; border-top: 2px dashed #374151 !important; padding-top: 16px !important;
	align-items: center !important; justify-content: center !important; gap: 8px !important; flex-wrap: wrap !important;
}
.ga-footer-copy { font-size: 13px !important; color: #6B7280 !important; text-align: center !important; }

/* ---------- 子页面 hero ---------- */
.ga-page-hero {
	background: linear-gradient(160deg, #A7F3D0 0%, #BAE6FD 55%, #DDD6FE 100%) !important;
	border-bottom: 4px solid #1F2937 !important;
	padding: 52px 24px !important; align-items: center !important; gap: 14px !important; width: 100% !important;
}
.ga-page-title { font-size: 42px !important; font-weight: 900 !important; color: #1F2937 !important; text-align: center !important; text-shadow: 2px 2px 0 #FFF !important; }
.ga-page-sub { font-size: 17px !important; color: #374151 !important; text-align: center !important; max-width: 720px; line-height: 1.7 !important; font-weight: 600 !important; }

/* ---------- 表单 ---------- */
.ga-form-wrap {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 24px !important;
	box-shadow: 8px 8px 0 rgba(31,41,55,.9) !important; padding: 30px 28px !important;
	width: 100%; max-width: 680px !important;
}
.ga-form-wrap .vcontainer, .ga-form-wrap .hcontainer { border-radius: 10px; }
.ga-form-wrap input, .ga-form-wrap textarea, .ga-form-wrap select {
	border: 2.5px solid #1F2937 !important; border-radius: 12px !important;
	padding: 10px 14px !important; font-size: 15px !important; background: #FFFBEB !important;
	font-family: inherit !important;
}
.ga-form-wrap input:focus, .ga-form-wrap textarea:focus, .ga-form-wrap select:focus {
	outline: none !important; border-color: #DB2777 !important; box-shadow: 0 0 0 3px rgba(244,114,182,.25) !important;
}
.ga-form-wrap button {
	border-radius: 999px !important; border: 3px solid #1F2937 !important;
	box-shadow: 4px 4px 0 #1F2937 !important; font-weight: 800 !important; font-size: 16px !important;
	background: #34D399 !important; color: #064E3B !important; padding: 10px 26px !important; cursor: pointer !important;
}
.ga-form-wrap button:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 #1F2937 !important; }

/* ---------- 赛题列表 ---------- */
.ga-srs-list { width: 100%; max-width: 900px; gap: 16px !important; }
.ga-srs-card {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 20px !important;
	box-shadow: 5px 5px 0 rgba(31,41,55,.85) !important; padding: 20px 22px !important;
	width: 100% !important; gap: 8px !important;
}
.ga-srs-top { width: 100% !important; justify-content: space-between !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.ga-srs-title { font-size: 19px !important; font-weight: 800 !important; color: #1F2937 !important; }
.ga-srs-author { font-size: 13px !important; color: #9CA3AF !important; font-weight: 700 !important; }
.ga-srs-summary { font-size: 14.5px !important; color: #4B5563 !important; line-height: 1.65 !important; width: 100% !important; }
.ga-like-btn {
	background: #FEE2E2 !important; border: 2.5px solid #1F2937 !important; border-radius: 999px !important;
	padding: 6px 18px !important; font-size: 15px !important; font-weight: 800 !important; color: #DC2626 !important;
	cursor: pointer !important; box-shadow: 3px 3px 0 #1F2937 !important; transition: all .12s ease !important;
	align-items: center !important; gap: 4px !important;
}
.ga-like-btn:hover { background: #FECACA !important; transform: translate(1px,1px) !important; box-shadow: 2px 2px 0 #1F2937 !important; }
.ga-like-btn.liked { background: #DC2626 !important; color: #FFF !important; }
.ga-srs-empty {
	font-size: 16px !important; color: #9CA3AF !important; text-align: center !important;
	padding: 30px !important; font-weight: 700 !important;
}

/* ---------- 排行榜（演示数据） ---------- */
.ga-lb-wrap { width: 100%; max-width: 960px; gap: 18px !important; }
.ga-lb-note {
	background: #FFFBEB !important; border: 3px dashed #F59E0B !important; border-radius: 16px !important;
	padding: 14px 20px !important; font-size: 14.5px !important; color: #92400E !important;
	line-height: 1.7 !important; text-align: center !important; font-weight: 700 !important;
}
.ga-lb-table { width: 100% !important; background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 20px !important; box-shadow: 6px 6px 0 rgba(31,41,55,.9) !important; overflow: hidden !important; }
.ga-lb-row { width: 100% !important; align-items: center !important; padding: 12px 18px !important; gap: 10px !important; border-bottom: 2px dashed #E5E7EB !important; flex-wrap: wrap !important; }
.ga-lb-head { background: #1F2937 !important; border-bottom: none !important; }
.ga-lb-head .vcontainer { color: #FCD34D !important; font-weight: 800 !important; font-size: 14.5px !important; }
.ga-lb-rank { font-size: 22px !important; font-weight: 900 !important; width: 52px !important; text-align: center !important; }
.ga-lb-rank .vcontainer { font-size: 22px !important; font-weight: 900 !important; }
.ga-lb-team { font-size: 16px !important; font-weight: 800 !important; color: #1F2937 !important; width: 220px !important; }
.ga-lb-cell { font-size: 14.5px !important; color: #4B5563 !important; width: 90px !important; text-align: center !important; font-weight: 700 !important; }
.ga-lb-score {
	font-size: 18px !important; font-weight: 900 !important; color: #DB2777 !important; width: 90px !important; text-align: right !important;
}
.ga-lb-score .vcontainer { font-size: 18px !important; font-weight: 900 !important; }
.ga-lb-formula {
	background: #1F2937 !important; color: #7DD3FC !important; border-radius: 16px !important;
	padding: 16px 22px !important; font-size: 15px !important; font-weight: 700 !important;
	font-family: "Courier New", monospace !important; text-align: center !important; width: 100%;
	border: 3px solid #1F2937 !important; box-shadow: 5px 5px 0 #7C3AED !important;
}
.ga-lb-formula .vcontainer { font-family: "Courier New", monospace !important; font-size: 15px !important; }

/* ---------- 关于页 ---------- */
.ga-about-grid { gap: 22px !important; flex-wrap: wrap !important; justify-content: center !important; width: 100%; max-width: 1050px; }
.ga-about-card {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 20px !important;
	box-shadow: 6px 6px 0 rgba(31,41,55,.9) !important; padding: 24px !important;
	width: 460px !important; flex: 0 1 460px !important; gap: 10px !important;
}
.ga-about-h { font-size: 20px !important; font-weight: 900 !important; color: #1F2937 !important; }
.ga-about-t { font-size: 14.5px !important; color: #4B5563 !important; line-height: 1.8 !important; }
.ga-about-t b { color: #DB2777; }

/* ---------- 赞助层级 ---------- */
.ga-sponsor-tier {
	background: #FFF !important; border: 3px solid #1F2937 !important; border-radius: 20px !important;
	box-shadow: 5px 5px 0 rgba(31,41,55,.9) !important; padding: 22px 20px !important;
	width: 300px !important; flex: 0 1 300px !important; gap: 8px !important; align-items: center !important;
}
.ga-tier-badge {
	font-size: 15px !important; font-weight: 900 !important; color: #FFF !important;
	border: 2.5px solid #1F2937 !important; border-radius: 999px !important; padding: 4px 18px !important;
	box-shadow: 2px 2px 0 #1F2937 !important;
}
.ga-tier-badge .vcontainer { font-size: 15px !important; font-weight: 900 !important; }
.ga-tier-price { font-size: 26px !important; font-weight: 900 !important; color: #1F2937 !important; }
.ga-tier-quota { font-size: 13px !important; color: #9CA3AF !important; font-weight: 700 !important; }
.ga-tier-li { font-size: 13.5px !important; color: #4B5563 !important; line-height: 1.7 !important; text-align: center !important; }

/* ---------- 弹窗（Message/Error 卡通化） ---------- */
.message, .error {
	border: 3px solid #1F2937 !important; border-radius: 20px !important;
	box-shadow: 8px 8px 0 rgba(31,41,55,.35) !important;
}

/* ---------- 动画 ---------- */
@keyframes ga-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-14px); }
}
@keyframes ga-wiggle {
	0%, 100% { transform: rotate(-2deg); }
	50% { transform: rotate(2.5deg); }
}
@keyframes ga-pop {
	0% { transform: scale(.85); opacity: 0; }
	70% { transform: scale(1.04); }
	100% { transform: scale(1); opacity: 1; }
}
.ga-pop { animation: ga-pop .35s ease both; }

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
	.ga-header { padding: 8px 12px !important; justify-content: center !important; }
	.ga-logo-text { font-size: 20px !important; }
	.ga-nav { justify-content: center !important; }
	.ga-hero { padding: 40px 14px 60px !important; }
	.ga-hero-title { font-size: 32px !important; }
	.ga-hero-sub { font-size: 16px !important; }
	.ga-hero-mascot, .ga-hero-mascot svg { width: 180px !important; height: 180px !important; }
	.ga-sec-title { font-size: 27px !important; }
	.ga-section { padding: 40px 14px !important; }
	.ga-card, .ga-ticket { width: 100% !important; flex: 1 1 100% !important; max-width: 420px; }
	.ga-step { width: 100% !important; flex: 1 1 100% !important; max-width: 340px; }
	.ga-step-arrow { display: none !important; }
	.ga-dim-row { flex-wrap: wrap !important; }
	.ga-dim-name { width: auto !important; }
	.ga-dim-desc { width: 100% !important; flex: 0 0 100% !important; order: 3; }
	.ga-cta-title { font-size: 28px !important; }
	.ga-page-title { font-size: 30px !important; }
	.ga-lb-team { width: 140px !important; }
	.ga-lb-cell { width: 64px !important; font-size: 12.5px !important; }
	.ga-form-wrap { padding: 20px 14px !important; }
	.ga-countdown { font-size: 26px !important; }
	.ga-countdown .vcontainer { font-size: 26px !important; }
}
