/*
Theme Name: NTRism
Theme URI: https://ntrism.com/
Author: NTRism
Description: NTR・寝取られジャンル専門のエロ漫画サイト向けテーマ。作品をカスタム投稿タイプ manga として扱い、媒体／タグ／パロディ／キャラクター／シリーズ／サークル／作者の7タクソノミーで分類します。
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ntrism
Tags: two-columns, custom-menu, translation-ready
*/

/* ===== tokens ===== */
:root {
	color-scheme: dark;
	--bg: #0A0C14;
	--surface: #12152A;
	--surface2: #191D35;
	--hover: #20253F;
	--accent: #E8354E;
	--accent-h: #FF4562;
	--accent-sub: rgba(232, 53, 78, .12);
	--text: #E5E3F0;
	--sec: #8583A0;
	--tert: #4E4D68;
	--border: #222545;
	--tagbg: #1A1D35;
	--tagtx: #A8A6C0;
	--gold: #F0C050;
	--silver: #A0A8B8;
	--bronze: #C87850;
	--doujin: #4A9EDB;
	--shougyo: #C98A3C;
	--shadow: 0 8px 32px rgba(0, 0, 0, .5);
	--r: 6px;
	--r-lg: 10px;
	--maxw: 1240px;
	--gut: 20px;
	--hh: 56px;
	/* 表紙の比率。実際の同人誌（B5/A5）は約 1:1.41 なので 5/7 が近い */
	--cover-ratio: 3/4;
}

@media (prefers-color-scheme: light) {
	:root:not([data-theme="dark"]) {
		color-scheme: light;
		--bg: #F2F1F6;
		--surface: #FFF;
		--surface2: #FFF;
		--hover: #EEEDF5;
		--accent: #D01840;
		--accent-h: #E02850;
		--accent-sub: rgba(208, 24, 64, .07);
		--text: #18182E;
		--sec: #5A5880;
		--tert: #9090A8;
		--border: #DDDCE8;
		--tagbg: #ECEAF5;
		--tagtx: #4A4870;
		--doujin: #2B72A8;
		--shougyo: #9A6520;
		--shadow: 0 8px 32px rgba(0, 0, 0, .06);
	}
}

:root[data-theme="dark"] {
	color-scheme: dark;
	--bg: #0A0C14;
	--surface: #12152A;
	--surface2: #191D35;
	--hover: #20253F;
	--accent: #E8354E;
	--accent-h: #FF4562;
	--accent-sub: rgba(232, 53, 78, .12);
	--text: #E5E3F0;
	--sec: #8583A0;
	--tert: #4E4D68;
	--border: #222545;
	--tagbg: #1A1D35;
	--tagtx: #A8A6C0;
	--doujin: #4A9EDB;
	--shougyo: #C98A3C;
	--shadow: 0 8px 32px rgba(0, 0, 0, .5);
}

/* ===== base ===== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding-inline: var(--gut);
	font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
	font-size: 14px;
	line-height: 1.7;
	background: var(--bg);
	color: var(--text);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, p, ul, ol, figure {
	margin: 0;
}

ul, ol {
	list-style: none;
	padding: 0;
}

a {
	color: inherit;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

table {
	border-collapse: collapse;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 999;
	width: auto;
	height: auto;
	clip: auto;
	padding: 10px 18px;
	background: var(--accent);
	color: #fff;
	border-radius: var(--r);
}

:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* ===== header ===== */
.hdr {
	position: sticky;
	top: env(safe-area-inset-top, 0px);
	z-index: 100;
	margin-inline: calc(var(--gut) * -1);
	padding-inline: var(--gut);
	height: var(--hh);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: color-mix(in srgb, var(--bg) 84%, transparent);
	backdrop-filter: blur(18px) saturate(1.6);
	-webkit-backdrop-filter: blur(18px) saturate(1.6);
	border-bottom: 1px solid var(--border);
}

.logo {
	font-family: 'Bebas Neue', 'Noto Sans JP', sans-serif;
	font-size: 27px;
	letter-spacing: 2px;
	line-height: 1;
	text-decoration: none;
	flex-shrink: 0;
}

