/* 原站 competition.css 的 inline <style>，原樣搬移，勿改（佔位符法：版面照原站） */
:root {
            --bg: #ffffff;
            --text: #1a1a1a;
            --muted: #6b7280;
            --line: #e9e9e9;
            --max: 1280px;
            --brand: #6f1122; /* 酒红基色 */
            --brand-2: #a01834; /* 酒红亮 */
            --gold: #b8860b; /* 点缀金 */
            --btn-shadow: 0 6px 16px rgba(160, 24, 52, .25);

            --fs-body: clamp(14px, 0.24vw + 13px, 16px);

            --fs-h1: clamp(28px, 3.2vw + 16px, 48px); /* 顶部主标题 */
            --fs-h2: clamp(22px, 1.8vw + 14px, 34px);
            --fs-h3: clamp(16px, 1.1vw + 10px, 20px);

            --fs-lead: clamp(16px, 0.9vw + 13px, 19px); /* 引导/说明文字 */
            --fs-date: clamp(12px, 0.6vw + 10px, 14px); /* 辅助小字 */
            --fs-nav: clamp(14px, 0.5vw + 11px, 16px); /* 顶部导航链接 */
            --fs-btn: clamp(14px, 0.6vw + 11px, 16px); /* 按钮文字 */
            --fs-eyeb: clamp(11px, 0.5vw + 9px, 12px); /* 眉题/小标签 */
        }

        * {
            box-sizing: border-box
        }

        html, body {
            margin: 0;
            padding: 0;
            background: var(--bg);
            font-family: 'Noto Sans SC', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
            font-size: var(--fs-body);
        }

        a {
            text-decoration: none
        }

        img {
            max-width: 100%;
            display: block
        }

        /* 布局容器与节奏 */
        section {
            padding: 12px 9px
        }

        .wrap {
            max-width: var(--max);
            margin: 0 auto
        }

        .section {
            color: var(--text);
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 16px;
            padding: 14px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .02)
        }

        .section + .section {
            margin-top: 28px
        }

        .section-head {
            display: flex;
            /*align-items: flex-end;*/
            justify-content: space-between;
            gap: 16px;
            border-bottom: 1px solid var(--line);
            padding-bottom: 14px;
            margin-bottom: 18px
        }

        .eyebrow {
            color: var(--gold);
            letter-spacing: 2px;
            font-weight: 900;
            text-transform: uppercase
        }

        h1, h2, h3 {
            margin: 0
        }

        h1 {
            line-height: 1.15;
            color: #fff
        }

        /* 顶部大字改为白色 */
        h2 {
            color: #222
        }

        h3 {
            color: var(--brand)
        }

        p {
            line-height: 1.8;
            margin: .6rem 0
        }

        .lead {
            color: #374151
        }

        /* 导览列 */
        .topbar {
            position: sticky;
            top: 0;
            z-index: 30;
            background: #fff;
            border-bottom: 1px solid var(--line)
        }

        .nav {
            max-width: var(--max);
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 10px 16px
        }

        .brand {
            font-weight: 900;
            letter-spacing: .4px;
            color: var(--brand);
            font-size:18px;
            display: flex;
        }

        .navlinks {
            margin-left: auto;
            display: flex;
            gap: 18px;
            font-weight: 700
        }

        .navlinks a {
            padding: 10px 6px;
            border-bottom: 2px solid transparent;
            color: var(--text)
        }

        .navlinks a:hover {
            border-color: var(--brand);
            color: var(--brand)
        }

        /* Hero */
        header.hero {
            background: linear-gradient(180deg, #0f0f0f 0%, #1c1c1c 100%);
            color: #fff
        }

        .hero-inner {
            max-width: var(--max);
            margin: 0 auto;
            padding: 15px 0px;
            display: grid;
            grid-template-columns:1.2fr .8fr;
            gap: 26px;
        }

        @media (max-width: 920px) {
            .hero-inner {
                grid-template-columns:1fr;
                padding: 10px;
            }

        }

        .tag {
            display: inline-flex;
            gap: 8px;
            align-items: center;
            background: #fff;
            color: #111;
            padding: 6px 12px;
            border-radius: 999px;
            font-weight: 900
        }

        .hero h1 {
            margin: 12px 0 8px
        }

        .date {
            color: #e5e7eb
        }

        .no-scrollbar::-webkit-scrollbar {
            display: none
        }

        .no-scrollbar {
            scrollbar-width: none
        }

        /* 酒红渐层按钮 */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 12px 18px;
            border-radius: 12px;
            font-weight: 900;
            color: #fff;
            border: 0;
            background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 50%, #bd2442 100%);
            box-shadow: var(--btn-shadow);
        }

        .btn:hover {
            transform: translateY(-1px)
        }

        .btn.ghost {
            background: #fff;
            color: var(--brand);
            border: 2px solid var(--brand);
            box-shadow: none
        }

        .btn-row {
            display: flex;
            gap: 12px;
            flex-wrap: wrap
        }

        /* 三栏卡片与双栏说明 */
        .cards {
            display: grid;
            grid-template-columns:repeat(3, 1fr);
            gap: 18px
        }

        @media (max-width: 900px) {
            .cards {
                grid-template-columns:1fr
            }
        }

        .card {
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 18px;
            background: #fff
        }

        .grid2 {
            display: grid;
            grid-template-columns:1fr 1fr;
            gap: 22px
        }

        @media (max-width: 900px) {
            .grid2 {
                grid-template-columns:1fr
            }
        }

        /* 表格 */
        table {
            width: 100%;
            border-collapse: collapse;
            border: 1px solid var(--line);
            border-radius: 12px;
            overflow: hidden
        }

        th, td {
            padding: 12px 14px;
            border-top: 1px solid var(--line);
            text-align: left
        }

        th {
            font-weight: 900;
            color: var(--brand);
            background: #faf7f7
        }

        /* FAQ 卡片化 */
        .faq {
            display: grid;
            grid-template-columns:1fr 1fr;
            gap: 18px
        }

        @media (max-width: 900px) {
            .faq {
                grid-template-columns:1fr
            }
        }

        footer {
            border-top: 1px solid var(--line);
            color: #6b7280;
            text-align: center;
        }

        .foot {
            max-width: var(--max);
            margin: 0 auto;
            gap: 16px;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap
        }

        /* 跑馬燈與儀表盤、新增樣式 */
        .ticker {
            background: #111;
            color: #fff
        }

        .ticker-inner {
            max-width: var(--max);
            margin: 0 auto;
            display: flex;
            gap: 24px;
            align-items: center;
            padding: 10px 16px;
            overflow: hidden
        }

        .ticker-tag {
            font-weight: 900;
            background: #fff;
            color: #111;
            border-radius: 999px;
            padding: 6px 10px
        }

        .ticker-track {
            white-space: nowrap;
            overflow: hidden;
            position: relative;
            flex: 1
        }

        .ticker-track span {
            display: inline-block;
            padding-left: 100%;
            animation: scroll 28s linear infinite
        }

        @keyframes scroll {
            0% {
                transform: translateX(0)
            }
            100% {
                transform: translateX(-100%)
            }
        }

        .kpi {
            display: grid;
            grid-template-columns:repeat(4, 1fr);
            gap: 18px
        }

        @media (max-width: 900px) {
            .kpi {
                grid-template-columns:repeat(2, 1fr)
            }
        }

        .kpi .card strong {

            margin-bottom: 2px;
            color: var(--brand);
            font-weight: 900;
            /* 仪表盘大号数字：手机也大，PC 更醒目 */
            font-size: clamp(28px, 2.4vw + 14px, 40px);
            line-height: 1.1;
        }


        /* FAQ 折疊 */
        details.faq-item {
            border: 1px solid var(--line);
            border-radius: 12px;
            padding: 14px 16px;
            background: #fff
        }

        details.faq-item + details.faq-item {
            margin-top: 12px
        }

        details.faq-item summary {
            cursor: pointer;
            font-weight: 900;
            color: var(--brand)
        }

        /* 主承辦與贊助商 */
        .org-grid {
            display: grid;
            grid-template-columns:1fr 1fr;
            gap: 18px
        }

        @media (max-width: 900px) {
            .org-grid {
                grid-template-columns:1fr
            }
        }

        .sponsor-grid {
            display: grid;
            grid-template-columns:repeat(5, 1fr);
            gap: 16px
        }

        @media (max-width: 900px) {
            .sponsor-grid {
                grid-template-columns:repeat(2, 1fr)
            }
        }

        .sponsor {
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 12px;
            background: #fff;
            text-align: center
        }

        .sponsor img {
            width: 100%;
            aspect-ratio: 4/3;
            object-fit: cover;
            border-radius: 8px;
            margin-bottom: 8px
        }

        .swiper-slide {
            background: none;
            font-size: inherit;
        }

        .swiper-pagination-bullet-active, .swiper-pagination-bullet {
            background-color: #fff;
        }

        .swiper-button-next, .swiper-button-prev {
            color: #fff;
        }

        section.swiper-slide {
            padding: 0px;
        }

        @media (max-width: 920px) {
            section.swiper-slide {
                padding: 0px 5px;
            }

            .swiper-button-next, .swiper-button-prev {
                width: 7px;
            }
        }

        header.hero h1,
        h1 {
            font-size: var(--fs-h1);
        }

        h2 {
            font-size: var(--fs-h2);
        }

        h3 {
            font-size: var(--fs-h3);
        }

        /* 引导/说明文字 */
        .lead {
            font-size: var(--fs-lead);
        }

        /* 顶部日期/灰字等小字号 */
        .date {
            font-size: var(--fs-date);
        }

        /* 顶部导航与按钮文本，仅改字号 */
        .navlinks a {
            font-size: var(--fs-nav);
        }

        .btn {
            font-size: var(--fs-btn);
        }

        /* 眉题/小标签（如 .eyebrow、.tag 内的小字） */
        .eyebrow {
            font-size: var(--fs-eyeb);
        }

        .tag {
            font-size: var(--fs-eyeb);
        }


        .audio-banner-figure{
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 520px;
        }

        .audio-card{
            width: min(100%, 460px);
            border-radius: 32px;
            padding: 18px;
            background:
                linear-gradient(180deg, rgba(36,36,36,.95) 0%, rgba(24,24,24,.98) 100%);
            border: 1px solid rgba(255,255,255,.08);
            box-shadow:
                0 24px 60px rgba(0,0,0,.35),
                inset 0 1px 0 rgba(255,255,255,.04);
        }

        .audio-card-inner{
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .audio-card-top{
            background: #e8dfcf;
            color: #171717;
            border-radius: 28px;
            padding: 28px 28px 26px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
        }

        .audio-kicker{
            font-size: 14px;
            line-height: 1.4;
            color: rgba(23,23,23,.58);
            margin-bottom: 16px;
        }

        .audio-title{
            font-size: clamp(30px, 4vw, 40px);
            line-height: 1.12;
            font-weight: 800;
            letter-spacing: -.02em;
            margin: 0 0 18px;
            color: #171717;
        }

        .audio-desc{
            font-size: 15px;
            line-height: 1.95;
            color: rgba(23,23,23,.72);
            margin: 0 0 24px;
        }

        .audio-feature-player{
            display: flex;
            align-items: center;
            gap: 16px;
            background: #070707;
            border-radius: 20px;
            padding: 18px 20px;
            box-shadow: 0 10px 24px rgba(0,0,0,.18);
        }

        .audio-play-btn{
            width: 58px;
            height: 58px;
            border: 0;
            border-radius: 999px;
            background: #f2cb2f;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex: 0 0 auto;
            transition: transform .2s ease, box-shadow .2s ease;
        }

        .audio-play-btn:hover{
            transform: scale(1.04);
            box-shadow: 0 8px 18px rgba(242,203,47,.28);
        }

        .audio-play-btn{
            width: 58px;
            height: 58px;
            border: 0;
            border-radius: 999px;
            background: #f2cb2f;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex: 0 0 auto;
            transition: transform .2s ease, box-shadow .2s ease;
            position: relative;
        }

        .audio-play-btn:hover{
            transform: scale(1.04);
            box-shadow: 0 8px 18px rgba(242,203,47,.28);
        }

        .audio-play-btn{
            width: 64px;
            height: 64px;
            border: 0;
            border-radius: 999px;
            background: #f2cb2f;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex: 0 0 auto;
            transition: transform .2s ease, box-shadow .2s ease;
            position: relative;
            padding: 0;
        }

        .audio-play-btn:hover{
            transform: scale(1.04);
            box-shadow: 0 8px 18px rgba(242,203,47,.28);
        }

        .audio-progress-ring{
            position: absolute;
            inset: -5px;
            width: calc(100% + 10px);
            height: calc(100% + 10px);
            transform: rotate(-90deg);
            pointer-events: none;
            overflow: visible;
        }

        .audio-progress-ring-bg{
            fill: none;
            stroke: rgba(242, 203, 47, .22);
            stroke-width: 3;
        }

        .audio-progress-ring-bar{
            fill: none;
            stroke: #f2cb2f;
            stroke-width: 3;
            stroke-linecap: round;
            stroke-dasharray: 175.93;
            stroke-dashoffset: 175.93;
            transition: stroke-dashoffset .12s linear;
            filter: drop-shadow(0 0 4px rgba(242,203,47,.35));
        }

        .audio-icon{
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2;
        }

        .audio-icon-play{
            display: flex;
        }

        .audio-icon-pause{
            display: none;
        }

        .audio-play-btn.is-playing .audio-icon-play{
            display: none;
        }

        .audio-play-btn.is-playing .audio-icon-pause{
            display: flex;
        }

        .audio-play-triangle{
            width: 0;
            height: 0;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
            border-left: 16px solid #111;
            margin-left: 4px;
        }

        .audio-pause-bars{
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .audio-pause-bars span{
            display: block;
            width: 5px;
            height: 18px;
            border-radius: 2px;
            background: #111;
        }

        .audio-icon{
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .audio-icon-play{
            display: flex;
        }

        .audio-icon-pause{
            display: none;
        }

        .audio-play-btn.is-playing .audio-icon-play{
            display: none;
        }

        .audio-play-btn.is-playing .audio-icon-pause{
            display: flex;
        }

        .audio-play-triangle{
            width: 0;
            height: 0;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
            border-left: 16px solid #111;
            margin-left: 4px;
        }

        .audio-pause-bars{
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .audio-pause-bars span{
            display: block;
            width: 5px;
            height: 18px;
            border-radius: 2px;
            background: #111;
        }

        .audio-play-triangle{
            width: 0;
            height: 0;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
            border-left: 16px solid #111;
            margin-left: 4px;
        }

        .audio-feature-copy{
            min-width: 0;
        }

        .audio-feature-label{
            font-size: 13px;
            color: rgba(255,255,255,.7);
            margin-bottom: 6px;
        }

        .audio-feature-title{
            font-size: 18px;
            line-height: 1.45;
            font-weight: 800;
            color: #fff;
            word-break: break-word;
        }

        .audio-stats{
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 14px;
        }

        .audio-stat-box{
            min-height: 86px;
            border-radius: 18px;
            background: linear-gradient(180deg, rgba(32,32,32,.95) 0%, rgba(22,22,22,.98) 100%);
            border: 1px solid rgba(255,255,255,.08);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 12px 10px;
            text-align: center;
        }

        .audio-stat-num{
            font-size: 20px;
            line-height: 1;
            font-weight: 800;
            color: #f2d773;
            margin-bottom: 8px;
        }

        .audio-stat-text{
            font-size: 13px;
            line-height: 1.4;
            color: rgba(255,255,255,.72);
        }

        @media (max-width: 1024px){
            .audio-banner-figure{
                min-height: auto;
            }

            .audio-card{
                width: 100%;
            }
        }

        @media (max-width: 640px){
            .audio-card{
                border-radius: 24px;
                padding: 12px;
            }

            .audio-card-top{
                border-radius: 22px;
                padding: 20px 18px;
            }

            .audio-title{
                font-size: 28px;
            }

            .audio-desc{
                font-size: 14px;
                line-height: 1.8;
            }

            .audio-feature-player{
                padding: 14px 14px;
                border-radius: 16px;
            }

            .audio-play-btn{
                width: 50px;
                height: 50px;
            }

            .audio-stats{
                gap: 10px;
            }

            .audio-stat-box{
                min-height: 74px;
                border-radius: 14px;
            }
        }
