/**
 * ノナラボ: 属性ページ（/attributes/{slug}/）
 * 方針: DBサイトらしい整理型UI（GameWith + Filmarks + ラノベDB）
 */

.nonalabo-attrHead{
	margin:10px 0 18px;
	padding:16px 14px;
	border-radius:14px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.nonalabo-attrHead__top{
	display:flex;
	justify-content:flex-start;
	margin-bottom:10px;
}
.nonalabo-attrType{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:6px 10px;
	border-radius:999px;
	font-size:12px;
	font-weight:900;
	letter-spacing:.02em;
	border:1px solid rgba(0,0,0,.08);
	background:rgba(0,0,0,.03);
	color:rgba(0,0,0,.72);
	text-transform:none;
}
.nonalabo-attrType--genre{
	border-color:rgba(37,99,235,.22);
	background:rgba(37,99,235,.06);
	color:rgba(29,78,216,.95);
}
.nonalabo-attrType--attribute{
	border-color:rgba(234,88,12,.22);
	background:rgba(234,88,12,.06);
	color:rgba(194,65,12,.95);
}
.nonalabo-attrType--info{
	border-color:rgba(22,163,74,.22);
	background:rgba(22,163,74,.06);
	color:rgba(21,128,61,.95);
}
.nonalabo-attrHead__title{
	margin:0!important;
	font-size:clamp(20px, 3.4vw, 28px);
	font-weight:900;
	line-height:1.25;
	letter-spacing:-.02em;
}
.nonalabo-attrHead__desc{
	margin:10px 0 0;
	color:rgba(0,0,0,.74);
	line-height:1.8;
}
.nonalabo-attrHead__count{
	margin-top:12px;
	font-size:13px;
	font-weight:900;
	color:rgba(0,0,0,.72);
}

.nonalabo-attrSection{
	margin:22px 0;
}
.nonalabo-attrSection__title{
	margin:0 0 10px!important;
	font-size:16px;
	font-weight:900;
	letter-spacing:-.01em;
}

.nonalabo-attrRelated{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.nonalabo-attrRelated__item{
	margin:0;
}
.nonalabo-attrRelated__link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 12px;
	border-radius:999px;
	font-size:12px;
	font-weight:800;
	text-decoration:none;
	border:1px solid rgba(0,0,0,.12);
	background:#fff;
	color:rgba(0,0,0,.78);
}
.nonalabo-attrRelated__link:hover{
	background:rgba(0,0,0,.03);
	border-color:rgba(0,0,0,.18);
}
.nonalabo-attrRelated__link:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
}