.logo i,
.ftr-brand i {
	color: var(--accent);
	font-style: normal;
}

.gnav {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
}

.gnav a {
	color: var(--sec);
	text-decoration: none;
	font-size: 12.5px;
	font-weight: 500;
	white-space: nowrap;
	transition: color .2s;
}

.gnav a:hover {
	color: var(--accent);
}

.hdr-r {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.ico-btn {
	border: 1px solid var(--border);
	color: var(--sec);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	transition: border-color .2s, color .2s;
}

.ico-btn:hover {
	border-color: var(--accent);
	color: var(--text);
}

.ico-btn svg {
	width: 15px;
	height: 15px;
}

.r18 {
	background: var(--accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 3px;
	letter-spacing: .5px;
}

.wrap {
	max-width: var(--maxw);
	margin: 0 auto;
}

/* ===== breadcrumb ===== */
.crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	font-size: 11.5px;
	color: var(--tert);
	padding-block: 16px 0;
}

.crumb a {
	color: var(--sec);
	text-decoration: none;
}

.crumb a:hover {
	color: var(--accent);
}

/* ===== intro ===== */
.intro {
	padding-block: 28px 0;
}

.intro-archive {
	padding-block: 14px 0;
}

.intro h1 {
	font-size: clamp(20px, 2.5vw, 27px);
	font-weight: 900;
	line-height: 1.4;
	text-wrap: balance;
	margin-bottom: 9px;
}

.intro h1 i {
	color: var(--accent);
	font-style: normal;
}

.intro p {
	color: var(--sec);
	font-size: 13px;
	line-height: 1.85;
	max-width: 70ch;
}

.intro p b {
	color: var(--text);
	font-weight: 700;
}

/* ===== search ===== */
.searchbox {
	display: flex;
	gap: 8px;
	margin-top: 18px;
	max-width: 520px;
}

.searchbox input[type="search"] {
	flex: 1;
	min-width: 0;
	font-family: inherit;
	font-size: 13px;
	background: var(--surface);
	color: var(--text);
	border: 1px solid var(--border);
	border-radius: var(--r);
	padding: 10px 14px;
}

.searchbox input::placeholder {
	color: var(--tert);
}

.searchbox button {
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	background: var(--accent);
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: var(--r);
	cursor: pointer;
	transition: background .2s;
}

.searchbox button:hover {
	background: var(--accent-h);
}

/* ===== section head ===== */
.sh {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin-top: 42px;
	margin-bottom: 16px;
	padding-bottom: 11px;
	border-bottom: 1px solid var(--border);
}

.sh h2 {
	font-size: 16.5px;
	font-weight: 900;
	display: flex;
	align-items: center;
	gap: 9px;
}

.sh h2::before {
	content: '';
	width: 3px;
	height: 16px;
	flex-shrink: 0;
	background: var(--accent);
	border-radius: 2px;
}

.sh .more {
	color: var(--sec);
	text-decoration: none;
	font-size: 12px;
	white-space: nowrap;
}

a.more:hover {
	color: var(--accent);
}

/* ===== card grid ===== */
.grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
}

.grid.g6 {
	grid-template-columns: repeat(6, 1fr);
}

.card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r);
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}

.card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow);
}

.card-cv {
	display: block;
	position: relative;
	aspect-ratio: var(--cover-ratio);
	background: var(--surface2);
	overflow: hidden;
}

.card-cv img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bd-new {
	position: absolute;
	top: 7px;
	left: 7px;
	z-index: 1;
	background: var(--accent);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 3px;
	letter-spacing: .6px;
}

.bd-media {
	position: absolute;
	top: 7px;
	right: 7px;
	z-index: 1;
	font-size: 9.5px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 3px;
	color: #fff;
}

.bd-media.doujinshi,
.mbadge.doujinshi {
	background: var(--doujin);
}

.bd-media.shougyoushi,
.mbadge.shougyoushi {
	background: var(--shougyo);
}

