diff --git a/.cursor/rules/portal-nav-rules.mdc b/.cursor/rules/portal-nav-rules.mdc index befa5f5..167a7de 100644 --- a/.cursor/rules/portal-nav-rules.mdc +++ b/.cursor/rules/portal-nav-rules.mdc @@ -20,7 +20,7 @@ alwaysApply: true 1. **未經站主逐句同意**:不得從 `COMING_SOON_PAGES` **刪**檔名、不得擴充 `INDEX_NAV_OPEN_HASHES`、不得在 `buildPortalNavInnerHTML` **新增**可點項、不得把籌備中改成真 `href`、不得刪站主已同意列入頂欄的項。 2. **「檔案在 repo」≠「可開放導覽」**;不得自行推論。 -3. **`extra/totoga2.html`(整合頁)**、**`variety/variety.html`**:站主**沒有明講對外開放**時,檔名**必須**留在 `COMING_SOON_PAGES`(訪客頂欄不可點進)。要開放時**只**能等站主說了再從 Set 移除。 +3. **`fallen/totoga2.html`(整合頁)**、**`variety/variety.html`**:站主**沒有明講對外開放**時,檔名**必須**留在 `COMING_SOON_PAGES`(訪客頂欄不可點進)。要開放時**只**能等站主說了再從 Set 移除。 4. **「刪除/拿掉/不要了」**:若未寫明是**單一檔案**、**頂欄某一列**、**整段子選單**還是**整個資料夾**,**一律先問站主**,禁止自行擴大刪除範圍。 5. **不確定**是否開放、連哪、是否例外:**先問站主再改**,不要猜。 6. 站主說要刪的是 **`某頁#錨點`**(頁內區塊)時:先改該頁 DOM,再修死錨連結;**不要**只動導覽、也不要把「刪區塊」擴成刪頂欄整段。細節見 **`user-scope-and-nav.mdc`**(§ 頁面錨點刪除)。 @@ -93,7 +93,7 @@ alwaysApply: true ``` - 內頁(例如 `extra/`、`variety/` 下)請用相對站根深度,例如: + 內頁(例如 `extra/`、`fallen/`、`member/`、`yellow-note/`、`variety/` 下)請用相對站根深度,例如: ```html @@ -133,6 +133,6 @@ alwaysApply: true | `.cursor/rules/user-scope-and-nav.mdc` | 意圖與導覽開放(與本規則搭配) | | `.cursor/rules/ai-change-boundaries.mdc` | 變更範圍與共用 CSS 邊界 | | `docs/CHANGESET-review.md` | 歷次變更檢查清單筆記(非程式真值來源) | -| `docs/sql/sql_plan.md` | SQL 練習/筆記 | +| `docs/sql/` | SQL 練習/筆記(`sql_plan.md`、`.sql` 腳本與匯出) | (導覽文案隨機句:`NAV_SOON_PHRASES`,僅影響籌備中連結的提示,與新頁是否開放無關。) diff --git a/.cursor/rules/user-scope-and-nav.mdc b/.cursor/rules/user-scope-and-nav.mdc index 11ccef0..15001a3 100644 --- a/.cursor/rules/user-scope-and-nav.mdc +++ b/.cursor/rules/user-scope-and-nav.mdc @@ -25,9 +25,9 @@ alwaysApply: true - **不得**因為「內容已搬到某頁」就自行推論「導覽也應該開放」——導覽是否開放**只聽使用者口述**。 - 若使用者只要求搬內容、刪檔、改站內某段文案,**預設不改** `assets/js/portal-nav.js` 的開放狀態與連結目標。 -## 「傳奇的轉折」與 `extra/totoga2.html`(特別記牢) +## 「傳奇的轉折」與 `fallen/totoga2.html`(特別記牢) -- 頂欄模板裡「傳奇的轉折」連到 **`extra/totoga2.html`**(見 `buildPortalNavInnerHTML`)。 +- 頂欄模板裡「傳奇的轉折」連到 **`fallen/totoga2.html`**(見 `buildPortalNavInnerHTML`)。 - 使用者**沒有明講對外開放整合頁**時:`totoga2.html` **必須**在 **`COMING_SOON_PAGES`** 裡 → 訪客頂欄該項為籌備中、**不可點進**。 - **禁止**在未獲同意下:從 Set **移除** `totoga2.html`、或改成連到其他頁並當成已開放。 - 首頁錨點另依 **`INDEX_NAV_OPEN_HASHES`**;與「傳奇的轉折/totoga2」分開判斷。 diff --git a/assets/css/concert.css b/assets/css/concert.css index a5a9ed8..d3fe48d 100644 --- a/assets/css/concert.css +++ b/assets/css/concert.css @@ -217,6 +217,11 @@ img { color: #333; } +/* 暫隱:九十年代「燦爛的最初」整區;要對外顯示時刪除此規則即可 */ +#stage-past { + display: none !important; +} + /* 燦爛的最初:小節標(對齊隔壁「一張大卡+多個場次列」) */ #stage-past .stage-past-era { margin-top: 2.25rem; diff --git a/assets/css/style.css b/assets/css/style.css index 4bdeb0f..c9d3db9 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -2148,54 +2148,7 @@ body.ebook-ssg2-page .ebook-back-link { margin: 0 0 2.5rem; } -/* totoga2.html — 六六歌2 整合(影片/電子書/長文+網漫/分頁) */ -body.totoga2-page .map-archive-header .main-content-title { - display: flex; - flex-direction: column; - align-items: center; - gap: 0.35rem; - margin-top: clamp(12px, 2.5vw, 22px); -} - -body.totoga2-page .map-archive-header .highlight-text { - font-size: clamp(1.45rem, 4vw, 2.65rem); - font-weight: 800; - color: #fff; - letter-spacing: 0.1em; - line-height: 1.2; - text-shadow: 0 2px 22px rgba(0, 0, 0, 0.5); -} - -body.totoga2-page .map-archive-header .eng-title { - font-size: clamp(0.72rem, 2vw, 0.95rem); - letter-spacing: 0.26em; - color: var(--yellow); - font-weight: 700; - text-transform: uppercase; -} - -body.totoga2-page .map-archive-header .subtitle-wrap { - flex-direction: column; - gap: 0.4rem; - margin-top: clamp(14px, 2.5vw, 24px); -} - -body.totoga2-page .map-archive-header .subtitle-wrap::before, -body.totoga2-page .map-archive-header .subtitle-wrap::after { - display: none; -} - -body.totoga2-page .map-archive-header .sub-title { - margin: 0; -} - -body.totoga2-page .map-archive-header .event-date { - display: block; - font-size: 0.72rem; - letter-spacing: 0.22em; - color: #c8c8c8; - font-weight: 600; -} +/* totoga2 整合/複本頁:頂部結構與其他 map-archive-header 內頁一致(僅 main-title + subtitle-wrap) */ body.totoga2-page .totoga2-hub-controls { max-width: 1200px; @@ -2206,23 +2159,106 @@ body.totoga2-page .totoga2-hub-controls { flex-wrap: wrap; } -body.totoga2-page .bilivideo-stack { +body.totoga2-page.totoga2-video-copy-page .map-archive-header { + height: auto; + min-height: 0; + padding: clamp(1rem, 2.8vw, 1.75rem) 20px clamp(1.1rem, 3vw, 1.9rem); + background-size: cover; +} + +body.totoga2-page.totoga2-video-copy-page .ebook-intro.section { + margin-bottom: 1.5rem; +} + +body.totoga2-page.totoga2-video-copy-page .ebook-intro.section .bilivideo-tabs { + margin-top: 0.5rem; +} + +body.totoga2-page.totoga2-video-copy-page { + overflow-x: hidden; +} + +/* 節目影片複本:三集=同一殼內分頁;非使用中 panel 不占版面(避免被 flex display 蓋掉 hidden) */ +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs { + max-width: 960px; + margin: 0 auto; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__shell { + border-radius: 14px; + overflow: hidden; + border: 1px solid rgba(255, 204, 0, 0.38); + box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18); + background: #070707; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__list { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 0; + margin: 0; + padding: 0; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__tab { + margin: 0; + padding: 0.75rem 0.5rem; + border: none; + border-right: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 0; + cursor: pointer; + font: inherit; + font-weight: 700; + font-size: clamp(0.88rem, 2.1vw, 1rem); + text-align: center; + color: #e8e4dc; + background: #151515; + letter-spacing: 0.12em; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__tab:last-child { + border-right: none; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__tab:hover { + background: #1f1f1f; + color: #fff; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__tab:focus-visible { + outline: 2px solid #ffcc00; + outline-offset: -2px; + position: relative; + z-index: 1; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__tab--active { + background: linear-gradient(180deg, #ffe566 0%, #ffcc00 100%); + color: #1a1406; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__panels { + overflow: hidden; + background: #000; +} + +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__panel { display: flex; flex-direction: column; - gap: 2rem; - margin-bottom: 2rem; + align-items: stretch; } -body.totoga2-page .bilivideo-block h3 { - margin: 0 0 0.5rem; - font-size: 1.1rem; - color: #2a2a2a; +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__panel[hidden] { + display: none !important; } -body.totoga2-page .bilivideo-placeholder-note { - font-size: 0.88rem; - color: #666; - margin: 0 0 0.5rem; +body.totoga2-page.totoga2-video-copy-page .bilivideo-tabs__shell .bilivideo-frame { + margin: 0; + max-width: none; + width: 100%; + border-radius: 0; + border: none; + box-shadow: none; } body.totoga2-page .bilivideo-frame { @@ -2293,7 +2329,7 @@ body.totoga2-page .ebook-back-link { gap: 12px; } -/* extra/totoga2 copy.html — 複本改為三獨立頁後的總覽;子頁共用 .totoga2-split-crossnav */ +/* extra/totoga2 copy.html — 複本改為三獨立頁後的總覽;主檔 fallen/totoga2.html;子頁共用 .totoga2-split-crossnav */ body.totoga2-page .totoga2-split-crossnav { margin-top: 0.75rem; } @@ -2313,7 +2349,7 @@ body.totoga2-page .totoga2-copy-hub-anchor-hint { font-size: 0.95rem; } -/* extra/member.html — 黑白水晶交錯格(2×4)與懸賞令海報 */ +/* member/member.html — 黑白水晶交錯格(2×4)與懸賞令海報 */ body.member-crystal-page .member-crystal-main { padding: 1.75rem 14px 3rem; max-width: 1240px; diff --git a/assets/js/portal-nav.js b/assets/js/portal-nav.js index 20fef85..a73a316 100644 --- a/assets/js/portal-nav.js +++ b/assets/js/portal-nav.js @@ -3,7 +3,7 @@ * ── 導覽「尚未開放」連結 ───────────────────────────────────────── * 【兩個世界】① 僅 `extra/site-guide.html`:`