.nonalabo-attrFilters{
	margin:0 0 18px;
	padding:14px 14px;
	border-radius:14px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.nonalabo-attrFilters__grid{
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
}
@media (min-width: 768px){
	.nonalabo-attrFilters__grid{
		grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
		align-items:end;
		gap:12px 14px;
	}
}
.nonalabo-attrFilters__item{
	min-width:0;
}
.nonalabo-attrFilters__label{
	display:block;
	font-size:12px;
	font-weight:900;
	color:rgba(0,0,0,.7);
	margin:0 0 6px;
}
.nonalabo-attrFilters__select{
	width:100%;
	min-height:40px;
	border-radius:12px;
	border:1px solid rgba(0,0,0,.12);
	background:#fff;
	padding:0 10px;
	font-size:14px;
	color:rgba(0,0,0,.85);
}
.nonalabo-attrFilters__actions{
	display:flex;
	gap:12px;
	align-items:center;
	justify-content:flex-start;
}
@media (min-width: 768px){
	.nonalabo-attrFilters__actions{
		justify-content:flex-end;
	}
}
.nonalabo-attrFilters__btn{
	min-height:40px;
	padding:0 14px;
	border-radius:12px;
	border:1px solid rgba(0,0,0,.14);
	background:rgba(0,0,0,.03);
	color:rgba(0,0,0,.85);
	font-size:13px;
	font-weight:900;
	cursor:pointer;
}
.nonalabo-attrFilters__btn:hover{
	background:rgba(0,0,0,.06);
}
.nonalabo-attrFilters__reset{
	font-size:12px;
	font-weight:800;
	color:rgba(29,78,216,.95);
	text-decoration:none;
	border-bottom:1px solid rgba(29,78,216,.25);
	padding-bottom:1px;
}
.nonalabo-attrFilters__reset:hover{
	border-bottom-color:rgba(29,78,216,.55);
}

.nonalabo-attrActive{
	margin:0 0 18px;
	padding:12px 14px;
	border-radius:14px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.nonalabo-attrActive__head{
	font-size:12px;
	font-weight:900;
	color:rgba(0,0,0,.7);
	margin:0 0 10px;
}
.nonalabo-attrActive__pills{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.nonalabo-attrActive__pill{
	margin:0;
}
.nonalabo-attrActive__text{
	font-size:12.5px;
	font-weight:900;
	color:rgba(0,0,0,.82);
}
.nonalabo-attrActive__pill--base{
	padding:8px 12px;
	border-radius:999px;
	border:1px solid rgba(0,0,0,.12);
	background:rgba(0,0,0,.03);
}
.nonalabo-attrActive__link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	text-decoration:none;
	background:#fff;
	border:1px solid rgba(0,0,0,.12);
	color:inherit;
	box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.nonalabo-attrActive__link:hover{
	background:rgba(0,0,0,.03);
	border-color:rgba(0,0,0,.18);
}
.nonalabo-attrActive__link:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
}
.nonalabo-attrActive__x{
	font-size:13px;
	font-weight:900;
	color:rgba(0,0,0,.45);
	line-height:1;
}
.nonalabo-attrActive__resetRow{
	margin-top:12px;
}
.nonalabo-attrActive__reset{
	font-size:12px;
	font-weight:800;
	color:rgba(29,78,216,.95);
	text-decoration:none;
	border-bottom:1px solid rgba(29,78,216,.25);
	padding-bottom:1px;
}
.nonalabo-attrActive__reset:hover{
	border-bottom-color:rgba(29,78,216,.55);
}

.nonalabo-attrListHead{
	margin:10px 0 16px;
	padding:16px 14px;
	border-radius:14px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.nonalabo-attrListHead__title{
	margin:0!important;
	font-size:clamp(20px, 3.4vw, 28px);
	font-weight:900;
	line-height:1.25;
	letter-spacing:-.02em;
}
.nonalabo-attrListHead__desc{
	margin:10px 0 0;
	color:rgba(0,0,0,.74);
	line-height:1.8;
}

.nonalabo-attrPills{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.nonalabo-attrPills__item{
	margin:0;
}
.nonalabo-attrPills__link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:9px 12px;
	border-radius:999px;
	text-decoration:none;
	background:#fff;
	border:1px solid rgba(0,0,0,.12);
	color:rgba(0,0,0,.82);
	box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.nonalabo-attrPills__link:hover{
	background:rgba(0,0,0,.03);
	border-color:rgba(0,0,0,.18);
}
.nonalabo-attrPills__link:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
}
.nonalabo-attrPills__name{
	font-size:12.5px;
	font-weight:900;
}
.nonalabo-attrPills__count{
	font-size:12px;
	font-weight:800;
	color:rgba(0,0,0,.6);
	font-variant-numeric:tabular-nums;
}
.nonalabo-attrPills--genre .nonalabo-attrPills__link{
	border-color:rgba(37,99,235,.18);
}
.nonalabo-attrPills--attribute .nonalabo-attrPills__link{
	border-color:rgba(234,88,12,.18);
}
.nonalabo-attrPills--info .nonalabo-attrPills__link{
	border-color:rgba(22,163,74,.18);
}

@media (max-width: 520px){
	.nonalabo-attrPills{
		gap:8px;
	}
	.nonalabo-attrPills__link{
		padding:8px 11px;
	}
}

/**
 * ノナラボ: 属性ページ・検索の表示切替（作品カード / 文字列 / 書影ギャラリー）
 */
.nonalabo-attrViewToggle{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	justify-content:flex-end;
	margin:0 0 12px;
}
.nonalabo-attrViewBtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	padding:0 12px;
	border-radius:999px;
	text-decoration:none;
	font-size:12px;
	font-weight:900;
	border:1px solid rgba(0,0,0,.12);
	background:#fff;
	color:rgba(0,0,0,.82);
	box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.nonalabo-attrViewBtn:hover{
	background:rgba(0,0,0,.03);
	border-color:rgba(0,0,0,.18);
}
.nonalabo-attrViewBtn.is-active{
	border-color:rgba(37,99,235,.22);
	background:rgba(37,99,235,.06);
	color:rgba(29,78,216,.95);
}
.nonalabo-attrViewBtn:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
}

/**
 * ノナラボ: 文字列のみ一覧（タイトル/判定/タグ）
 */
.nonalabo-workTextList{
	border-radius:14px;
	background:#fff;
	border:1px solid rgba(0,0,0,.06);
	box-shadow:0 2px 10px rgba(0,0,0,.05);
	overflow:hidden;
}
.nonalabo-workTextHead{
	display:grid;
	grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1.4fr);
	gap:12px;
	padding:10px 12px;
	background:rgba(0,0,0,.02);
	border-bottom:1px solid rgba(0,0,0,.06);
}
.nonalabo-workTextHead > :not(:first-child){
	border-left:1px solid rgba(0,0,0,.08);
	padding-left:12px;
}
.nonalabo-workTextHeadCol{
	font-size:12px;
	font-weight:900;
	color:rgba(0,0,0,.65);
}
.nonalabo-workTextRow{
	display:grid;
	grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1.4fr);
	gap:12px;
	padding:10px 12px;
	border-bottom:1px solid rgba(0,0,0,.06);
}
.nonalabo-workTextRow > :not(:first-child){
	border-left:1px solid rgba(0,0,0,.08);
	padding-left:12px;
}
.nonalabo-workTextRow:last-child{
	border-bottom:none;
}
.nonalabo-workTextTitleLink{
	font-size:13px;
	font-weight:900;
	color:rgba(0,0,0,.9);
	text-decoration:none;
}
.nonalabo-workTextTitleLink:hover{
	text-decoration:underline;
	text-underline-offset:2px;
}
.nonalabo-workTextTitleLink:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
	border-radius:8px;
}
.nonalabo-workTextVerdict{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:5px 9px;
	border-radius:999px;
	font-size:12px;
	font-weight:900;
	border:1px solid rgba(100,116,139,.2);
	background:rgba(100,116,139,.06);
	color:rgba(51,65,85,.95);
}
.nonalabo-workTextMuted{
	color:rgba(0,0,0,.5);
	font-weight:800;
}
.nonalabo-workTextTags{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}
.nonalabo-workTextTag{
	margin:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:5px 9px;
	border-radius:999px;
	font-size:12px;
	font-weight:900;
	border:1px solid rgba(0,0,0,.12);
	background:rgba(0,0,0,.03);
	color:rgba(0,0,0,.78);
}
.nonalabo-workTextTag__link{
	color:inherit;
	text-decoration:none;
}
.nonalabo-workTextTag__link:hover{
	text-decoration:underline;
	text-underline-offset:2px;
}
.nonalabo-workTextTag__link:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
	border-radius:999px;
}
@media (max-width: 768px){
	.nonalabo-attrViewToggle{
		justify-content:flex-start;
	}
	.nonalabo-workTextHead,
	.nonalabo-workTextRow{
		grid-template-columns: minmax(0, 1fr);
		gap:8px;
	}
	.nonalabo-workTextHead > :not(:first-child),
	.nonalabo-workTextRow > :not(:first-child){
		border-left:none;
		padding-left:0;
	}
	.nonalabo-workTextHeadCol--verdict,
	.nonalabo-workTextHeadCol--tags{
		display:none;
	}
}

