/** * NJTW5 專用(與 NJTW5.html 同資料夾) * 長條圖、各卡裁切位置請只改此檔。 */ body.njtw5-page { background-color: var(--surface-soft, #fff9e8); color: var(--text-color, #333); font-family: 'Noto Sans TC', system-ui, sans-serif; margin: 0; /* 頂部不留空,標題背景貼齊視窗上緣;左右與底部維持內距 */ padding: 0 clamp(16px, 4vw, 40px) clamp(16px, 4vw, 40px); display: flex; flex-direction: column; align-items: center; gap: clamp(20px, 3.5vw, 32px); overflow-x: hidden; box-sizing: border-box; } body.njtw5-page header.main-header { /* 此頁專用:抵消 assets/css/style.css 裡裸選取器 header { … }(僅當 body 為 .njtw5-page 時套用,不修改 style.css) */ height: auto; min-height: unset; max-height: none; overflow: visible; flex-shrink: 0; /* 視窗全寬(不受 body 置中與下方網格 max-width 限制) */ width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-top: 0; box-sizing: border-box; text-align: center; /* 與 1538075001_cu.jpg 實際比例一致(1280×706),全寬時高度與圖等比例 */ aspect-ratio: 1280 / 706; padding: 0 clamp(16px, 3vw, 28px); display: flex; flex-direction: column; align-items: center; justify-content: center; /* 圖檔與此 CSS 同資料夾(variety/NJTW/) */ background-color: #1a1812; background-image: url("1538075001_cu.jpg"); background-size: cover; background-position: center; background-repeat: no-repeat; border: none; border-radius: 0; box-shadow: none; } body.njtw5-page .main-header h1 { margin: 0 0 0.65rem; font-size: clamp(1.35rem, 4vw, 1.85rem); font-weight: 800; color: rgba(255, 255, 255, 0.96); line-height: 1.25; letter-spacing: 0.02em; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 0 24px rgba(0, 0, 0, 0.35); } body.njtw5-page .main-header .intro { margin: 0; margin-inline: auto; max-width: min(42em, 100%); width: fit-content; box-sizing: border-box; padding: clamp(14px, 2.4vw, 20px) clamp(18px, 3.2vw, 30px); font-size: clamp(0.95rem, 2.5vw, 1.12rem); font-weight: 600; color: rgba(255, 255, 255, 0.98); line-height: 1.65; letter-spacing: 0.02em; text-align: center; border-radius: 14px; /* 透明黑底:上淺下深+內光,與標題圖區分層次 */ background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 40%), linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.58) 100%); border: 1px solid rgba(255, 255, 255, 0.14); border-top-color: rgba(255, 220, 120, 0.22); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 10px 36px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.25); backdrop-filter: blur(10px) saturate(1.15); -webkit-backdrop-filter: blur(10px) saturate(1.15); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45); } body.njtw5-page .container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2.5vw, 20px); width: 100%; max-width: min(1200px, 100%); box-sizing: border-box; } body.njtw5-page .container .section-title { grid-column: 1 / -1; margin: 0 0 clamp(4px, 1vw, 10px); padding-bottom: clamp(10px, 2vw, 14px); font-size: clamp(1.2rem, 3.2vw, 1.55rem); font-weight: 800; letter-spacing: 0.06em; text-align: center; color: var(--dark-yellow, #4e492b); } body.njtw5-page .member-card { min-width: 0; width: 100%; max-width: 100%; box-sizing: border-box; background-color: var(--surface, #fffdf7); border: 1px solid rgba(255, 204, 0, 0.38); border-radius: 15px; /* 勿對整卡 hidden,否則底部 .nickname 可能被裁掉、像「看不到」 */ overflow: visible; text-align: center; box-shadow: 0 8px 0 rgba(255, 204, 0, 0.28), 0 12px 24px rgba(0, 0, 0, 0.08); transition: transform 0.2s ease; } body.njtw5-page .member-card:hover { transform: translateY(-5px); } body.njtw5-page .member-image { width: 100%; height: clamp(200px, 32vw, 280px); box-sizing: border-box; background-color: #1a1812; /* 長條圖檔與此 CSS 同資料夾;檔名不同請改 url */ background-image: url("1538074991_Fm.jpg"); /* background-size 改由各 .m1–.m6 單獨設定 */ background-repeat: no-repeat; border-bottom: 1px solid rgba(255, 204, 0, 0.4); border-radius: 14px 14px 0 0; overflow: hidden; } /* 各卡:background-size、background-position 可逐張微調(圖檔見 .member-image) */ body.njtw5-page .m1 .member-image { background-size: 250% auto; background-position: 52% 58%; } body.njtw5-page .m2 .member-image { background-size: 359% auto; background-position: 10% 85%; } body.njtw5-page .m3 .member-image { background-size: 381% auto; background-position: 96% 18%; } body.njtw5-page .m4 .member-image { background-size: 600% auto; background-position: 64% 8%; } body.njtw5-page .m5 .member-image { background-size: 500% auto; background-position: 0% 16%; } body.njtw5-page .m6 .member-image { background-size: 600% auto; background-position: 25% 0%; } body.njtw5-page .info { padding: clamp(10px, 2vw, 15px); min-width: 0; } body.njtw5-page .name { font-size: clamp(1.1rem, 3.2vw, 1.5rem); font-weight: 800; color: var(--dark-yellow, #4e492b); margin: 0 0 0.35rem; line-height: 1.2; word-break: keep-all; overflow-wrap: anywhere; } body.njtw5-page .role { font-size: clamp(0.85rem, 2.2vw, 1rem); color: #555; background: rgba(255, 204, 0, 0.16); display: inline-block; max-width: 100%; padding: 0.2rem 0.55rem; border-radius: 20px; border: 1px solid rgba(255, 204, 0, 0.35); line-height: 1.35; word-break: keep-all; overflow-wrap: anywhere; box-sizing: border-box; } /* 羊皮紙角色卡:卡片上加 class="parchment-card" 即可;長條裁切仍用 .m1 / .m2… 的 .member-image 規則 */ body.njtw5-page .member-card.parchment-card { background: radial-gradient(ellipse 120% 80% at 50% -20%, rgba(255, 255, 255, 0.35) 0%, transparent 55%), linear-gradient(165deg, #f7ebd4 0%, #ecd9b8 35%, #e0cfa8 70%, #d4c39a 100%); border: 3px solid #9e2222; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(255, 250, 235, 0.55), inset 0 -18px 36px rgba(120, 50, 30, 0.06), 0 4px 0 #7a1818, 0 10px 24px rgba(0, 0, 0, 0.12); text-align: center; padding: 0; } body.njtw5-page .member-card.parchment-card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(255, 250, 235, 0.55), inset 0 -18px 36px rgba(120, 50, 30, 0.06), 0 5px 0 #7a1818, 0 14px 28px rgba(0, 0, 0, 0.14); } body.njtw5-page .parchment-card .parchment-inner { padding: clamp(12px, 2.4vw, 18px) clamp(10px, 2vw, 14px) clamp(14px, 2.8vw, 20px); box-sizing: border-box; } body.njtw5-page .parchment-card .parchment-logo { font-size: clamp(0.95rem, 2.4vw, 1.15rem); font-weight: 900; letter-spacing: 0.12em; margin: 0 0 0.35rem; background: linear-gradient(180deg, #e85a28 0%, #c73d18 45%, #9e2a12 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.65)); } body.njtw5-page .parchment-card .parchment-logo-num { display: inline-block; margin-left: 0.08em; font-size: 1.15em; vertical-align: super; letter-spacing: 0; } body.njtw5-page .parchment-card .parchment-headline { margin-bottom: clamp(10px, 2vw, 14px); } body.njtw5-page .parchment-card .parchment-name { margin: 0 0 0.2rem; font-size: clamp(1.25rem, 3.6vw, 1.65rem); font-weight: 900; color: #7a1b1b; line-height: 1.2; letter-spacing: 0.04em; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35); } body.njtw5-page .parchment-card .parchment-role { margin: 0 0 0.35rem; font-size: 1.2rem; font-weight: 700; color: #7a1b1b; line-height: 1.35; } body.njtw5-page .parchment-card .parchment-byline { margin: 0; font-size: 1rem; font-weight: 700; color: #6b1818; line-height: 1.4; opacity: 0.95; } body.njtw5-page .parchment-card .parchment-figure { margin: 0 0 clamp(12px, 2.2vw, 16px); border-radius: 8px; overflow: hidden; border: 2px solid rgba(122, 27, 27, 0.45); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25), 0 3px 10px rgba(60, 20, 10, 0.18); background: #1a1812; } body.njtw5-page .parchment-card .member-image { width: 100%; height: clamp(200px, 34vw, 280px); border-radius: 0; border: none; border-bottom: none; } body.njtw5-page .parchment-card .parchment-stats { text-align: left; margin: 0; padding: 0 clamp(4px, 1vw, 8px); } body.njtw5-page .parchment-card .parchment-stat-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px 10px; margin-bottom: clamp(8px, 1.6vw, 12px); } body.njtw5-page .parchment-card .parchment-stat-row:last-of-type { margin-bottom: 0; } body.njtw5-page .parchment-card .parchment-stat-label { font-size: clamp(0.88rem, 2.1vw, 1rem); font-weight: 800; color: #7a1b1b; letter-spacing: 0.06em; white-space: nowrap; flex-shrink: 0; } body.njtw5-page .parchment-card .parchment-stat-balls { display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: 4px; min-width: 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; padding-bottom: 2px; scrollbar-width: thin; } body.njtw5-page .parchment-card .parchment-stat-balls img { display: block; width: clamp(20px, 4.2vw, 26px); height: auto; aspect-ratio: 1; object-fit: contain; flex-shrink: 0; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25)); } body.njtw5-page .parchment-card .parchment-tags { margin: clamp(12px, 2vw, 16px) 0 0; padding-top: clamp(10px, 1.8vw, 14px); border-top: 1px dashed rgba(122, 27, 27, 0.35); font-size: max(13px, 0.88rem); font-weight: 700; color: #5c2414; line-height: 1.45; text-align: center; word-break: break-word; overflow-wrap: anywhere; } /* 影片區:與成員卡同語彙(米底、金邊、沈底放映框) */ body.njtw5-page .video-container { width: 100%; max-width: min(1200px, 100%); box-sizing: border-box; margin-inline: auto; padding: clamp(18px, 3.2vw, 28px); background-color: var(--surface, #fffdf7); border: 1px solid rgba(255, 204, 0, 0.38); border-radius: 18px; box-shadow: 0 8px 0 rgba(255, 204, 0, 0.22), 0 14px 32px rgba(0, 0, 0, 0.08); } body.njtw5-page .video-container .video-title { margin: 0 0 clamp(14px, 2.5vw, 20px); padding-bottom: clamp(10px, 2vw, 14px); font-size: clamp(1.15rem, 3vw, 1.45rem); font-weight: 800; letter-spacing: 0.06em; text-align: center; color: var(--dark-yellow, #4e492b); border-bottom: 2px solid rgba(255, 204, 0, 0.45); box-shadow: 0 6px 0 -4px rgba(255, 204, 0, 0.18); } body.njtw5-page .video-container .video-wrapper { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: linear-gradient(145deg, #2a2618 0%, #0f0e0a 50%, #1a1812 100%); box-shadow: inset 0 0 0 1px rgba(255, 204, 0, 0.2), inset 0 12px 40px rgba(0, 0, 0, 0.45); } body.njtw5-page .video-container .video-embed { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; } @media (max-width: 768px) { body.njtw5-page .container { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (prefers-reduced-motion: reduce) { body.njtw5-page .member-card { transition: none; } body.njtw5-page .member-card:hover { transform: none; } }