.card-b {
	padding: 9px 11px 11px;
}

.card-b h3 {
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 2px;
}

.card-b h3 a {
	text-decoration: none;
}

.card-b h3 a:hover {
	color: var(--accent);
}

.card-by {
	font-size: 10.5px;
	color: var(--sec);
	margin-bottom: 6px;
}

.card-by a {
	color: var(--sec);
	text-decoration: none;
}

.card-by a:hover {
	color: var(--accent);
}

.card-tg {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
}

.card-tg a {
	background: var(--tagbg);
	color: var(--tagtx);
	font-size: 9.5px;
	padding: 1px 6px;
	border-radius: 2px;
	text-decoration: none;
}

.card-tg a:hover {
	color: var(--accent);
}

/* ===== pills / namelist ===== */
.pills {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.pills a {
	background: var(--surface);
	color: var(--sec);
	border: 1px solid var(--border);
	padding: 6px 14px;
	border-radius: 18px;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	transition: all .2s;
	display: inline-block;
}

.pills a:hover {
	border-color: var(--accent);
	color: var(--text);
	background: var(--accent-sub);
}

.pills a b,
.namelist b {
	color: var(--tert);
	font-size: 10px;
	font-weight: 400;
	margin-left: 4px;
	font-variant-numeric: tabular-nums;
}

.namelist {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 9px;
}

.namelist a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 13px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r);
	font-size: 12.5px;
	text-decoration: none;
	transition: all .2s;
}

.namelist a:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.namelist b {
	margin-left: 0;
	flex-shrink: 0;
}

/* ===== ranking ===== */
.rank {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.rank > li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 13px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r);
	transition: background .2s;
}

.rank > li:hover {
	background: var(--hover);
}

.rank-n {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 25px;
	line-height: 1;
	width: 27px;
	text-align: center;
	flex-shrink: 0;
	color: var(--tert);
	font-variant-numeric: tabular-nums;
}

.rank-n.g, .w-rank .n.g { color: var(--gold); }
.rank-n.s, .w-rank .n.s { color: var(--silver); }
.rank-n.b, .w-rank .n.b { color: var(--bronze); }

.rank-th {
	width: 42px;
	height: 56px;
	border-radius: 4px;
	flex-shrink: 0;
	object-fit: cover;
	background: var(--surface2);
}

.rank-i {
	min-width: 0;
}

