/* ============================================================
   「愛國說」全澳演講大賽2026 — 全站樣式
   【視覺分流 2026-10-05】
     · 個人報名 → 【愛國說】紅（國旗紅系）＝ :root 預設值
     · 團隊報名 → 澳門區旗綠（深綠／正綠／淺綠）＝ body.theme-green 覆寫
   ============================================================ */
:root{
  /* 個人報名（愛國說紅）*/
  --g:#c8102e;--g2:#de2910;--bg:#fdf6f6;--card:#fff;--line:#f2d4d8;
  --err:#8a0018;--ok:#a10f24;--gdeep:#7a0015;
  --h1a:#9e0b1f;--h1b:#de2910;
  --tint:#fdecee;--fieldbg:#fffafa;--soft:#fff7e6;--softline:#f0d9a6;--softtx:#8a5a00;
  --statline:#f0c4cb;--muted:#8c6b6b;
}
/* 團隊報名（澳門區旗綠）：深綠 #04532b / 正綠 #008e4c / 淺綠 #e8f5ee */
body.theme-green{
  --g:#046b3a;--g2:#008e4c;--bg:#f3faf6;--card:#fff;--line:#c6e5d4;
  --err:#8a0018;--ok:#046b3a;--gdeep:#02341d;
  --h1a:#04532b;--h1b:#008e4c;
  --tint:#e8f5ee;--fieldbg:#f8fdfa;--soft:#fff7e6;--softline:#f0d9a6;--softtx:#8a5a00;
  --statline:#b9dfca;--muted:#5d7d6c;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Microsoft JhengHei","PingFang TC",sans-serif;background:var(--bg);color:#2b1c1c;line-height:1.8}
.wrap{max-width:860px;margin:0 auto;padding:16px}
.topbar{display:flex;justify-content:center;align-items:center;gap:22px;padding:14px 16px 2px;max-width:1100px;margin:0 auto}
.topbar img{height:66px;width:auto}
.topbar a{display:inline-flex}
@media(max-width:640px){.topbar{gap:12px}.topbar img{height:44px}}
header{background:linear-gradient(135deg,var(--h1a),var(--h1b));color:#fff;padding:26px 16px;text-align:center}
header h1{font-size:24px;letter-spacing:1px}
header p{opacity:.94;font-size:14px;margin-top:6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;margin:16px 0;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.card h2{color:var(--g);font-size:18px;margin-bottom:12px;border-left:4px solid var(--g);padding-left:10px}
label{display:block;font-weight:bold;font-size:14px;margin:12px 0 4px}
input[type=text],input[type=email],input[type=date],input[type=url],input[type=password],input[type=tel],select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;background:var(--fieldbg)}
input:focus,select:focus{outline:2px solid var(--g2);border-color:var(--g2)}
.btn{display:inline-block;background:var(--g);color:#fff;border:none;border-radius:8px;padding:12px 26px;font-size:16px;cursor:pointer;text-decoration:none;font-weight:bold}
.btn:hover{background:var(--g2)}
.btn.gray{background:#8c6b6b}
.btn.red{background:var(--gdeep)}
.btn.sm{padding:6px 14px;font-size:13px}
.full{width:100%}
/* 《參賽同意書》下載鍵：首頁用白底紅字（.btn-outline-red）／登入頁用紅底白字（.btn-solid-red）*/
.btn-outline-red{background:#fff!important;color:var(--gdeep)!important;border:2px solid var(--gdeep)!important}
.btn-outline-red:hover{background:#fdf0f2!important;color:var(--gdeep)!important}
.btn-solid-red{background:var(--gdeep)!important;color:#fff!important;border:2px solid var(--gdeep)!important;display:block;text-align:center}
.btn-solid-red:hover{background:#a30d24!important;color:#fff!important}
/* 《團隊報名表格》下載鍵（團隊綠色通道，綠底白字）*/
.btn-solid-green{background:var(--g)!important;color:#fff!important;border:2px solid var(--g)!important}
.btn-solid-green:hover{background:var(--g2)!important;color:#fff!important}
.alert{padding:12px 14px;border-radius:8px;margin:12px 0;font-size:14px}
.alert.err{background:#ffe4e8;color:var(--err);border:1px solid #f0adb6}
.alert.ok{background:var(--tint);color:var(--ok);border:1px solid var(--line)}
.alert.warn{background:var(--soft);color:var(--softtx);border:1px solid var(--softline)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:var(--tint);color:var(--g);padding:8px;border:1px solid var(--line);white-space:nowrap}
td{padding:7px 8px;border:1px solid var(--line);word-break:break-all}
tr:nth-child(even) td{background:var(--fieldbg)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}
@media(max-width:640px){.grid3{grid-template-columns:1fr}}
.grid3 .stat{border:1px solid var(--line);border-radius:8px;padding:14px 10px;text-align:center;
  background:var(--fieldbg);font-size:13px;color:var(--muted)}
.grid3 .stat b{display:block;font-size:30px;line-height:1.2;color:var(--g);margin-bottom:2px}
.steps li{margin:8px 0 8px 20px}
/* 首頁「報名流程」內的團隊單元：即使在紅色 :root 下也維持澳門區旗綠 */
.flow-team-h{font-size:15px;color:#046b3a;margin:14px 0 6px}
.flow-team{color:#02341d}
.flow-team li::marker{color:#046b3a;font-weight:bold}
.tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:bold}
.tag.ok{background:var(--tint);color:var(--ok);border:1px solid var(--statline)}
.tag.pending{background:var(--soft);color:var(--softtx);border:1px solid var(--softline)}
/* 2026-10-06 第八輪：身份資料被攔截（姓名／證件號不可更改）用醒目紅色 */
.tag.err{background:#ffe4e8;color:var(--err);border:1px solid #f0adb6}
.muted{color:var(--muted);font-size:13px}
.code{font-size:26px;font-weight:bold;color:var(--g);letter-spacing:2px}
a{color:var(--g2)}
footer{text-align:center;padding:22px;color:var(--muted);font-size:12px}
.badge{background:#fff;color:var(--g);border-radius:6px;padding:1px 8px;font-size:12px}

/* ── 全站統一「返回首頁」功能鍵：個人／團隊頁面樣式完全一致 ───── */
.home-bar{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line);text-align:center}
.btn-home{display:inline-block;background:#8c6b6b;color:#fff;border:none;border-radius:8px;
  padding:12px 30px;font-size:16px;font-weight:bold;text-decoration:none;cursor:pointer;
  line-height:1.4}
.btn-home:hover{background:#75595a;color:#fff}
.btn-home .ico{margin-right:6px;font-size:15px}
.home-bar .btn-home + .btn-home{margin-left:10px}
@media(max-width:640px){.btn-home{padding:11px 22px;font-size:15px}}

/* ── 首頁分流：兩個入口各有獨立色系 ─────────────────────────── */
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media(max-width:760px){.entry-grid{grid-template-columns:1fr}}
.entry{border-radius:14px;padding:24px 22px;margin:0;color:#fff;position:relative;overflow:hidden}
.entry h2{color:#fff;border:none;padding:0;margin:0 0 4px;font-size:20px}
.entry .tagline{font-size:13px;opacity:.92;margin-bottom:12px}
.entry p{font-size:14px;line-height:1.85;margin-bottom:6px}
.entry .btn{background:#fff;margin-top:14px}
.entry.person{background:linear-gradient(135deg,#9e0b1f,#de2910)}
.entry.person .btn{color:#9e0b1f}
.entry.person:hover{box-shadow:0 6px 20px rgba(158,11,31,.28)}
.entry.team{background:linear-gradient(135deg,#04532b,#008e4c)}
.entry.team .btn{color:#046b3a}
.entry.team:hover{box-shadow:0 6px 20px rgba(0,142,76,.28)}
.entry .en{font-size:26px;font-weight:bold;letter-spacing:2px;opacity:.35;position:absolute;right:16px;top:10px}
.entry ul{margin:8px 0 0 18px;font-size:13.5px;line-height:1.9}
/* ── 參賽影片規格要求（2026-10-06 用戶指定，全站視頻連結欄下方）── */
.vspec{margin-top:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);
       background:var(--tint)}
.vspec b{display:block;font-size:14px;margin-bottom:6px;color:var(--gdeep,#9e0b1f)}
body.theme-green .vspec b{color:var(--g,#04532b)}
.vspec ul{margin:0;padding-left:20px;font-size:13px;line-height:1.95;color:var(--text)}
.vspec ul li{margin:0}
/* ── 本屆賽事主題橫幅（2026-10-07 新版章程 3.2）────────────────────
     放在首頁「下載大賽章程」按鈕「上方」，讓訪客先看主題再決定是否下載章程。
     刻意不依賴 CSS 主題變數：首頁同時代表紅／綠兩條通道，用國旗紅＋金
     邊的獨樣式最醒目，也避免在綠通道下被誤讀成「團隊報名」專屬。───── */
.theme-banner{
  margin:14px 0 6px;padding:18px 20px;border-radius:12px;text-align:center;
  background:linear-gradient(135deg,#9e0b1f 0%,#c8102e 55%,#de2910 100%);
  border:2px solid #d4a017;box-shadow:0 4px 16px rgba(200,16,46,.24);
}
.theme-banner .tb-label{
  font-size:13px;letter-spacing:4px;color:#ffe9a8;opacity:.95;margin-bottom:6px;
}
.theme-banner .tb-main{
  font-size:26px;font-weight:bold;color:#fff;letter-spacing:3px;line-height:1.5;
  text-shadow:0 2px 6px rgba(0,0,0,.28);
}
@media (max-width:600px){
  .theme-banner{padding:14px 12px}
  .theme-banner .tb-main{font-size:20px;letter-spacing:1px}
}

/* 2026-10-18 使用者要求：報名截止倒數計時框（主題橫幅下方）。
   白底紅邊、數字用國旗紅粗體，與 theme-banner 呼應但不搶主題。 */
.countdown-box{
  margin:10px auto 12px;padding:14px 18px;max-width:520px;text-align:center;
  background:#fff;border:2px solid #c8102e;border-radius:12px;
  box-shadow:0 3px 12px rgba(200,16,46,.14);
  font-size:16px;color:#3c1c20;letter-spacing:1px;
}
.countdown-box .cd-label{font-weight:bold;color:#7a0015}
.countdown-box .cd-num{
  display:inline-block;min-width:44px;margin:0 4px;padding:2px 8px;
  background:#c8102e;color:#fff;border-radius:8px;
  font-size:22px;font-weight:bold;font-variant-numeric:tabular-nums;
}
.countdown-box .cd-unit{margin:0 2px;font-weight:bold;color:#7a0015}
.countdown-box.cd-over{
  background:#f5f0f0;border-color:#8c6b6b;color:#6b4a4a;font-weight:bold;
}
@media (max-width:600px){
  .countdown-box{padding:12px 10px;font-size:14px}
  .countdown-box .cd-num{font-size:18px;min-width:36px;margin:0 2px}
}
