Jump to content
切換選單
切換偏好設定選單
切換個人選單
尚未登入
如果您進行編輯,系統將會為您建立一個臨時帳戶。

模板:裏番/styles.css

出自幻跡百科
/*
 * BenWiki 裏番專用樣式
 *
 * 排版骨架(grid/flex/間距/互動狀態)位於 模板:UI/styles.css,本檔案
 * 只負責裏番領域專屬的東西。
 *
 * 配色原則(決策 B):
 * - 背景/邊框/一般文字一律用 Citizen semantic token(跟通用層一致),
 *   會自動跟著明暗切換,不另外處理。
 * - 只有真正的「品牌強調色」(分類徽章、EPISODE 標籤、角色定位、
 *   關聯分類裝飾邊條/漸層)才用字面色碼,並且分別寫深色版與淺色版:
 *   預設(無 class 前綴)=淺色版;`.skin-theme-clientpref-night` 前綴
 *   =深色版(沿用參考版型原始數值);`.skin-theme-clientpref-os` 搭配
 *   `prefers-color-scheme: dark` media query,涵蓋「跟隨系統」剛好系統
 *   是深色的情況。
 * - 封面裝飾層(漸層/圓環)是疊在照片「上面」的裝飾,不是疊在頁面
 *   背景上,跟明暗主題無關,維持單一版本、不用雙主題處理。
 * - 分頁按鈕(話數選擇器/章節分頁)只調整外觀「形狀」(容器外框、
 *   圓角、排列方式),顏色沿用通用層既有定義,不在此檔案另外覆寫。
 *
 * TemplateStyles 限制:不宣告 custom properties;border-color 一律拆成
 * 四個 longhand;標題文字一律用 div(不用 h1-h6,詳見
 * 模板:UI/styles.css 開頭註解);font-weight 只能用標準值(100 的倍數/
 * normal/bold,不能用像 750 這種非標準值)。
 *
 * 模板說明:模板:裏番
 */


/* ==========================================================
 * Hero 標題列(大標題+分類徽章),在 Hero 卡片外面、上方
 * ========================================================== */

.benwiki-work-heading {
	display: flex;
	flex-wrap: wrap;

	align-items: flex-end;
	justify-content: space-between;

	gap: 1.5rem;

	margin: 0 0 1.25rem;
}


.benwiki-work-heading__title {
	flex: 1 1 auto;

	min-width: 0;

	color: var(--color-emphasized);

	font-size: clamp( 1.5rem, 4vw, 2.6rem );
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;

	overflow-wrap: anywhere;
}


.benwiki-work__classification {
	display: inline-flex;
	flex: 0 0 auto;

	margin-bottom: 0.35rem;
	padding: 0.35rem 0.85rem;

	border-width: 1px;
	border-style: solid;

	border-radius: 999px;

	font-size: 0.68rem;
	font-weight: 700;

	/* 淺色版(預設) */
	border-top-color: rgba(15, 122, 88, 0.3);
	border-right-color: rgba(15, 122, 88, 0.3);
	border-bottom-color: rgba(15, 122, 88, 0.3);
	border-left-color: rgba(15, 122, 88, 0.3);

	color: #0f7a58;

	background-color: rgba(15, 122, 88, 0.08);
}


.skin-theme-clientpref-night .benwiki-work__classification {
	border-top-color: rgba(107, 219, 173, 0.3);
	border-right-color: rgba(107, 219, 173, 0.3);
	border-bottom-color: rgba(107, 219, 173, 0.3);
	border-left-color: rgba(107, 219, 173, 0.3);

	color: #91e3c2;

	background-color: rgba(107, 219, 173, 0.08);
}


@media ( prefers-color-scheme: dark ) {
	.skin-theme-clientpref-os .benwiki-work__classification {
		border-top-color: rgba(107, 219, 173, 0.3);
		border-right-color: rgba(107, 219, 173, 0.3);
		border-bottom-color: rgba(107, 219, 173, 0.3);
		border-left-color: rgba(107, 219, 173, 0.3);

		color: #91e3c2;

		background-color: rgba(107, 219, 173, 0.08);
	}
}


/* ==========================================================
 * 封面裝飾層(疊在照片上,跟頁面主題無關,不分深淺色)
 * ========================================================== */

.benwiki-ui-hero__poster {
	position: relative;

	isolation: isolate;

	margin: 1.1rem;

	overflow: hidden;

	border-radius: 0.85rem;

	background:
		linear-gradient(145deg, rgba(255, 93, 104, 0.88), rgba(139, 55, 85, 0.5) 42%, rgba(12, 17, 26, 0.2) 67%),
		#222b3b;
}


.benwiki-ui-hero__poster::before {
	position: absolute;

	top: 8%;
	right: -24%;

	z-index: -1;

	width: 95%;

	aspect-ratio: 1;

	border-width: 46px;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.09);

	border-radius: 50%;

	content: "";
}