/**
 * ノナラボ: 属性ページ（view=card）の作品カードは1カラム
 * 他ページ（ショートコード等）の cardList には影響させない。
 */
.nonalabo-attrCardList--oneCol{
	grid-template-columns: 1fr!important;
}

/**
 * ノナラボ: 書影ギャラリー（view=gallery）— ほぼ全幅の密なグリッド、書影＋小タグ＋タイトルのみ
 */
.nonalabo-workGallery{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(88px, 1fr));
	gap:10px 8px;
	width:100%;
	max-width:100%;
	margin:0;
	padding:4px 0 8px;
	box-sizing:border-box;
}
@media (min-width: 520px){
	.nonalabo-workGallery{
		grid-template-columns:repeat(auto-fill, minmax(96px, 1fr));
		gap:12px 10px;
	}
}
@media (min-width: 900px){
	.nonalabo-workGallery{
		grid-template-columns:repeat(auto-fill, minmax(104px, 1fr));
		gap:14px 10px;
	}
}
.nonalabo-workGallery__item{
	min-width:0;
	margin:0;
	padding:0;
}
.nonalabo-workGallery__link{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	gap:6px;
	height:100%;
	text-decoration:none;
	color:inherit;
	border-radius:10px;
	padding:4px 2px 6px;
	transition:background .15s ease, box-shadow .15s ease;
}
.nonalabo-workGallery__link:hover{
	background:rgba(0,0,0,.03);
	box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.nonalabo-workGallery__link:focus-visible{
	outline:2px solid rgba(37,99,235,.45);
	outline-offset:2px;
}
.nonalabo-workGallery__cover{
	position:relative;
	width:100%;
	aspect-ratio:2 / 3;
	border-radius:8px;
	overflow:hidden;
	background:rgba(0,0,0,.06);
	border:1px solid rgba(0,0,0,.08);
	box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.nonalabo-workGallery__img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center top;
}
.nonalabo-workGallery__placeholder{
	width:100%;
	height:100%;
	background:linear-gradient(165deg, rgba(0,0,0,.06), rgba(0,0,0,.12));
}
.nonalabo-workGallery__tags{
	display:flex;
	flex-wrap:wrap;
	gap:4px 5px;
	align-items:center;
	min-height:0;
}
.nonalabo-workGallery__pill{
	display:inline-block;
	max-width:100%;
	padding:2px 6px;
	border-radius:4px;
	font-size:9px;
	font-weight:800;
	line-height:1.35;
	letter-spacing:.02em;
	color:rgba(0,0,0,.72);
	background:rgba(255,255,255,.92);
	border:1px solid rgba(0,0,0,.1);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.nonalabo-workGallery__pill--genre{
	background:rgba(37,99,235,.08);
	border-color:rgba(37,99,235,.16);
	color:rgba(29,78,216,.9);
}
.nonalabo-workGallery__pill--verdict{
	background:rgba(0,0,0,.04);
	border-color:rgba(0,0,0,.08);
	font-size:8px;
}
.nonalabo-workGallery__pill--pick{
	background:rgba(37,99,235,.12);
	border-color:rgba(37,99,235,.22);
	color:rgba(29,78,216,.95);
}
.nonalabo-workGallery__pill--new{
	background:rgba(234,88,12,.1);
	border-color:rgba(234,88,12,.2);
	color:rgba(154,52,18,.95);
}
.nonalabo-workGallery__title{
	font-size:11px;
	font-weight:800;
	line-height:1.35;
	color:rgba(0,0,0,.88);
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow:hidden;
	word-break:break-word;
}

