/* 原站 application-for-hosting.css 的 inline <style>，原樣搬移，勿改（佔位符法：版面照原站） */
*{box-sizing:border-box;}
        body{
            font-family:
                "Noto Sans SC",
                "PingFang SC",
                "Microsoft YaHei",
                system-ui,
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                sans-serif;
            background:
                radial-gradient(circle at top left, rgba(255,255,255,0.96) 0, rgba(245,236,222,0.96) 40%, rgba(235,221,202,0.98) 100%);
            color:#2d241c;
            line-height:1.7;
            font-size:14px; /* 提高全局基准字号 */
        }
        a{text-decoration:none;}
        .page{min-height:100vh;display:flex;flex-direction:column;}

        /* Header：古典棕金漸層 + 細緻光澤 */
        .hero{
            background:
                radial-gradient(circle at top left, rgba(255,255,255,0.16), transparent 55%),
                linear-gradient(135deg,#5b3a22,#8b5b2b,#c79a53);
            color:#fff;
            padding:34px 16px 22px;
            text-align:center;
            box-shadow:0 10px 26px rgba(39,24,9,.35);
            position:relative;
            overflow:hidden;
            border-bottom:1px solid rgba(255,255,255,.12);
        }
        .hero::before{
            content:"";
            position:absolute;
            left:-80px;top:-40px;
            width:220px;height:220px;
            border-radius:50%;
            border:1px solid rgba(255,255,255,.16);
            opacity:.65;
        }

        .hero-title{
            font-size:30px;
            font-weight:800;
            letter-spacing:.16em;
            margin-bottom:6px;
            text-shadow:0 2px 4px rgba(0,0,0,.35);
        }
        .hero-sub{
            font-size:20px;
            opacity:.98;
        }
        .hero-nav{
            margin-top:16px;
            display:flex;
            justify-content:center;
            flex-wrap:wrap;
            gap:10px;
            font-size:15px;
        }
        .hero-nav a{
            padding:6px 16px;
            border-radius:999px;
            border:1px solid rgba(255,245,230,.55);
            backdrop-filter:blur(8px);
            cursor:pointer;
            transition:.22s;
            opacity:.98;
            background:radial-gradient(circle at 30% 0,rgba(255,255,255,.22),rgba(255,255,255,.02));
            box-shadow:0 3px 8px rgba(0,0,0,.25);
        }
        .hero-nav a:hover{
            background:rgba(255,255,255,.16);
            transform:translateY(-1px);
            box-shadow:0 5px 12px rgba(0,0,0,.3);
        }

        /* Ticker：細長金條 */
        .ticker{
            display:flex;
            align-items:center;
            gap:8px;
            justify-content:center;
            background:linear-gradient(90deg,#8b5b2b,#b98633);
            color:#fff;
            padding:8px 12px;
            font-size:13px;
            box-shadow:0 4px 12px rgba(0,0,0,.26);
            position:relative;
            z-index:2;
        }
        .ticker-label{
            display:inline-flex;
            align-items:center;
            gap:4px;
            padding:3px 10px;
            border-radius:999px;
            border:1px solid rgba(255,255,255,.7);
            font-size:11px;
            letter-spacing:.13em;
            background:rgba(0,0,0,.12);
        }
        .ticker-dot{
            width:8px;height:8px;
            border-radius:50%;
            background:#fff;
        }
        .ticker-text{
            min-height:18px;
            transition:.25s;
            /* 移动端单独控制是否换行，这里不强制 nowrap */
        }

        /* Stats：浮雕質感卡片 */
        .stats-wrap{
            padding:18px 14px 12px;
            background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(248,240,229,.98));
            border-bottom:1px solid #e4d0b1;
            box-shadow:0 8px 20px rgba(0,0,0,.04) inset;
        }
        .stats{
            max-width:1080px;
            margin:0 auto;
            display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:10px;
        }
        .stat{
            background:linear-gradient(to bottom,#fffdf8,#f7eee1);
            border-radius:14px;
            padding:10px 8px 9px;
            text-align:center;
            border:1px solid rgba(198,159,90,.45);
            box-shadow:
                0 3px 6px rgba(0,0,0,.06),
                0 6px 14px rgba(0,0,0,.06);
            font-size:11px;
            color:#6a5744;
        }
        .stat-label{margin-bottom:3px;}
        .stat-value{
            font-size:20px;
            font-weight:800;
            color:#8b5b2b;
            text-shadow:0 1px 2px rgba(255,255,255,.9),0 2px 3px rgba(0,0,0,.15);
        }

        @media(max-width:768px){
            .stats{grid-template-columns:repeat(2,1fr);}
            .hero-title{font-size:22px;}
            .hero-sub{font-size:14px;}
        }

        /* Sections：統一淺棕金框線 */
        .section{
            max-width:1080px;
            margin:0 auto;
            padding:28px 16px 20px;
            font-size:14px;
        }
        .stitle{
            display:flex;
            align-items:center;
            gap:8px;
            margin-bottom:10px;
            color:#8b5b2b;
            font-weight:700;
            font-size:20px;
            text-shadow:0 1px 1px rgba(255,255,255,.9);
        }
        .stitle span.bar{
            width:4px;height:20px;
            border-radius:999px;
            background:linear-gradient(to bottom,#b98633,#8b5b2b);
            box-shadow:0 1px 3px rgba(0,0,0,.25);
        }
        .section p{color:#4a3e34;margin-bottom:8px;}

        .grid-2{
            display:grid;
            grid-template-columns:1.8fr 1.4fr;
            gap:24px;
            align-items:flex-start;
            margin-top:6px;
        }
        @media(max-width:768px){.grid-2{grid-template-columns:1fr;}}

        .mock-box{
            background:linear-gradient(145deg,#fff8ee,#f0e0c8);
            color:#3b2e22;
            border-radius:16px;
            padding:12px 12px 10px;
            box-shadow:
                0 4px 10px rgba(0,0,0,.10),
                inset 0 1px 0 rgba(255,255,255,.9);
            font-size:12px;
            border:1px solid rgba(190,150,90,.5);
        }
        .mock-tag{
            display:inline-block;
            margin-top:6px;
            padding:4px 10px;
            border-radius:999px;
            background:rgba(255,255,255,.9);
            border:1px solid rgba(185,134,60,.5);
            font-size:11px;
            color:#8b5b2b;
            box-shadow:0 2px 5px rgba(0,0,0,.12);
        }

        .card-grid{
            display:grid;
            grid-template-columns:repeat(2,1fr);
            gap:12px;
            margin-top:8px;
        }
        .card{
            background:linear-gradient(to bottom,#ffffff,#fbf3e7);
            border-radius:12px;
            padding:12px;
            box-shadow:
                0 3px 10px rgba(0,0,0,.06),
                inset 0 1px 0 rgba(255,255,255,.9);
            border:1px solid #e4d3ba;
            font-size:14px;
            color:#4a3e34;
        }
        .card h3{
            font-size:15px;
            color:#8b5b2b;
            margin-bottom:6px;
            font-weight:700;
        }
        @media(max-width:768px){.card-grid{grid-template-columns:1fr;}}

        .checklist{margin-top:4px;padding-left:16px;}
        .checklist li{
            margin-left:10px;
            margin-bottom:4px;
            list-style:"✔ ";
            color:#3f3327;
            font-size:14px;
        }

        /* Timeline & Flow：凸版卡片 */
        .timeline{
            display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:12px;
            margin-top:10px;
        }
        .time-item{
            background:linear-gradient(to bottom,#ffffff,#f7eee1);
            border-radius:12px;
            padding:10px;
            border-top:3px solid #b98633;
            box-shadow:
                0 3px 8px rgba(0,0,0,.06),
                inset 0 1px 0 rgba(255,255,255,.96);
            font-size:13px;
            text-align:center;
            color:#5a4a3a;
        }
        .time-item strong{
            display:block;
            color:#8b5b2b;
            margin-bottom:4px;
            font-size:14px;
        }
        @media(max-width:768px){.timeline{grid-template-columns:repeat(2,1fr);}}

        .flow{
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:12px;
            margin-top:10px;
            font-size:13px;
        }
        .flow-step{
            background:linear-gradient(to bottom,#ffffff,#fbf3e7);
            border-radius:12px;
            padding:10px;
            box-shadow:
                0 2px 6px rgba(0,0,0,.06),
                inset 0 1px 0 rgba(255,255,255,.96);
            border-left:3px solid #b98633;
        }
        .flow-step strong{
            color:#8b5b2b;
            display:block;
            margin-bottom:4px;
            font-size:14px;
        }
        @media(max-width:768px){.flow{grid-template-columns:1fr;}}

        /* Form & Login：3D按鈕古典棕金 */
        .two-cols{
            display:grid;
            grid-template-columns:1.8fr 1.2fr;
            gap:24px;
            align-items:flex-start;
            margin-top:12px;
        }
        @media(max-width:768px){.two-cols{grid-template-columns:1fr;}}

        .form-area{display:grid;gap:10px;font-size:14px;}
        .label{
            font-size:13px;
            font-weight:600;
            color:#6a4f32;
            margin-bottom:2px;
        }
        .input,.textarea,.select{
            width:100%;
            padding:9px 11px;
            border-radius:9px;
            border:1px solid #d7c3a3;
            background:#fdf8f1;
            font-size:14px;
            outline:none;
            transition:.18s;
            box-shadow:inset 0 1px 1px rgba(255,255,255,.95);
        }
        .input:focus,.textarea:focus,.select:focus{
            border-color:#b98633;
            background:#fff;
            box-shadow:0 0 0 2px rgba(185,134,51,.16);
        }
        .textarea{min-height:80px;resize:vertical;}

        .file-label{
            display:inline-flex;
            align-items:center;
            gap:6px;
            padding:6px 12px;
            border-radius:999px;
            border:1px dashed #c9a772;
            background:linear-gradient(to right,#fffdf8,#fff4e3);
            font-size:12px;
            color:#8b5b2b;
            cursor:pointer;
            margin-top:2px;
            box-shadow:0 2px 6px rgba(0,0,0,.06);
        }
        .file-label span.icon{
            width:16px;height:16px;
            border-radius:4px;
            border:1px solid #b98633;
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:11px;
            box-shadow:0 1px 2px rgba(0,0,0,.18);
        }

        /* 3D Button Style */
        .btn{
            display:inline-block;
            margin-top:8px;
            padding:9px 22px;
            border-radius:999px;
            border:1px solid #5b3a22;
            cursor:pointer;
            font-size:12px;
            font-weight:700;
            letter-spacing:.14em;
            text-transform:uppercase;
            background:
                radial-gradient(circle at 30% 0,rgba(255,255,255,.36),transparent 60%),
                linear-gradient(145deg,#cfa15a,#9a6a32);
            color:#2b1a0b;
            box-shadow:
                0 3px 0 #5b3a22,
                0 6px 12px rgba(0,0,0,.32);
            transition:.18s;
        }
        .btn:hover{
            transform:translateY(-2px);
            box-shadow:
                0 4px 0 #4a2f1c,
                0 10px 18px rgba(0,0,0,.4);
        }
        .btn:active{
            transform:translateY(1px);
            box-shadow:
                0 1px 0 #4a2f1c,
                0 4px 10px rgba(0,0,0,.35);
            background:
                radial-gradient(circle at 30% 0,rgba(255,255,255,.2),transparent 60%),
                linear-gradient(155deg,#b98633,#8b5b2b);
        }

        .btn-ghost{
            background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(247,233,214,.98));
            border:1px solid #c9a772;
            color:#8b5b2b;
            box-shadow:
                0 2px 0 #c9a772,
                0 4px 8px rgba(0,0,0,.14);
            padding:8px 16px;
            font-size:12px;
            text-transform:none;
            margin-left:8px;
            border-radius:999px;
            font-weight:600;
        }
        .btn-ghost:hover{
            background:#fff7ec;
            box-shadow:
                0 3px 0 #b98633,
                0 7px 12px rgba(0,0,0,.19);
            transform:translateY(-1px);
        }

        .login-box{
            background:radial-gradient(circle at top, #3b2819, #1a120c);
            color:#f7eee5;
            border-radius:18px;
            padding:14px 12px 12px;
            box-shadow:
                0 10px 26px rgba(0,0,0,.75),
                inset 0 1px 0 rgba(255,255,255,.14);
            font-size:12px;
            border:1px solid rgba(210,164,94,.45);
        }
        .login-title{
            font-size:15px;
            font-weight:700;
            color:#f4c47a;
            margin-bottom:6px;
            text-shadow:0 1px 3px rgba(0,0,0,.8);
        }
        .login-note{color:#c3b7a6;font-size:11px;margin-bottom:6px;}
        .login-input{
            width:100%;
            padding:7px 9px;
            border-radius:8px;
            border:1px solid #555;
            background:#14100c;
            color:#f4eee7;
            font-size:12px;
            margin-top:4px;
            outline:none;
            transition:.18s;
            box-shadow:inset 0 1px 2px rgba(0,0,0,.8);
        }
        .login-input:focus{
            border-color:#f4c47a;
            box-shadow:0 0 0 1px rgba(244,196,122,.4);
        }
        .login-btn{
            margin-top:10px;
            width:100%;
            padding:9px 9px;
            border-radius:999px;
            border:1px solid #5b3a22;
            background:
                radial-gradient(circle at 30% 0,rgba(255,255,255,.36),transparent 60%),
                linear-gradient(145deg,#f4c47a,#b98633);
            color:#271a0e;
            font-weight:800;
            cursor:pointer;
            font-size:12px;
            letter-spacing:.12em;
            text-transform:uppercase;
            box-shadow:
                0 3px 0 #5b3a22,
                0 7px 16px rgba(0,0,0,.9);
            transition:.2s;
        }
        .login-btn:hover{
            transform:translateY(-2px);
            box-shadow:
                0 4px 0 #4a2f1c,
                0 11px 22px rgba(0,0,0,1);
        }
        .login-btn:active{
            transform:translateY(1px);
            box-shadow:
                0 1px 0 #4a2f1c,
                0 5px 14px rgba(0,0,0,.9);
        }

        /* Logo wall */
        .logo-sec{
            max-width:1080px;
            margin:0 auto;
            padding:26px 16px 22px;
            font-size:13px;
        }
        .logo-title{
            display:flex;
            align-items:center;
            gap:8px;
            margin-bottom:8px;
            color:#8b5b2b;
            font-weight:700;
            font-size:18px;
            text-shadow:0 1px 1px rgba(255,255,255,.9);
        }
        .logo-title span.bar{
            width:4px;height:20px;
            border-radius:999px;
            background:linear-gradient(to bottom,#b98633,#8b5b2b);
            box-shadow:0 1px 3px rgba(0,0,0,.25);
        }
        .logo-grid{
            display:grid;
            grid-template-columns:repeat(5,1fr);
            gap:10px;
            margin-top:8px;
        }
        .logo-item{
            height:46px;
            border-radius:10px;
            border:1px solid #e5dac8;
            background:linear-gradient(to bottom,#fffdf9,#f6eee2);
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:11px;
            color:#6a5742;
            font-weight:500;
            box-shadow:
                0 2px 5px rgba(0,0,0,.06),
                inset 0 1px 0 rgba(255,255,255,.96);
            transition:.18s;
        }
        .logo-item:hover{
            background:#ffffff;
            box-shadow:0 4px 10px rgba(0,0,0,.12);
            transform:translateY(-1px);
        }
        @media(max-width:768px){.logo-grid{grid-template-columns:repeat(3,1fr);}}

        .footer{
            background:linear-gradient(90deg,#5b3a22,#8b5b2b);
            color:#f8eee0;
            text-align:center;
            padding:10px 12px 14px;
            font-size:11px;
            margin-top:10px;
            box-shadow:0 -4px 14px rgba(0,0,0,.35);
            border-top:1px solid rgba(255,255,255,.18);
        }

        /* 浮動「联系组委会」服務按鈕（3D） */
        .service-float{
            position:fixed;
            right:16px;
            bottom:18px;
            z-index:99;
            display:flex;
            flex-direction:column;
            align-items:flex-end;
            gap:6px;
            font-size:12px;
            color:#3b2a18;
        }
        .service-btn{
            padding:9px 18px 9px 16px;
            border-radius:999px;
            background:
                radial-gradient(circle at 25% 0,rgba(255,255,255,.4),transparent 70%),
                linear-gradient(145deg,#cfa15a,#8b5b2b);
            color:#24170c;
            font-weight:700;
            border:1px solid #5b3a22;
            box-shadow:
                0 3px 0 #5b3a22,
                0 8px 16px rgba(0,0,0,.4);
            display:inline-flex;
            align-items:center;
            gap:6px;
            cursor:pointer;
            letter-spacing:.06em;
            text-transform:none;
            transition:.18s;
            backdrop-filter:blur(4px);
            font-size:12px;
        }
        .service-btn span.icon{
            width:18px;height:18px;
            border-radius:50%;
            border:1px solid #5b3a22;
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:12px;
            background:rgba(255,255,255,.9);
            box-shadow:0 1px 3px rgba(0,0,0,.5);
        }
        .service-btn:hover{
            transform:translateY(-2px);
            box-shadow:
                0 4px 0 #4a2f1c,
                0 11px 22px rgba(0,0,0,.55);
        }
        .service-panel{
            display:none;
            width:220px;
            padding:10px;
            border-radius:14px;
            background:linear-gradient(to bottom,#fffaf2,#f3e3cd);
            border:1px solid #c9a772;
            box-shadow:0 8px 22px rgba(0,0,0,.42);
        }
        .service-panel.open{display:block;}
        .service-panel-title{
            font-size:12px;
            font-weight:700;
            color:#8b5b2b;
            margin-bottom:4px;
        }
        .service-panel p{
            font-size:11px;
            color:#4a3e34;
            margin-bottom:3px;
            line-height:1.5;
        }
        .service-panel .qr-box{
            margin-top:4px;
            width:86px;
            height:86px;
            border-radius:8px;
            border:1px solid #c9a772;
            background:
                repeating-linear-gradient(45deg,rgba(0,0,0,.08),rgba(0,0,0,.08) 4px,transparent 4px,transparent 8px),
                #fff;
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:8px;
            color:#2b1a0b;
        }

        /* ===== 额外的移动端兼容性优化 + 字号适配 ===== */
        @media (max-width: 768px){
            /* 公告条纵向排布，文字允许换行，避免横向滚动条 */
            .ticker{
                flex-direction: column;
                align-items: flex-start;
                padding: 8px 12px;
                font-size:13px;
            }

            .ticker-text{
                white-space: normal;
                text-align: left;
                line-height: 1.5;
            }

            /* 浮动联系按钮考虑底部安全区域，避免被手势条遮挡 */
            .service-float{
                right: 12px;
                bottom: calc(14px + env(safe-area-inset-bottom, 0px));
            }

            .service-panel{
                width: 86vw;
                max-width: 260px;
            }

            .service-btn{
                padding: 8px 14px;
                font-size:12px;
            }

            .section{
                padding-top:22px;
                padding-bottom:18px;
                font-size:14px;
            }

            .card{
                font-size:14px;
            }

            .checklist li{
                font-size:14px;
            }
        }
