合併介紹與 Hero、20TH 與 30TH 敘事為兩區,表單獨立;移除經典舞曲區,改用全站 card 語彙並精簡 inline CSS。 Co-authored-by: Cursor <cursoragent@cursor.com>
519 lines
23 KiB
HTML
519 lines
23 KiB
HTML
<!doctype html>
|
||
<html lang="zh-TW">
|
||
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>水晶男孩推廣部|水晶熱舞社</title>
|
||
<link rel="stylesheet" href="../assets/css/style.css">
|
||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet">
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
||
<link rel="stylesheet" href="../assets/css/tablet.css">
|
||
<style>
|
||
/* Bootstrap Reboot 還原(同 index-bootstrap.html) */
|
||
body.crystal-dance-page {
|
||
background-color: var(--color-bg);
|
||
color: var(--color-text);
|
||
font-family: 'Noto Sans TC', 'Microsoft JhengHei', system-ui, sans-serif;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
h1,
|
||
h2,
|
||
h3,
|
||
h4,
|
||
h5,
|
||
h6,
|
||
p,
|
||
ul,
|
||
ol,
|
||
dl,
|
||
dd,
|
||
blockquote,
|
||
hr {
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
a {
|
||
color: var(--color-text);
|
||
text-decoration: none;
|
||
}
|
||
|
||
/* ── 頁面專用(scoped) ── */
|
||
body.crystal-dance-page section>p {
|
||
color: var(--color-text-muted);
|
||
line-height: 1.85;
|
||
max-width: 760px;
|
||
text-align: left;
|
||
margin-bottom: 0.85rem;
|
||
}
|
||
|
||
body.crystal-dance-page section>p:last-of-type {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
body.crystal-dance-page .category-tag {
|
||
display: inline-block;
|
||
background: var(--color-brand-light);
|
||
color: var(--color-brand-dark);
|
||
padding: 0.35rem 1.1rem;
|
||
border-radius: 999px;
|
||
font-size: 0.8rem;
|
||
font-weight: 700;
|
||
letter-spacing: 1px;
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
body.crystal-dance-page .hero-banner {
|
||
display: block;
|
||
width: 100%;
|
||
max-width: 760px;
|
||
aspect-ratio: 21 / 9;
|
||
object-fit: cover;
|
||
border-radius: 14px;
|
||
border: 1px solid rgba(255, 204, 0, 0.28);
|
||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
|
||
margin: 0 auto 1.25rem;
|
||
}
|
||
|
||
body.crystal-dance-page .keyword-row {
|
||
margin-top: 1.5rem;
|
||
}
|
||
|
||
body.crystal-dance-page .keyword-chip {
|
||
font-weight: 700;
|
||
color: var(--color-brand-dark);
|
||
}
|
||
|
||
body.crystal-dance-page .page-nav-wrap {
|
||
margin: 1.75rem auto 0;
|
||
max-width: 720px;
|
||
}
|
||
|
||
body.crystal-dance-page .page-nav-list {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: center;
|
||
align-items: center;
|
||
gap: 4px 0;
|
||
}
|
||
|
||
body.crystal-dance-page .page-nav-link {
|
||
display: inline-block;
|
||
padding: 4px 14px;
|
||
color: var(--color-text-muted);
|
||
font-size: 0.85rem;
|
||
letter-spacing: 1px;
|
||
border-right: 1px solid rgba(255, 204, 0, 0.3);
|
||
transition: color 0.2s ease;
|
||
}
|
||
|
||
body.crystal-dance-page .page-nav-link:last-child {
|
||
border-right: none;
|
||
}
|
||
|
||
body.crystal-dance-page .page-nav-link:hover {
|
||
color: var(--color-brand);
|
||
}
|
||
|
||
body.crystal-dance-page .sub-section-title {
|
||
margin-top: 2rem;
|
||
margin-bottom: 1rem;
|
||
font-weight: 800;
|
||
color: var(--color-brand-dark);
|
||
font-size: 1.1rem;
|
||
text-align: center;
|
||
}
|
||
|
||
body.crystal-dance-page .video-label {
|
||
display: block;
|
||
color: var(--color-brand-dark);
|
||
font-weight: 800;
|
||
font-size: 0.95rem;
|
||
margin-bottom: 0.75rem;
|
||
}
|
||
|
||
body.crystal-dance-page .card--main-video {
|
||
max-width: 720px;
|
||
margin: 1.5rem auto 0;
|
||
}
|
||
|
||
body.crystal-dance-page .card .ratio {
|
||
border-radius: 10px;
|
||
overflow: hidden;
|
||
}
|
||
|
||
body.crystal-dance-page .countdown-note {
|
||
display: block;
|
||
margin-top: 1.5rem;
|
||
text-align: center;
|
||
font-weight: 700;
|
||
color: var(--color-brand-dark);
|
||
letter-spacing: 0.5px;
|
||
}
|
||
|
||
body.crystal-dance-page .form-lead {
|
||
color: var(--color-text-muted);
|
||
line-height: 1.85;
|
||
max-width: 760px;
|
||
text-align: left;
|
||
margin: 0 auto 1.75rem;
|
||
}
|
||
|
||
body.crystal-dance-page .form-label {
|
||
font-weight: 700;
|
||
color: var(--color-brand-dark);
|
||
}
|
||
|
||
body.crystal-dance-page .form-control,
|
||
body.crystal-dance-page .form-select {
|
||
border: 1.5px solid var(--color-brand-light);
|
||
border-radius: 12px;
|
||
padding: 0.65rem 0.9rem;
|
||
}
|
||
|
||
body.crystal-dance-page .form-control:focus,
|
||
body.crystal-dance-page .form-select:focus {
|
||
border-color: var(--color-brand-dark);
|
||
box-shadow: 0 0 0 0.2rem rgba(255, 204, 0, 0.25);
|
||
}
|
||
|
||
body.crystal-dance-page .form-control[type="file"] {
|
||
border-style: dashed;
|
||
cursor: pointer;
|
||
}
|
||
|
||
body.crystal-dance-page .form-text {
|
||
color: var(--color-text-muted);
|
||
}
|
||
|
||
body.crystal-dance-page .btn-outline-dance {
|
||
border: 1.5px solid var(--color-brand-dark);
|
||
color: var(--color-brand-dark);
|
||
border-radius: 999px;
|
||
font-weight: 600;
|
||
padding: 0.4rem 1.15rem;
|
||
}
|
||
|
||
body.crystal-dance-page .btn-check:checked+.btn-outline-dance,
|
||
body.crystal-dance-page .btn-outline-dance:hover {
|
||
background: var(--color-brand);
|
||
color: var(--color-brand-dark);
|
||
border-color: var(--color-brand-dark);
|
||
}
|
||
|
||
body.crystal-dance-page .btn-dance {
|
||
background: var(--color-brand);
|
||
color: var(--color-brand-dark);
|
||
border: 2px solid var(--color-brand-dark);
|
||
border-radius: 999px;
|
||
font-weight: 800;
|
||
padding: 0.75rem;
|
||
}
|
||
|
||
body.crystal-dance-page .btn-dance:hover {
|
||
background: var(--color-brand-dark);
|
||
color: var(--color-text-inverse);
|
||
}
|
||
|
||
body.crystal-dance-page .btn-reset-dance {
|
||
background: #fff;
|
||
color: var(--color-brand-dark);
|
||
border: 2px solid var(--color-brand-dark);
|
||
border-radius: 999px;
|
||
font-weight: 700;
|
||
padding: 0.75rem;
|
||
}
|
||
|
||
body.crystal-dance-page .btn-reset-dance:hover {
|
||
background: #fdecec;
|
||
border-color: #dc3545;
|
||
color: #dc3545;
|
||
}
|
||
|
||
body.crystal-dance-page .info-list {
|
||
list-style: none;
|
||
padding: 0;
|
||
margin: 0 0 1.25rem;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0.6rem;
|
||
}
|
||
|
||
body.crystal-dance-page .info-list li {
|
||
color: var(--color-text-muted);
|
||
font-size: 0.9rem;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
body.crystal-dance-page .info-footer-text {
|
||
color: var(--color-text-muted);
|
||
font-size: 0.8rem;
|
||
}
|
||
|
||
body.crystal-dance-page #about {
|
||
text-align: center;
|
||
}
|
||
|
||
body.crystal-dance-page #about>p {
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
}
|
||
|
||
body.crystal-dance-page .sub-section-title--flush {
|
||
margin-top: 0;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body class="crystal-dance-page">
|
||
<header class="inner-page-header">
|
||
<div class="header-inner site-header-inner">
|
||
<h1 class="main-title">水晶熱舞社</h1>
|
||
<div class="subtitle-wrap">
|
||
<span class="sub-title">SECHSKIES DANCE ARCHIVE & 30TH FAN PROJECT</span>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<nav class="portal-nav" aria-label="水晶男孩推廣部導覽" data-portal-nav></nav>
|
||
|
||
<canvas id="particles"></canvas>
|
||
|
||
<div class="container">
|
||
|
||
<!-- ① 認識水晶熱舞社 -->
|
||
<section id="about">
|
||
<span class="category-tag">水晶男孩推廣部・舞蹈應援企劃</span>
|
||
<img class="hero-banner" src="../assets/images/crystal-dance-hero.jpg" alt="水晶熱舞社應援視覺">
|
||
<h2 class="section-title">水晶熱舞社不是一般社團</h2>
|
||
<p>水晶熱舞社是水晶男孩推廣部中的舞蹈應援企劃,從 20TH
|
||
台灣小黃串燒聯舞的集體記憶出發,整理經典舞台、翻跳紀錄與應援行動,並預備在 2027/04/15 30TH 前募集新的參與者。</p>
|
||
<p>水晶熱舞社不是獨立成立的社團,而是「水晶男孩推廣部」底下的舞蹈、翻跳、應援與影片紀錄分類。凡是跟 SECHSKIES
|
||
舞台有關的練習、重現與紀錄,都會被收進這個企劃裡,由歷屆台灣小黃接力整理與延續。</p>
|
||
<div class="keyword-row d-flex flex-wrap justify-content-center gap-2">
|
||
<span class="keyword-chip">💛 經典舞台</span>
|
||
<span class="keyword-chip">🕺 應援舞蹈</span>
|
||
<span class="keyword-chip">🎥 翻跳紀錄</span>
|
||
<span class="keyword-chip">💃 串燒聯舞</span>
|
||
<span class="keyword-chip">🇹🇼 台灣小黃</span>
|
||
</div>
|
||
<nav class="page-nav-wrap" aria-label="頁面導覽">
|
||
<div class="page-nav-list">
|
||
<a href="#about" class="page-nav-link">認識熱舞社</a>
|
||
<a href="#from-20th-to-30th" class="page-nav-link">20TH 到 30TH</a>
|
||
<a href="#form-30th" class="page-nav-link">應援表單</a>
|
||
</div>
|
||
</nav>
|
||
</section>
|
||
|
||
<!-- ② 從 20TH 到 30TH -->
|
||
<section id="from-20th-to-30th">
|
||
<h2 class="section-title">從 20TH 到 30TH</h2>
|
||
<p>2017 年,台灣小黃以水晶男孩出道 20 周年為契機,籌辦了經典歌曲串燒聯舞應援。這不只是一次跳舞活動,而是把青春、等待、回歸與重新相遇濃縮在同一支影片裡的集體記憶。</p>
|
||
<p>水晶熱舞社希望延續這份記憶,將 20TH 的熱血行動整理成可以被再次看見的紀錄,也為 2027/04/15 的 30TH 應援企劃預留新的開始。</p>
|
||
|
||
<div class="card card--main-video">
|
||
<span class="video-label">20TH 正式影片</span>
|
||
<div class="ratio ratio-16x9">
|
||
<iframe src="https://www.youtube.com/embed/fkJmOMPirBc" title="20TH 正式影片:SECHSKIES 20週年紀念串燒舞蹈"
|
||
allowfullscreen></iframe>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 class="sub-section-title">延伸閱讀</h3>
|
||
<div class="row g-4">
|
||
<div class="col-12 col-sm-6 col-lg-4">
|
||
<div class="card h-100">
|
||
<span class="video-label">預告</span>
|
||
<div class="ratio ratio-16x9">
|
||
<iframe src="https://www.youtube.com/embed/ARi0cfpv6mE" title="20TH 預告影片"
|
||
allowfullscreen></iframe>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-12 col-sm-6 col-lg-4">
|
||
<div class="card h-100">
|
||
<span class="video-label">幕後花絮 #1</span>
|
||
<div class="ratio ratio-16x9">
|
||
<iframe src="https://www.youtube.com/embed/nygNm5mtsJM" title="幕後花絮 #1"
|
||
allowfullscreen></iframe>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-12 col-sm-6 col-lg-4">
|
||
<div class="card h-100">
|
||
<span class="video-label">幕後花絮 #2・雨中共舞</span>
|
||
<div class="ratio ratio-16x9">
|
||
<iframe src="https://www.youtube.com/embed/f04neSErUEY" title="幕後花絮 #2・雨中共舞"
|
||
allowfullscreen></iframe>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 class="sub-section-title">30TH 應援募集</h3>
|
||
<p>2027/04/15 是 SECHSKIES 出道 30 周年的日子。水晶熱舞社預計在 30TH
|
||
前重新整理舞蹈應援內容,募集想一起參與的台灣小黃,從經典舞曲、翻跳練習、影片剪輯到祝福文字,讓新的應援行動從這份表單開始累積。</p>
|
||
<p>你不需要一開始就很會跳舞,只要還記得水晶男孩的舞台、歌曲,或某個讓你入坑的瞬間,都可以在這裡留下你的參與方式。</p>
|
||
<span class="countdown-note" id="countdown">💛 距離 30TH · 2027/04/15 倒數計算中...</span>
|
||
</section>
|
||
|
||
<!-- ③ 30TH 應援募集表單 -->
|
||
<section id="form-30th">
|
||
<h2 class="section-title">30TH 應援募集表單</h2>
|
||
<p class="form-lead">這份表單是水晶熱舞社為 2027/04/15 30TH 預備的應援募集模組,用來整理參與者想練的歌曲、可支援的內容與想留下的祝福。</p>
|
||
|
||
<div class="row g-4">
|
||
<div class="col-12 col-sm-7">
|
||
<div class="card h-100">
|
||
<h3 class="sub-section-title sub-section-title--flush">📋 應援募集資訊</h3>
|
||
<form action="#">
|
||
<div class="row g-3">
|
||
<div class="col-12 col-sm-6">
|
||
<label for="nickname" class="form-label">暱稱</label>
|
||
<input type="text" class="form-control" id="nickname" name="nickname"
|
||
placeholder="例:熱舞小黃" required>
|
||
</div>
|
||
<div class="col-12 col-sm-6">
|
||
<label for="email" class="form-label">Email</label>
|
||
<input type="email" class="form-control" id="email" name="email"
|
||
placeholder="dance@example.com" required>
|
||
</div>
|
||
|
||
<div class="col-12 col-sm-6">
|
||
<label for="dance_years" class="form-label">練舞經驗年數</label>
|
||
<input type="number" class="form-control" id="dance_years" name="dance_years"
|
||
min="0" max="30" placeholder="0">
|
||
</div>
|
||
<div class="col-12 col-sm-6">
|
||
<label for="available_date" class="form-label">可參與日期</label>
|
||
<input type="date" class="form-control" id="available_date" name="available_date">
|
||
</div>
|
||
|
||
<div class="col-12">
|
||
<label class="form-label d-block">是否參加過 20TH</label>
|
||
<div class="d-flex flex-wrap gap-2">
|
||
<input type="radio" class="btn-check" name="attended_20th"
|
||
id="attended_20th_yes" value="attended" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="attended_20th_yes">參加過 20TH</label>
|
||
|
||
<input type="radio" class="btn-check" name="attended_20th"
|
||
id="attended_20th_video" value="watched_video" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="attended_20th_video">看過 20TH
|
||
影片</label>
|
||
|
||
<input type="radio" class="btn-check" name="attended_20th"
|
||
id="attended_20th_first" value="first_time" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="attended_20th_first">第一次知道</label>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="col-12">
|
||
<label class="form-label d-block">想參與的 30TH 內容(可複選)</label>
|
||
<div class="d-flex flex-wrap gap-2">
|
||
<input type="checkbox" class="btn-check" name="participate_content"
|
||
id="content_cover" value="cover" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="content_cover">翻跳</label>
|
||
|
||
<input type="checkbox" class="btn-check" name="participate_content"
|
||
id="content_medley" value="medley" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="content_medley">串燒聯舞</label>
|
||
|
||
<input type="checkbox" class="btn-check" name="participate_content"
|
||
id="content_blessing" value="blessing" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="content_blessing">祝福影片</label>
|
||
|
||
<input type="checkbox" class="btn-check" name="participate_content"
|
||
id="content_graphic" value="graphic" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="content_graphic">圖文應援</label>
|
||
|
||
<input type="checkbox" class="btn-check" name="participate_content"
|
||
id="content_editing" value="editing" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="content_editing">影片剪輯</label>
|
||
|
||
<input type="checkbox" class="btn-check" name="participate_content"
|
||
id="content_archive" value="archive" autocomplete="off">
|
||
<label class="btn btn-outline-dance" for="content_archive">資料整理</label>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="col-12 col-sm-6">
|
||
<label for="song" class="form-label">想練的歌曲</label>
|
||
<select class="form-select" id="song" name="song">
|
||
<option value="" selected>請選擇歌曲</option>
|
||
<option value="couple">Couple</option>
|
||
<option value="comeback">Com' Back</option>
|
||
<option value="road_fighter">Road Fighter</option>
|
||
<option value="pom_saeng_pom_sa">Pom Saeng Pom Sa</option>
|
||
<option value="other">其他</option>
|
||
</select>
|
||
</div>
|
||
<div class="col-12 col-sm-6">
|
||
<label for="reference_file" class="form-label">上傳參考影片或圖片</label>
|
||
<input class="form-control" type="file" id="reference_file" name="reference_file"
|
||
accept="image/*,video/*">
|
||
<div class="form-text">翻跳影片、舞台照片或剪輯素材皆可</div>
|
||
</div>
|
||
|
||
<div class="col-12">
|
||
<label for="message_30th" class="form-label">想對 30TH 說的話</label>
|
||
<textarea class="form-control" id="message_30th" name="message_30th" rows="4"
|
||
placeholder="想對水晶熱舞社說的話、想貢獻的部分、想見到誰、想留下的祝福……"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="d-grid d-sm-flex gap-3 mt-4">
|
||
<button type="reset"
|
||
class="btn btn-reset-dance flex-fill order-2 order-sm-1">重新填寫</button>
|
||
<button type="submit"
|
||
class="btn btn-dance flex-fill order-1 order-sm-2">送出應援表單 💛</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="col-12 col-sm-5">
|
||
<div class="card h-100">
|
||
<h3 class="sub-section-title sub-section-title--flush">填寫須知</h3>
|
||
<ul class="info-list">
|
||
<li>📎 檔案格式:影片或圖片皆可,建議單檔 100MB 以內</li>
|
||
<li>🔒 這份資料僅供水晶熱舞社內部整理 30TH 應援企劃使用</li>
|
||
<li>📅 送出後若確定參與,之後會另行公告練習與錄製時間</li>
|
||
</ul>
|
||
<p class="info-footer-text">水晶男孩推廣部・30TH 應援企劃</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
</div>
|
||
|
||
<footer>
|
||
<p>SECHSKIES Fanpage © 2026 - 黃色氣球永遠飄揚</p>
|
||
<a href="https://jekkinoopy.github.io/Portfolio/" class="studio-link" target="_blank" rel="noopener noreferrer">
|
||
Design by <span class="mark_b">Jekkinoopy Studio</span>
|
||
</a>
|
||
</footer>
|
||
|
||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>
|
||
<script src="../assets/js/particles.js"></script>
|
||
<script src="../assets/js/portal-nav.js"></script>
|
||
<script>
|
||
(function () {
|
||
var target = new Date('2027-04-15T00:00:00+08:00');
|
||
var now = new Date();
|
||
var diffDays = Math.ceil((target - now) / (1000 * 60 * 60 * 24));
|
||
var el = document.getElementById('countdown');
|
||
if (el) {
|
||
el.textContent = diffDays > 0
|
||
? '💛 距離 30TH · 2027/04/15 還有 ' + diffDays + ' 天'
|
||
: '💛 30TH · 2027/04/15 已經到來,一起再集合!';
|
||
}
|
||
})();
|
||
</script>
|
||
</body>
|
||
|
||
</html>
|