.rank-i h3 {
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rank-i h3 a {
	text-decoration: none;
}

.rank-i h3 a:hover {
	color: var(--accent);
}

.rank-m {
	font-size: 10.5px;
	color: var(--sec);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.rank-m .v {
	font-variant-numeric: tabular-nums;
}

/* ===== series list ===== */
.serieslist {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 11px;
}

.serieslist a {
	display: flex;
	gap: 13px;
	align-items: center;
	padding: 12px 14px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r);
	text-decoration: none;
	transition: all .2s;
}

.serieslist a:hover {
	border-color: var(--accent);
	background: var(--hover);
}

.serieslist .th {
	width: 44px;
	height: 59px;
	border-radius: 4px;
	flex-shrink: 0;
	object-fit: cover;
	background: var(--surface2);
}

.serieslist strong {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.serieslist span {
	font-size: 11px;
	color: var(--sec);
}

.serieslist .ct {
	color: var(--accent);
	font-weight: 700;
}

/* ===== promo ===== */
.promo {
	background: var(--surface);
	border: 1px solid var(--border);
	border-left: 3px solid var(--accent);
	border-radius: var(--r-lg);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.promo .lb {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--accent);
}

.promo h3 {
	font-size: 18px;
	font-weight: 900;
	line-height: 1.45;
}

.promo h3 a {
	text-decoration: none;
}

.promo h3 a:hover {
	color: var(--accent);
}

.promo p {
	font-size: 12.5px;
	color: var(--sec);
	line-height: 1.9;
	max-width: 72ch;
}

/* ===== 2col layout ===== */
.layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 296px;
	gap: 32px;
	align-items: start;
	margin-top: 8px;
}

.side {
	display: flex;
	flex-direction: column;
	gap: 22px;
	position: sticky;
	top: calc(var(--hh) + 16px);
}

.widget {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	padding: 17px;
}

.widget h2 {
	font-size: 13px;
	font-weight: 900;
	margin-bottom: 13px;
	padding-bottom: 9px;
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	gap: 8px;
}

.widget h2::before {
	content: '';
	width: 3px;
	height: 13px;
	flex-shrink: 0;
	background: var(--accent);
	border-radius: 2px;
}

.widget .searchbox {
	margin-top: 0;
	max-width: none;
	flex-direction: column;
}

.widget .searchbox button {
	width: 100%;
}

.w-rank {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.w-rank li {
	display: flex;
	gap: 10px;
	align-items: center;
}

.w-rank .n {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 19px;
	line-height: 1;
	width: 18px;
	text-align: center;
	flex-shrink: 0;
	color: var(--tert);
	font-variant-numeric: tabular-nums;
}

.w-rank .th {
	width: 32px;
	height: 43px;
	border-radius: 3px;
	flex-shrink: 0;
	object-fit: cover;
	background: var(--surface2);
}

.w-rank a {
	font-size: 11.5px;
	font-weight: 500;
	text-decoration: none;
	line-height: 1.45;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.w-rank a:hover {
	color: var(--accent);
}

.w-promo {
	background: linear-gradient(140deg, var(--accent) 0%, #8B1028 100%);
	border: none;
	color: #fff;
}

.w-promo h2 {
	color: #fff;
	border-color: rgba(255, 255, 255, .22);
}

.w-promo h2::before {
	background: #fff;
}

.w-promo p {
	font-size: 11.5px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .9);
	margin-bottom: 13px;
}

.w-promo .b {
	display: inline-block;
	background: #fff;
	color: #C42038;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 18px;
	border-radius: var(--r);
	text-decoration: none;
}

/* ===== work page ===== */
.work-head {
	padding-block: 14px 0;
}

.work-head h1 {
	font-size: clamp(20px, 2.6vw, 28px);
	font-weight: 900;
	line-height: 1.35;
	text-wrap: balance;
	margin-bottom: 9px;
}

.work-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 14px;
	font-size: 12.5px;
	color: var(--sec);
}

.work-meta a {
	color: var(--sec);
	text-decoration: none;
}

.work-meta a:hover {
	color: var(--accent);
}

.mbadge {
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 3px;
	color: #fff;
}

.pages {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 20px;
}

.pages .pg {
	width: 100%;
	height: auto;
	border-radius: 3px;
	background: var(--surface2);
}

.pg-note {
	text-align: center;
	font-size: 11.5px;
	color: var(--tert);
	padding: 14px 0;
	border-top: 1px dashed var(--border);
	margin-top: 6px;
}

.work-body {
	font-size: 13.5px;
	color: var(--sec);
	line-height: 1.9;
	margin-top: 16px;
}

/* ===== detail table ===== */
.dtable {
	width: 100%;
	font-size: 12.5px;
	margin-top: 4px;
}

.dtable th,
.dtable td {
	text-align: left;
	padding: 10px 13px;
	border-bottom: 1px solid var(--border);
	vertical-align: top;
}

.dtable th {
	width: 116px;
	font-weight: 700;
	color: var(--sec);
	background: var(--surface);
	white-space: nowrap;
}

.dtable td {
	background: var(--surface2);
}

.dtable tr:last-child th,
.dtable tr:last-child td {
	border-bottom: none;
}

.dtable a {
	color: var(--text);
	text-decoration: none;
	border-bottom: 1px solid var(--tert);
}

.dtable a:hover {
	color: var(--accent);
	border-color: var(--accent);
}

.inline-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.inline-tags a {
	background: var(--tagbg);
	color: var(--tagtx);
	border: none;
	font-size: 11px;
	padding: 2px 9px;
	border-radius: 3px;
}

/* ===== sort tabs / pagination ===== */
.sorttabs {
	display: flex;
	gap: 6px;
	margin-bottom: 15px;
	flex-wrap: wrap;
}

.sorttabs a {
	font-size: 12px;
	font-weight: 500;
	background: var(--surface);
	color: var(--sec);
	border: 1px solid var(--border);
	padding: 6px 16px;
	border-radius: 18px;
	text-decoration: none;
	transition: all .2s;
}

.sorttabs a:hover {
	border-color: var(--accent);
	color: var(--text);
}

.sorttabs a[aria-current="true"] {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

.pager {
	display: flex;
	justify-content: center;
	gap: 5px;
	margin-top: 26px;
	flex-wrap: wrap;
}

.pager .page-numbers {
	min-width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	font-size: 12.5px;
	border-radius: var(--r);
	text-decoration: none;
	background: var(--surface);
	border: 1px solid var(--border);
	font-variant-numeric: tabular-nums;
	padding-inline: 10px;
}

.pager a.page-numbers:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.pager .page-numbers.current {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
	font-weight: 700;
}

.pager .page-numbers.dots {
	background: none;
	border: none;
	color: var(--tert);
}

/* ===== page / article ===== */
.page-article {
	padding-block: 14px 0;
}

.page-article h1 {
	font-size: clamp(21px, 2.7vw, 29px);
	font-weight: 900;
	line-height: 1.4;
	text-wrap: balance;
	margin-bottom: 12px;
}

.entry {
	font-size: 14px;
	line-height: 1.95;
	margin-top: 18px;
}

.entry h2 {
	font-size: 18px;
	font-weight: 900;
	margin: 36px 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--border);
}

.entry h3 {
	font-size: 15.5px;
	font-weight: 700;
	margin: 26px 0 10px;
}

.entry p {
	margin-bottom: 16px;
}

.entry ul,
.entry ol {
	margin: 0 0 16px 1.4em;
	list-style: revert;
}

.entry li {
	margin-bottom: 6px;
}

.entry a {
	color: var(--accent);
}

.entry img {
	border-radius: var(--r);
	margin-block: 10px;
}

.card-text .card-b {
	padding: 14px;
}

/* ===== footer ===== */
.ftr {
	border-top: 1px solid var(--border);
	padding-block: 28px;
	margin-top: 52px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	flex-wrap: wrap;
}

.ftr-brand {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 21px;
	letter-spacing: 2px;
	margin-bottom: 7px;
}

.ftr p {
	font-size: 11.5px;
	color: var(--sec);
	max-width: 60ch;
	line-height: 1.85;
}

.ftr-nav {
	display: flex;
	gap: 8px 18px;
	flex-wrap: wrap;
}

.ftr-nav a,
.ftr-nav li a {
	color: var(--sec);
	text-decoration: none;
	font-size: 11.5px;
}

.ftr-nav a:hover {
	color: var(--accent);
}

.copy {
	width: 100%;
	text-align: center;
	color: var(--tert) !important;
	font-size: 10.5px !important;
	margin-top: 13px;
	padding-top: 13px;
	border-top: 1px solid var(--border);
	max-width: none !important;
}

/* ===== responsive ===== */
@media (max-width: 1080px) {
	.layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.side {
		position: static;
	}

	.grid.g6 {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 880px) {
	.gnav {
		display: none;
	}

	.grid,
	.grid.g6 {
		grid-template-columns: repeat(3, 1fr);
	}

	.namelist {
		grid-template-columns: repeat(2, 1fr);
	}

	.serieslist {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	:root {
		--gut: 16px;
	}

	.grid,
	.grid.g6 {
		grid-template-columns: repeat(2, 1fr);
		gap: 9px;
	}

	.namelist {
		grid-template-columns: 1fr;
	}

	.sh {
		margin-top: 32px;
	}

	.promo {
		padding: 17px;
	}

	.dtable th {
		width: 88px;
		padding: 9px 10px;
	}

	.dtable td {
		padding: 9px 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0s !important;
		animation-duration: 0s !important;
	}
}
