/* 站台首頁。沿用 theme.css 的 tokens，所以配色跟報名頁是同一套。 */
.hm-wrap{width:min(100% - 40px,1120px);margin-inline:auto}

.hm-top{border-bottom:1px solid var(--line);background:var(--bg)}
.hm-top-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.hm-logo{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:.02em;
  color:var(--ink);text-decoration:none}
.hm-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hm-nav a{font-size:14px;color:var(--ink-2);text-decoration:none;padding:8px 12px;border-radius:999px}
.hm-nav a:hover{color:var(--ink);background:var(--bg-alt)}
.hm-nav-btn{border:1px solid var(--line);color:var(--ink)!important}
.hm-nav-btn:hover{border-color:var(--accent);color:var(--accent)!important;background:var(--accent-soft)!important}

.hm-hero{padding:56px 0 40px;background:linear-gradient(180deg,var(--accent-soft),transparent)}
.hm-hero h1{font-family:var(--font-display);font-size:clamp(28px,4.4vw,44px);line-height:1.18;
  letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.hm-hero p{margin:0;color:var(--ink-2);font-size:17px;max-width:60ch;line-height:1.7}
.hm-hero-count{margin-top:14px!important;font-size:15px!important}
.hm-hero-count b{color:var(--accent);font-size:19px}

.hm-section{padding:40px 0}
.hm-section h2{font-family:var(--font-display);font-size:clamp(20px,2.6vw,26px);margin:0 0 20px;
  letter-spacing:-.015em}

.hm-grid{list-style:none;margin:0;padding:0;display:grid;gap:18px;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.hm-card{min-width:0}
.hm-card-link{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--card);text-decoration:none;color:inherit;height:100%;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.hm-card-link:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.hm-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hm-card-cover{display:block;aspect-ratio:16/9;background-size:cover;background-position:center}
.hm-card-body{display:flex;flex-direction:column;gap:7px;padding:16px}
.hm-card-title{font-size:17px;line-height:1.4;letter-spacing:-.01em;text-wrap:balance}
.hm-card-sub{font-size:13.5px;color:var(--ink-2);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hm-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--ink-2);margin-top:2px}
.hm-card-meta span:empty{display:none}
/* --ink-3 (#868da8) 在白底上只有 3.29:1，12px 的小字撐不住 WCAG AA 的 4.5:1。
   這一行是「主辦單位是誰」，不是裝飾，要看得清楚。 */
.hm-card-org{font-size:12px;color:var(--ink-2);margin-top:2px}

.hm-status{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;font-size:12px;
  font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg-alt);color:var(--ink-2)}
.hm-status.is-open{background:var(--accent-soft);color:var(--accent)}
.hm-status.is-open::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}

.hm-past{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.hm-past-row a{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:13px 2px;
  border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.hm-past-row a:hover{background:var(--bg-alt)}
.hm-past-row b{font-size:15px;font-weight:600}
.hm-past-row span{font-size:13px;color:var(--ink-2)}

.hm-empty{color:var(--ink-2);font-size:15px;padding:24px;border:1px dashed var(--line);
  border-radius:var(--radius-sm);text-align:center}
.hm-empty a{color:var(--accent)}

.hm-fororg{border-top:1px solid var(--line)}
.hm-fororg p{color:var(--ink-2);max-width:60ch;line-height:1.7;margin:0 0 16px}
.hm-btn{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;
  font-weight:700;padding:12px 22px;border-radius:999px;font-size:15px}
.hm-btn:hover{filter:brightness(1.07)}

.hm-foot{border-top:1px solid var(--line);padding:28px 0 40px;margin-top:20px;background:var(--bg-alt)}
.hm-foot p{margin:0 0 4px;font-size:14px;color:var(--ink-2)}
.hm-foot-dim{color:var(--ink-2)!important;font-size:13px!important}

@media (max-width:640px){
  .hm-hero{padding:38px 0 30px}
  .hm-section{padding:30px 0}
  .hm-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .hm-card-link{transition:none}
  .hm-card-link:hover{transform:none}
}