.benwiki-ui-hero__poster::after {
	position: absolute;

	inset: auto 0 0;

	z-index: -1;

	height: 45%;

	background: linear-gradient(transparent, rgba(7, 10, 15, 0.7));

	content: "";
}


@media ( max-width: 780px ) {
	.benwiki-ui-hero__poster {
		margin: 0.85rem;
	}
}


/* ==========================================================
 * Tabs:話數選擇器/章節分頁的「形狀」override
 *
 * 通用層(模板:UI/styles.css)的 .benwiki-ui-tab-button 是單顆浮動的
 * 999px 全圓形藥丸,跟參考版型的兩種分頁組成方式都對不上:
 * - 話數選擇器:有外框的膠囊「容器」,裡面是緊湊排列的方角小 chip。
 * - 章節分頁:整條相連的分頁列,各分頁平分寬度、用分隔線區隔,
 *   不是各自浮動、中間留空隙的藥丸。
 *
 * 這裡只調整形狀相關屬性(容器外框/圓角/排列方式/間距),顏色
 * (含作用中狀態的填色與文字色)完全沿用通用層既有定義,不覆寫。
 * ========================================================== */

.benwiki-ui-hero__footer .benwiki-ui-tabs__nav {
	margin-bottom: 0;

	padding: 0.3rem;
	gap: 0.3rem;

	border-width: 1px;
	border-style: solid;

	border-top-color: var(--border-color-base);
	border-right-color: var(--border-color-base);
	border-bottom-color: var(--border-color-base);
	border-left-color: var(--border-color-base);

	border-radius: 0.75rem;
}


.benwiki-ui-hero__footer .benwiki-ui-tab-button {
    border-style: hidden;
    
	min-width: 3.4rem;

	padding: 0.4rem 0.6rem;

	border-radius: 0.6rem;

	text-align: center;
}


[data-benwiki-ui-tabs-group="sections"] .benwiki-ui-tabs__nav {
	gap: 0;

	border-width: 1px;
	border-style: solid;

	border-top-color: var(--border-color-base);
	border-right-color: var(--border-color-base);
	border-bottom-color: var(--border-color-base);
	border-left-color: var(--border-color-base);

	border-radius: 0.75rem;

	overflow: hidden;
}


[data-benwiki-ui-tabs-group="sections"] .benwiki-ui-tab-button {
	flex: 1 0 auto;

	border-radius: 0;

	border-top-width: 0;
	border-right-width: 1px;
	border-bottom-width: 0;
	border-left-width: 0;

	border-style: solid;
	border-right-color: var(--border-color-base);
}


[data-benwiki-ui-tabs-group="sections"] .benwiki-ui-tab-button:last-child {
	border-right-width: 0;
}


/* ==========================================================
 * Episode panel
 * ========================================================== */

.benwiki-work-episode__heading {
	position: relative;

	padding-bottom: 0.9rem;

	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: var(--border-color-subtle);
}


.benwiki-work-episode__heading::after {
	position: absolute;

	bottom: -1px;
	left: 0;

	width: 3.2rem;
	height: 2px;

	border-radius: 999px;

	content: "";

	/* 淺色版(預設) */
	background-color: #7c5cbf;
}


.skin-theme-clientpref-night .benwiki-work-episode__heading::after {
	background-color: #c3a2ee;

	box-shadow: 0 0 18px rgba(195, 162, 238, 0.35);
}


@media ( prefers-color-scheme: dark ) {
	.skin-theme-clientpref-os .benwiki-work-episode__heading::after {
		background-color: #c3a2ee;

		box-shadow: 0 0 18px rgba(195, 162, 238, 0.35);
	}
}


.benwiki-work-episode__eyebrow {
	display: inline-flex;

	margin-bottom: 0.75rem;
	padding: 0.2rem 0.55rem;

	border-width: 1px;
	border-style: solid;

	border-radius: 999px;

	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;

	/* 淺色版(預設) */
	border-top-color: rgba(124, 92, 191, 0.32);
	border-right-color: rgba(124, 92, 191, 0.32);
	border-bottom-color: rgba(124, 92, 191, 0.32);
	border-left-color: rgba(124, 92, 191, 0.32);

	color: #7c5cbf;

	background-color: rgba(124, 92, 191, 0.08);
}


.skin-theme-clientpref-night .benwiki-work-episode__eyebrow {
	border-top-color: rgba(195, 162, 238, 0.32);
	border-right-color: rgba(195, 162, 238, 0.32);
	border-bottom-color: rgba(195, 162, 238, 0.32);
	border-left-color: rgba(195, 162, 238, 0.32);

	color: #c3a2ee;

	background-color: rgba(195, 162, 238, 0.12);
}


@media ( prefers-color-scheme: dark ) {
	.skin-theme-clientpref-os .benwiki-work-episode__eyebrow {
		border-top-color: rgba(195, 162, 238, 0.32);
		border-right-color: rgba(195, 162, 238, 0.32);
		border-bottom-color: rgba(195, 162, 238, 0.32);
		border-left-color: rgba(195, 162, 238, 0.32);

		color: #c3a2ee;

		background-color: rgba(195, 162, 238, 0.12);
	}
}


.benwiki-work-episode__title {
	color: var(--color-emphasized);

	font-size: clamp( 1.3rem, 2.4vw, 1.9rem );
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}


.benwiki-work-episode__facts {
	display: flex;
	flex-wrap: wrap;

	gap: 0.5rem 1.5rem;

	margin: 0.9rem 0;
}


.benwiki-work-episode__facts div {
	display: flex;

	align-items: baseline;

	gap: 0.35rem;
}


.benwiki-work-episode__facts dt {
	margin: 0;

	color: var(--color-subtle);

	font-size: 0.65rem;
	font-weight: 700;
}


.benwiki-work-episode__facts dd {
	margin: 0;

	color: var(--color-base);

	font-size: 0.8rem;
}


.benwiki-work-episode__summary {
	color: var(--color-subtle);

	font-size: 0.85rem;
	line-height: 1.75;
}


/* ==========================================================
 * Character card
 * ========================================================== */

.benwiki-work-character {
	display: grid;

	grid-template-columns: 138px minmax( 0, 1fr );

	overflow: hidden;

	border-width: 1px;
	border-style: solid;

	border-top-color: var(--border-color-base);
	border-right-color: var(--border-color-base);
	border-bottom-color: var(--border-color-base);
	border-left-color: var(--border-color-base);

	border-radius: 0.75rem;

	background-color: var(--background-color-neutral-subtle);
}


.benwiki-work-character__photo {
	min-height: 100%;

	background-color: var(--background-color-neutral);
}


.benwiki-work-character__photo img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: top center;
}


.benwiki-work-character__content {
	min-width: 0;

	padding: 1.1rem;
}


.benwiki-work-character__role {
	/* 淺色版(預設) */
	color: #d6304a;

	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}


.skin-theme-clientpref-night .benwiki-work-character__role {
	color: #ff5d68;
}


@media ( prefers-color-scheme: dark ) {
	.skin-theme-clientpref-os .benwiki-work-character__role {
		color: #ff5d68;
	}
}


.benwiki-work-character__name {
	margin: 0.3rem 0 0.5rem;

	color: var(--color-emphasized);

	font-size: 1rem;
	font-weight: 700;
}


.benwiki-work-character__description {
	margin: 0 0 0.75rem;

	color: var(--color-subtle);

	font-size: 0.78rem;
	line-height: 1.65;
}


.benwiki-work-character__specs {
	display: grid;

	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );

	gap: 0.5rem 0.75rem;

	margin: 0;
}


.benwiki-work-character__specs > div:last-child:nth-child(odd) {
	grid-column: span 2;
}


.benwiki-work-character__specs dt {
	margin: 0;

	color: var(--color-subtle);

	font-size: 0.6rem;
	font-weight: 700;
}


.benwiki-work-character__specs dd {
	margin: 0.1rem 0 0;

	color: var(--color-base);

	font-size: 0.72rem;
	font-weight: 600;
}


.benwiki-work-character__source {
	margin-top: 0.7rem;

	font-size: 0.68rem;
}


/* ==========================================================
 * Relation category cards
 * ========================================================== */

.benwiki-ui-link-group__heading {
	position: relative;

	overflow: hidden;

	/* 淺色版(預設) */
	background:
		linear-gradient(112deg, rgba(214, 48, 74, 0.10), rgba(124, 92, 191, 0.05) 52%, transparent 82%),
		var(--background-color-neutral-subtle);

	box-shadow:
		inset 3px 0 0 rgba(214, 48, 74, 0.7),
		inset 0 -1px 0 rgba(214, 48, 74, 0.08);
}


.skin-theme-clientpref-night .benwiki-ui-link-group__heading {
	background:
		linear-gradient(112deg, rgba(255, 93, 104, 0.12), rgba(195, 162, 238, 0.055) 52%, transparent 82%),
		var(--background-color-neutral-subtle);

	box-shadow:
		inset 3px 0 0 rgba(255, 93, 104, 0.78),
		inset 0 -1px 0 rgba(255, 93, 104, 0.08);
}


@media ( prefers-color-scheme: dark ) {
	.skin-theme-clientpref-os .benwiki-ui-link-group__heading {
		background:
			linear-gradient(112deg, rgba(255, 93, 104, 0.12), rgba(195, 162, 238, 0.055) 52%, transparent 82%),
			var(--background-color-neutral-subtle);

		box-shadow:
			inset 3px 0 0 rgba(255, 93, 104, 0.78),
			inset 0 -1px 0 rgba(255, 93, 104, 0.08);
	}
}