*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
:root {
	--bg: #f7f4f3;
	--fg: #3a2428;
	--card: #ffffff;
	--muted: #6a575c;
	--muted-bg: #f3eeed;
	--primary: #c94d5a;
	--primary-fg: #ffffff;
	--accent: #efe8e7;
	--accent-fg: #6b3540;
	--border: #e6dfdf;
	--glow: rgba(201, 77, 90, 0.22);
	--hero-1: rgba(255, 180, 186, 0.22);
	--hero-2: rgba(255, 170, 210, 0.18);
	--hero-3: rgba(255, 210, 170, 0.16);
	--pink-2: #d45d72;
	--ok: #2f9a6a;
	--glass: rgba(255, 255, 255, 0.88);
	--focus: rgba(201, 77, 90, 0.18);
	--card-shadow: rgba(80, 40, 50, 0.12);
	--ease: cubic-bezier(.16, 1, .3, 1);
	--t: .22s var(--ease);
}
html.dark {
	--bg: #1c1216;
	--fg: #f4ecee;
	--card: #2a1c22;
	--muted: #c4b0b4;
	--muted-bg: #3a2a30;
	--primary: #d66a74;
	--primary-fg: #1c1216;
	--accent: #3d2a30;
	--accent-fg: #f3e4e6;
	--border: rgba(255, 255, 255, 0.14);
	--glow: rgba(214, 106, 116, 0.28);
	--hero-1: rgba(180, 60, 80, 0.22);
	--hero-2: rgba(140, 40, 90, 0.18);
	--hero-3: rgba(90, 50, 120, 0.16);
	--pink-2: #e07a88;
	--ok: #4cba86;
	--glass: rgba(42, 28, 34, 0.92);
	--focus: rgba(214, 106, 116, 0.22);
	--card-shadow: rgba(0, 0, 0, 0.45);
	--ease: cubic-bezier(.16, 1, .3, 1);
	--t: .22s var(--ease);
}
body {
	margin: 0;
	min-height: 100vh;
	font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
	background: var(--bg);
	color: var(--fg);
	-webkit-transition: background-color .3s var(--ease), color .3s var(--ease);
	transition: background-color .3s var(--ease), color .3s var(--ease);
	background-image:
		radial-gradient(600px 400px at 8% -8%, var(--hero-1), transparent 60%),
		radial-gradient(520px 360px at 100% 0, var(--hero-2), transparent 58%);
	-webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
a, button, select, summary {
	-webkit-tap-highlight-color: transparent;
}
a:focus, button:focus, select:focus, summary:focus { outline: none; }
a:focus-visible, button:focus-visible, select:focus-visible, summary:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}
img { max-width: 100%; display: block; }
[x-cloak] { display: none !important; }
@keyframes anim-in {
	from { opacity: 0; -webkit-transform: translateY(16px); transform: translateY(16px); }
	to { opacity: 1; -webkit-transform: none; transform: none; }
}
@keyframes anim-rise {
	from { opacity: 0; -webkit-transform: translateY(10px); transform: translateY(10px); }
	to { opacity: 1; -webkit-transform: none; transform: none; }
}
@keyframes anim-pop {
	from { opacity: 0; -webkit-transform: translateY(14px) scale(.96); transform: translateY(14px) scale(.96); }
	to { opacity: 1; -webkit-transform: none; transform: none; }
}
@keyframes list-spin {
	to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes hero-ken {
	from { -webkit-transform: scale(1.06); transform: scale(1.06); }
	to { -webkit-transform: scale(1.14); transform: scale(1.14); }
}
.anim-in { -webkit-animation: anim-in .5s var(--ease) both; animation: anim-in .5s var(--ease) both; }
.anim-in-late { -webkit-animation: anim-in .55s .08s var(--ease) both; animation: anim-in .55s .08s var(--ease) both; }
.dark .icon-sun { display: none; }
html:not(.dark) .icon-moon { display: none; }

.text-gradient {
	color: var(--primary);
	background-image: linear-gradient(100deg, var(--primary), var(--pink-2));
	-webkit-background-clip: text;
	background-clip: text;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.text-gradient { color: transparent; }
}
.bg-hero-mesh {
	background-image:
		radial-gradient(380px 300px at 12% 20%, var(--hero-1), transparent 62%),
		radial-gradient(360px 280px at 88% 10%, var(--hero-2), transparent 60%),
		radial-gradient(400px 300px at 60% 120%, var(--hero-3), transparent 60%);
}
.shadow-glow { box-shadow: 0 24px 48px -16px var(--glow); }
.glass { background: var(--glass); }

.nav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid var(--border);
	background: var(--glass);
	-webkit-backdrop-filter: blur(22px) saturate(1.6);
	backdrop-filter: blur(22px) saturate(1.6);
	-webkit-transition: background-color .3s var(--ease), border-color .3s var(--ease);
	transition: background-color .3s var(--ease), border-color .3s var(--ease);
}
.nav-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding: 0 24px;
	height: 64px;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.nav-brand {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-right: 16px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -.03em;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.nav-back { margin-right: 16px; }
@media (min-width: 961px) {
	.nav-back { display: none !important; }
}
.nav-brand .nav-logo { margin-right: 10px; }
.nav-logo {
	width: 36px;
	height: 36px;
	border-radius: 12px;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	color: var(--primary-fg);
	background: linear-gradient(135deg, var(--primary), var(--pink-2));
	box-shadow: 0 10px 24px -10px var(--glow);
}
.foot .nav-logo {
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 10px;
	vertical-align: middle;
	margin-right: 8px;
	text-align: center;
	line-height: 28px;
}
.nav-links { display: -webkit-box; display: -webkit-flex; display: flex; }
.nav-links a {
	border-radius: 10px;
	padding: 8px 12px;
	margin-right: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--muted);
	-webkit-transition: background-color var(--t), color var(--t);
	transition: background-color var(--t), color var(--t);
}
.nav-links a:hover { background: var(--muted-bg); color: var(--fg); }
.nav-links a.is-on { background: var(--accent); color: var(--accent-fg); }
.nav-actions {
	margin-left: auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.nav-actions > * { margin-left: 8px; }
.tabbar-wrap { display: none; }

.wrap { max-width: 1152px; margin: 0 auto; padding: 28px 24px 64px; }
body.has-tab-shell:not(.is-shell-ready) .tab-panel { display: none; }
body.has-tab-shell:not(.is-shell-ready)[data-shell-tab="home"] .tab-panel[data-tab="home"],
body.has-tab-shell:not(.is-shell-ready)[data-shell-tab="apply"] .tab-panel[data-tab="apply"],
body.has-tab-shell:not(.is-shell-ready)[data-shell-tab="me"] .tab-panel[data-tab="me"] { display: block; }
body.has-tab-shell.is-shell-ready .tab-panel { animation: tab-panel-in .2s ease; }
body.has-tab-shell.is-shell-ready .tab-panel[hidden] { display: none !important; animation: none; }
@keyframes tab-panel-in {
	from { opacity: .92; }
	to { opacity: 1; }
}

.btn {
	display: inline-block;
	border: 0;
	background: none;
	cursor: pointer;
	border-radius: 999px;
	padding: 12px 14px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	vertical-align: middle;
	text-align: center;
	-webkit-transition: background-color var(--t), color var(--t), border-color var(--t), box-shadow var(--t), -webkit-transform var(--t);
	transition: background-color var(--t), color var(--t), border-color var(--t), box-shadow var(--t), transform var(--t);
}
.btn:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); }
.btn:active { -webkit-transform: translateY(0) scale(.98); transform: translateY(0) scale(.98); }
.btn-primary:hover { box-shadow: 0 10px 22px -10px var(--glow); }
.btn svg { vertical-align: middle; margin: -2px 4px 0 0; }
.btn-icon svg {
	width: 16px;
	height: 16px;
	margin: 0;
	display: block;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.btn-primary { background: var(--primary); color: var(--primary-fg); }
.btn-approve { background: #007aff; color: #fff; }
.btn-approve:hover { box-shadow: 0 10px 22px -10px rgba(0, 122, 255, .45); }
html.dark .btn-approve { background: #0a84ff; color: #fff; }
.btn-dup {
	background: color-mix(in srgb, #c94d5a 14%, var(--card));
	border: 1px solid color-mix(in srgb, #c94d5a 55%, var(--border));
	color: #b83a48;
	font-weight: 600;
}
.btn-dup:hover {
	background: color-mix(in srgb, #c94d5a 22%, var(--card));
	border-color: #c94d5a;
}
html.dark .btn-dup {
	color: #f0a0a8;
	background: color-mix(in srgb, #c94d5a 20%, var(--card));
}
.btn-outline {
	border: 1px solid var(--border);
	background: var(--glass);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	backdrop-filter: blur(16px) saturate(1.4);
}
.nav-actions .nav-me-btn { display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; }
.nav-actions .nav-me-btn.is-on { color: var(--primary); background: var(--focus); }
.nav-actions .nav-menu-btn { display: none; }
.btn-lg { padding: 12px 22px; font-size: 15px; }
.btn-icon {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	line-height: 0;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	backdrop-filter: blur(16px) saturate(1.4);
}
.btn-block { width: 100%; }

.pill {
	display: inline-block;
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 600;
	color: var(--muted);
	background: var(--glass);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	backdrop-filter: blur(16px) saturate(1.4);
}
.pill svg { vertical-align: middle; margin: -2px 6px 0 0; }

.hero {
	padding: 40px 36px;
	overflow: hidden;
	-webkit-animation: anim-in .5s var(--ease) both;
	animation: anim-in .5s var(--ease) both;
}
.hero.has-covers {
	min-height: 320px;
	padding: 48px 40px;
}
.hero-covers {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 72%;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	-webkit-mask-image: -webkit-linear-gradient(left, transparent 0%, rgba(0,0,0,.18) 28%, #000 62%, #000 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 28%, #000 62%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 28%, #000 62%, #000 100%);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}
.hero-mosaic {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: 1fr;
	width: 114%;
	height: 122%;
	margin-top: -6%;
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	-webkit-animation: hero-ken 22s ease-in-out alternate infinite;
	animation: hero-ken 22s ease-in-out alternate infinite;
}
.hero-covers[data-n="1"] .hero-mosaic,
.hero-covers[data-n="2"] .hero-mosaic {
	grid-template-columns: 1fr;
}
.hero-covers:not([data-n="1"]):not([data-n="2"]) .hero-cover:last-child:nth-child(odd) {
	grid-column: 1 / span 2;
}
.hero-covers[data-n="6"] .hero-mosaic {
	grid-template-columns: 1fr 1fr 1fr;
}
.hero-cover {
	display: block;
	position: relative;
	overflow: hidden;
	height: 100%;
	min-height: 0;
	pointer-events: auto;
}
.hero-cover img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	-webkit-transition: -webkit-transform .5s var(--ease);
	transition: transform .5s var(--ease);
}
.hero-cover:hover img { -webkit-transform: scale(1.04); transform: scale(1.04); }
.hero-grid {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.hero-copy {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	width: 100%;
}
.hero.has-covers .hero-copy { max-width: 34em; }
.hero h1 {
	margin: 18px 0 0;
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: 1.08;
}
.hero-copy p, .lead, .form-hero p {
	color: var(--muted);
	font-size: 17px;
	line-height: 1.6;
	margin: 16px 0 0;
	max-width: 28em;
}
.hero-actions { margin-top: 28px; }
.hero-actions .btn { margin: 0 12px 12px 0; }
.stat-cards div, .tips div, .admin-card {
	border: 1px solid var(--border);
	background: var(--glass);
	border-radius: 16px;
	padding: 14px;
}
.stat-cards span { font-size: 11px; font-weight: 600; color: var(--muted); }
.stat-cards strong {
	margin: 4px 0 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -.03em;
}

.library { padding: 48px 0 0; -webkit-animation: anim-in .55s .08s var(--ease) both; animation: anim-in .55s .08s var(--ease) both; }
.section-head { margin-bottom: 28px; overflow: hidden; }
.section-bar {
	float: left;
	width: 6px;
	height: 36px;
	margin-right: 12px;
	border-radius: 999px;
	background: linear-gradient(to bottom, var(--primary), var(--pink-2));
}
.section-head h2, .block h2, .form-hero h1, .admin h1 {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -.03em;
}
.form-hero .pill { margin-bottom: 14px; }
.section-head p { margin: 2px 0 0; font-size: 14px; color: var(--muted); }

.browser-bar { margin-bottom: 16px; }
.browser-bar::after { content: ''; display: table; clear: both; }
.search { position: relative; }
.search > svg { position: absolute; left: 14px; top: 50%; margin-top: -8px; color: var(--muted); pointer-events: none; }
.search input, .field input[type="text"], .field textarea, .title-row input, .admin-inline input, .admin-inline select {
	width: 100%;
	border: 1px solid var(--border);
	background: var(--card);
	border-radius: 999px;
	padding: 12px 16px;
	outline: none;
	-webkit-transition: border-color var(--t), box-shadow var(--t), background-color var(--t);
	transition: border-color var(--t), box-shadow var(--t), background-color var(--t);
}
.search input, .filter-toggle {
	height: 44px;
	font-size: 14px;
	line-height: 20px;
}
.search input {
	padding: 0 84px 0 40px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	backdrop-filter: blur(18px) saturate(1.4);
}
.search input:focus,
.search input:focus-visible {
	outline: none;
	border-color: var(--border);
	box-shadow: none;
}
.field input:focus, .field textarea:focus, .title-row input:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 4px var(--focus);
}
.search-go {
	position: absolute;
	right: 4px;
	top: 4px;
	height: 36px;
	padding: 0 16px;
	font-size: 13px;
	line-height: 36px;
}
.search-go:hover { -webkit-transform: none; transform: none; }
.browser-tools { margin-top: 10px; }
.filter-toggle { display: none; padding: 0 16px; vertical-align: middle; }
.game-pick {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	font-size: 13px;
	font-weight: 500;
	color: var(--muted);
}
.game-pick-trigger {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	cursor: pointer;
	margin: 0;
	border: 0;
	font: inherit;
	color: inherit;
	background: transparent;
	-webkit-tap-highlight-color: transparent;
}
.game-pick-trigger span { white-space: nowrap; }
.game-pick-trigger svg {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin-left: 4px;
	opacity: .55;
}
.game-pick-menu {
	position: absolute;
	z-index: 30;
	top: calc(100% + 6px);
	left: 0;
	min-width: 132px;
	padding: 6px;
	border-radius: 14px;
	border: 1px solid var(--border);
	background: var(--bg);
	box-shadow: 0 8px 28px rgba(40, 20, 24, .12);
}
.game-pick-menu button {
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	text-align: left;
	color: var(--fg);
	cursor: pointer;
}
.game-pick-menu button.is-on { color: var(--primary); font-weight: 600; }
.game-pick-menu button:hover { background: var(--muted-bg); }
.game-pick-gap {
	display: block;
	padding: 4px 12px;
	color: var(--muted);
	font-weight: 600;
	text-align: left;
}
.game-pick--toolbar {
	margin-right: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--fg);
}
.game-pick--toolbar .game-pick-trigger {
	height: 44px;
	padding: 0 20px 0 16px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--card);
	color: var(--fg);
}
.game-pick--toolbar .game-pick-trigger svg { margin-left: 6px; }
.game-pick--compact { -webkit-flex-shrink: 0; flex-shrink: 0; }
.game-pick--compact .game-pick-trigger {
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--muted-bg);
	color: var(--fg);
}

.filters {
	display: block;
	border: 1px solid var(--border);
	background: var(--glass);
	-webkit-backdrop-filter: blur(22px) saturate(1.4);
	backdrop-filter: blur(22px) saturate(1.4);
	border-radius: 24px;
	padding: 20px 22px 12px;
	margin-bottom: 16px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
.filter-bar {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-bottom: 16px;
}
.filter-mode {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.filter-hint {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0 0 0 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: none;
	color: var(--muted);
	cursor: pointer;
}
.filter-hint svg { display: block; }
.filter-hint:hover { color: var(--primary); }
.filter-submit { margin: 8px 0 4px; text-align: right; }
.filter-submit .btn[disabled] { opacity: .45; pointer-events: none; }
.filter-group {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin-bottom: 10px;
}
.filter-label {
	width: 4.6em;
	margin: 6px 10px 0 0;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--muted);
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	line-height: 1.3;
}
.filter-group .chips { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; min-width: 0; }
.filter-chips {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	position: relative;
	overflow: hidden;
	max-height: 28px;
}
.filter-chips .chip {
	line-height: 20px;
	padding-top: 4px;
	padding-bottom: 4px;
	margin-bottom: 6px;
}
.filter-chips::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 48px;
	height: 100%;
	background: linear-gradient(90deg, transparent, var(--card));
	pointer-events: none;
}
.filter-group.is-open .filter-chips {
	max-height: none;
	overflow: visible;
}
.filter-group.is-open .filter-chips::after,
.filter-group.no-overflow .filter-chips::after { display: none; }
.filter-more {
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}
.filter-group:not(.is-open) .filter-more {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	height: 28px;
	padding-left: 8px;
	line-height: 28px;
	background: var(--card);
}
.filter-group.is-open .filter-more {
	position: static;
	display: inline-block;
	height: auto;
	margin: 0 0 5px;
	padding: 6px 4px;
	line-height: 1.2;
	vertical-align: top;
}
.modal-card .filter-group { display: block; }
.modal-card .filter-label { width: auto; margin: 0 0 8px; }
.chip {
	display: inline-block;
	border: 0;
	background: var(--muted-bg);
	color: var(--muted);
	border-radius: 999px;
	padding: 6px 12px;
	margin: 0 8px 5px 0;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	-webkit-transition: background-color var(--t), color var(--t), box-shadow var(--t), -webkit-transform var(--t);
	transition: background-color var(--t), color var(--t), box-shadow var(--t), transform var(--t);
}
.chip:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); }
.chip:active { -webkit-transform: scale(.96); transform: scale(.96); }
.chip.is-on {
	background: var(--primary);
	color: var(--primary-fg);
}
.chips.pick .chip { position: relative; padding: 0; background: transparent; box-shadow: none; }
.chips.pick .chip span {
	display: inline-block;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--muted-bg);
	color: var(--muted);
}
.chips.pick .chip input:checked + span {
	background: var(--primary);
	color: var(--primary-fg);
}
.chip input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.chips.readonly .chip { cursor: default; }
.chips.readonly .chip:hover,
.chips.readonly .chip:active {
	-webkit-transform: none;
	transform: none;
}
.seg {
	position: relative;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	background: var(--muted-bg);
	border-radius: 999px;
	padding: 3px;
}
.seg::before {
	content: "";
	position: absolute;
	top: 3px;
	bottom: 3px;
	left: 3px;
	width: calc(50% - 3px);
	border-radius: 999px;
	background: var(--card);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
	pointer-events: none;
	-webkit-transition: -webkit-transform .32s var(--ease);
	transition: transform .32s var(--ease);
}
.seg.is-and::before {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
.seg-btn {
	position: relative;
	z-index: 1;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	border: 0;
	background: none;
	border-radius: 999px;
	padding: 7px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--muted);
	cursor: pointer;
	-webkit-transition: color var(--t);
	transition: color var(--t);
}
.seg-btn.is-on { color: var(--fg); }
.link-btn { border: 0; background: none; color: var(--primary); font-weight: 700; cursor: pointer; font-size: 14px; -webkit-transition: opacity var(--t); transition: opacity var(--t); }
.link-btn:hover { opacity: .7; }
.result-meta { color: var(--muted); font-size: 14px; margin: 8px 0 16px; }
.result-meta strong { color: var(--fg); }
.result-clear {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin: 0 0 0 4px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--primary);
	color: var(--primary-fg);
	vertical-align: -2px;
	cursor: pointer;
}
.result-clear svg { display: block; margin: 0; }
.list-status {
	color: var(--muted);
	text-align: center;
	padding: 56px 16px;
	font-size: 14px;
}
.list-spinner {
	display: block;
	width: 28px;
	height: 28px;
	margin: 0 auto 12px;
	border: 2px solid var(--border);
	border-top-color: var(--primary);
	border-radius: 50%;
	-webkit-animation: list-spin .7s linear infinite;
	animation: list-spin .7s linear infinite;
}

.grid { margin: 0 -8px; overflow: hidden; }
.card {
	float: left;
	width: 33.33%;
	padding: 0 10px;
	margin-bottom: 20px;
	-webkit-animation: anim-rise .4s var(--ease) both;
	animation: anim-rise .4s var(--ease) both;
}
.card-inner {
	display: block;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 24px;
	background: var(--card);
	box-shadow: 0 16px 40px -24px var(--card-shadow);
	-webkit-transition: -webkit-transform .28s var(--ease), box-shadow .28s var(--ease);
	transition: transform .28s var(--ease), box-shadow .28s var(--ease);
}
.card:hover .card-inner { -webkit-transform: translateY(-4px); transform: translateY(-4px); box-shadow: 0 24px 48px -20px var(--card-shadow); }
.grid .card:nth-child(2) { -webkit-animation-delay: .05s; animation-delay: .05s; }
.grid .card:nth-child(3) { -webkit-animation-delay: .1s; animation-delay: .1s; }
.grid .card:nth-child(4) { -webkit-animation-delay: .15s; animation-delay: .15s; }
.grid .card:nth-child(5) { -webkit-animation-delay: .18s; animation-delay: .18s; }
.grid .card:nth-child(6) { -webkit-animation-delay: .21s; animation-delay: .21s; }
.grid .card:nth-child(7) { -webkit-animation-delay: .24s; animation-delay: .24s; }
.grid .card:nth-child(8) { -webkit-animation-delay: .27s; animation-delay: .27s; }
.card-cover {
	position: relative;
	height: 0;
	padding-bottom: 62.5%;
	overflow: hidden;
	background: var(--muted-bg);
}
.card-cover img {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: -webkit-transform .5s var(--ease);
	transition: transform .5s var(--ease);
}
.card:hover .card-cover img { -webkit-transform: scale(1.04); transform: scale(1.04); }
.card-rate {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 1;
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: #fff;
	background: rgba(0, 0, 0, .68);
	border: 1px solid rgba(255, 255, 255, .16);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
	backdrop-filter: blur(16px) saturate(1.3);
}
.card-meta { padding: 12px 14px 14px; }
.card-kicker {
	margin: 6px 0 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1.2;
	color: var(--muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.card-kind.is-dot::before,
.card-hash.is-dot::before {
	content: ' · ';
	opacity: .45;
}
.card-hash span + span { margin-left: 8px; }
.card-dev {
	display: block;
	width: 13px;
	height: 13px;
	margin: 0 5px 0 0;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	font-style: normal;
	line-height: 0;
	background: var(--muted);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.card-dev.is-ios {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 2.5h8A2.5 2.5 0 0 1 18.5 5v14A2.5 2.5 0 0 1 16 21.5H8A2.5 2.5 0 0 1 5.5 19V5A2.5 2.5 0 0 1 8 2.5zm3.2 1.4a.6.6 0 0 0 0 1.2h1.6a.6.6 0 0 0 0-1.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 2.5h8A2.5 2.5 0 0 1 18.5 5v14A2.5 2.5 0 0 1 16 21.5H8A2.5 2.5 0 0 1 5.5 19V5A2.5 2.5 0 0 1 8 2.5zm3.2 1.4a.6.6 0 0 0 0 1.2h1.6a.6.6 0 0 0 0-1.2z'/%3E%3C/svg%3E");
}
.card-dev.is-android {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 6.8a4 4 0 1 1 8 0V8H8V6.8zM6.5 9h11v8.2A2.2 2.2 0 0 1 15.3 19.4H8.7A2.2 2.2 0 0 1 6.5 17.2V9zM4 10.6h2v5H4zm14 0h2v5h-2zM9.1 19.6h1.8V22H9.1zm3.9 0h1.8V22h-1.8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 6.8a4 4 0 1 1 8 0V8H8V6.8zM6.5 9h11v8.2A2.2 2.2 0 0 1 15.3 19.4H8.7A2.2 2.2 0 0 1 6.5 17.2V9zM4 10.6h2v5H4zm14 0h2v5h-2zM9.1 19.6h1.8V22H9.1zm3.9 0h1.8V22h-1.8z'/%3E%3C/svg%3E");
}
.card-dev.is-win {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3zm10 0h8v8h-8zM3 13h8v8H3zm10 0h8v8h-8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3zm10 0h8v8h-8zM3 13h8v8H3zm10 0h8v8h-8z'/%3E%3C/svg%3E");
}
.card-dev.is-mac {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16a1.5 1.5 0 0 1 1.5 1.5V16H2.5V6.5A1.5 1.5 0 0 1 4 5zm-2.5 12h21v2.2H1.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16a1.5 1.5 0 0 1 1.5 1.5V16H2.5V6.5A1.5 1.5 0 0 1 4 5zm-2.5 12h21v2.2H1.5z'/%3E%3C/svg%3E");
}
.card-dev.is-h5 {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 18.152l-3.108-1.058L8.124 9.36H12V7.74H7.824L7.452 4.42 12 3.408l4.548 1.012-.372 3.33H12v1.62h3.876l-.864 7.734L12 18.152M19.368 2.856H4.632L3.578 14.142 12 16.08l8.422-1.938L19.368 2.856Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 18.152l-3.108-1.058L8.124 9.36H12V7.74H7.824L7.452 4.42 12 3.408l4.548 1.012-.372 3.33H12v1.62h3.876l-.864 7.734L12 18.152M19.368 2.856H4.632L3.578 14.142 12 16.08l8.422-1.938L19.368 2.856Z'/%3E%3C/svg%3E");
}
.card-meta h3 {
	margin: 5px 0 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.22;
	color: var(--fg);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.card-meta h3:first-child { margin-top: 0; }
.card-hash {
	font-weight: 400;
	letter-spacing: -.01em;
}
.card-foot {
	margin: 8px 0 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--muted);
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.card-foot > span + span { margin-left: 10px; }
.card-foot svg {
	margin-right: 3px;
	vertical-align: -2px;
}

.empty, .muted { color: var(--muted); }
.pager { text-align: center; margin-top: 36px; clear: both; }
.pager-item { display: inline-block; }
.pager-pick { display: none; }
.pager > button, .pager-item button, .pager-gap {
	border: 1px solid var(--border);
	background: var(--glass);
	border-radius: 999px;
	min-width: 36px;
	padding: 8px 12px;
	margin: 0 4px 8px;
	cursor: pointer;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	-webkit-transition: background-color var(--t), color var(--t), border-color var(--t), -webkit-transform var(--t);
	transition: background-color var(--t), color var(--t), border-color var(--t), transform var(--t);
}
.pager-gap {
	border-color: transparent;
	background: transparent;
	cursor: default;
	color: var(--muted);
	font-weight: 600;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.pager > button:hover, .pager-item button:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); }
.pager-item button.is-on { background: var(--primary); color: var(--primary-fg); border-color: var(--primary); }
.pager-pick .game-pick-menu {
	top: auto;
	bottom: calc(100% + 6px);
	left: 50%;
	right: auto;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	max-height: 240px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.crumb { padding: 8px 0 20px; font-size: 14px; color: var(--muted); }
.crumb a, .crumb span, .crumb strong { margin-right: 6px; }
.crumb a, .back-link, .foot-links a { -webkit-transition: color var(--t); transition: color var(--t); }
.crumb a:hover, .back-link:hover, .foot-links a:hover { color: var(--primary); }
.crumb strong { color: var(--fg); font-weight: 600; }
.back-link { display: inline-block; margin-bottom: 12px; font-size: 14px; font-weight: 700; color: var(--muted); }

.glass-pane {
	position: relative;
	border: 1px solid var(--border);
	border-radius: 28px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(22px) saturate(1.45);
	backdrop-filter: blur(22px) saturate(1.45);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.46), 0 24px 48px -28px var(--card-shadow);
	overflow: hidden;
}
html.dark .glass-pane { box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 48px -28px var(--card-shadow); }
.glass-pane::before {
	content: "";
	position: absolute;
	top: 0; right: 0; left: 0;
	height: 42%;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(255,255,255,.22), transparent);
}
html.dark .glass-pane::before { background: linear-gradient(180deg, rgba(255,255,255,.06), transparent); }
.glass-pane > *:not(.hero-covers) { position: relative; z-index: 1; }
.hero.glass-pane { overflow: hidden; }
.hero.has-covers.glass-pane::before { display: none; }

.detail-top, .detail-split {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-animation: anim-in .5s var(--ease) both;
	animation: anim-in .5s var(--ease) both;
}
.detail-split {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin-top: 28px;
	-webkit-animation-delay: .08s;
	animation-delay: .08s;
}
.gallery, .detail-main {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	margin-right: 24px;
}
.detail-main .detail-story,
.detail-main .content-gallery { margin-right: 0; }
.detail-main .detail-story + .content-gallery { margin-top: 20px; }
.detail-meta, .detail-rate {
	width: 36%;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	min-width: 0;
}
.gallery {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.gallery-stage {
	position: relative;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-height: 320px;
	-webkit-user-select: none;
	user-select: none;
}
.gallery-stage.is-empty {
	height: auto;
	padding: 80px 24px;
	text-align: center;
	border: 1px dashed var(--border);
	border-radius: 28px;
	background: var(--glass);
}
.gslide {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	margin: 0;
	border-radius: 28px;
	overflow: hidden;
	border: 1px solid var(--border);
	background: var(--muted-bg);
	box-shadow: 0 28px 56px -24px var(--glow);
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity .4s var(--ease);
	transition: opacity .4s var(--ease);
}
.gslide.is-on { z-index: 2; opacity: 1; pointer-events: auto; }
.gslide-fill:not([src]) { visibility: hidden; }
.gslide-photo:not([src]) { visibility: hidden; }
.gslide-fill {
	position: absolute;
	top: -40px; right: -40px; bottom: -40px; left: -40px;
	width: auto;
	max-width: none;
	height: auto;
	object-fit: cover;
	-webkit-filter: blur(48px) saturate(1.35);
	filter: blur(48px) saturate(1.35);
	opacity: .55;
	pointer-events: none;
}
.gslide-photo {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	cursor: zoom-in;
}
.gslide-wait {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 3;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	background: rgba(0, 0, 0, .4);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	pointer-events: none;
}
.gallery-bar {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-top: 12px;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.gallery-nav {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--glass);
	color: var(--fg);
	cursor: pointer;
	line-height: 30px;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	-webkit-appearance: none;
	appearance: none;
	-webkit-backdrop-filter: blur(16px) saturate(1.5);
	backdrop-filter: blur(16px) saturate(1.5);
}
.gallery-nav svg { vertical-align: middle; }
.gallery-thumbs {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	margin: 0 8px;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.gallery-thumbs::-webkit-scrollbar { display: none; }
.gthumb {
	display: inline-block;
	width: 58px;
	height: 44px;
	padding: 0;
	margin: 0 6px 0 0;
	border: 2px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	background: var(--muted-bg);
	opacity: .5;
	cursor: pointer;
	vertical-align: middle;
	-webkit-appearance: none;
	appearance: none;
	-webkit-transition: opacity var(--t), border-color var(--t);
	transition: opacity var(--t), border-color var(--t);
}
.gthumb.is-on { opacity: 1; border-color: var(--primary); }
.gthumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gthumb img:not([src]) { visibility: hidden; }

.detail-meta {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 28px 26px 24px;
}
.detail-meta h1 {
	margin: 0;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1.18;
}
.detail-meta .subhead {
	margin: 8px 0 0;
	font-size: 17px;
	font-weight: 400;
	color: var(--muted);
}
.detail-meta .aka {
	margin: 6px 0 0;
	font-size: 13px;
	color: var(--muted);
}
.detail-meta .aka em { font-weight: 500; }
.meta-line {
	margin: 10px 0 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--muted);
	letter-spacing: -.01em;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.meta-line span + span:before {
	content: '·';
	margin: 0 7px;
	opacity: .45;
}
.meta-tags-wrap {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-height: 0;
	margin-top: 22px;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.meta-tags {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-height: 0;
	overflow: hidden;
	border-top: 1px solid var(--border);
}
.meta-tags.is-open {
	-webkit-flex: none;
	flex: none;
	overflow: visible;
}
.meta-tag-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: baseline;
	-webkit-align-items: baseline;
	align-items: baseline;
	padding: 8px 0;
	border-bottom: 1px solid var(--border);
	font-size: 14px;
	line-height: 1.45;
}
.meta-k {
	width: 5em;
	padding-top: 0;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--muted);
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	line-height: 1.45;
}
.meta-tag-row:last-child { border-bottom: 0; }
.meta-v {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	color: var(--fg);
	font-weight: 400;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.meta-v .card-dev {
	display: inline-block;
	width: 14px;
	height: 14px;
	vertical-align: -2px;
	margin: 0 4px 0 0;
	background: currentColor;
}
.meta-tags.is-open .meta-v { white-space: normal; }
.meta-more {
	margin-top: 10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	text-align: left;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.detail-cta {
	padding-top: 20px;
	border-top: 1px solid var(--border);
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.detail-cta .btn { margin: 0; }
.detail-cta .btn-primary { font-weight: 600; }
.detail-cta-primary {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.detail-cta-primary .btn-primary {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
}
.detail-cta .btn.detail-fav-btn {
	width: 44px;
	height: 44px;
	min-width: 44px;
	margin-left: 12px;
	border-color: transparent;
	background: var(--muted-bg);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.detail-cta .btn.detail-fav-btn svg {
	width: 18px;
	height: 18px;
	margin: 0;
}
.detail-cta .btn.detail-fav-btn.is-faved { color: var(--primary); background: var(--accent); }
.detail-cta-links {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-top: 14px;
	text-align: center;
}
.detail-link-sep {
	margin: 0 7px;
	font-size: 13px;
	line-height: 1;
	color: var(--muted);
	opacity: .45;
	-webkit-user-select: none;
	user-select: none;
}
.detail-cta-primary + .detail-cta-links,
.detail-cta .muted + .detail-cta-links { margin-top: 14px; }
.detail-link {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	-webkit-transition: color var(--t) var(--ease);
	transition: color var(--t) var(--ease);
}
.detail-link:hover { color: var(--primary); }
.detail-link:disabled { opacity: .45; cursor: default; }
.detail-link svg {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin-right: 6px;
}
.btn.is-faved { color: var(--primary); background: var(--accent); }
.rate-head .pill { margin: 0; }

.detail-story { padding: 28px; }
.detail-rate {
	padding: 24px;
	position: -webkit-sticky;
	position: sticky;
	top: 80px;
}
.detail-story h2, .detail-rate h2, .block h2 {
	position: relative;
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.03em;
}
.detail-story h2.is-next { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--border); }
.prose { position: relative; font-size: 16px; line-height: 1.75; margin: 14px 0 0; }
.stat-cards { margin-top: 32px; overflow: hidden; clear: both; }
.stat-cards div {
	float: left;
	width: 23%;
	margin: 0 2% 12px 0;
	-webkit-animation: anim-rise .4s var(--ease) both;
	animation: anim-rise .4s var(--ease) both;
}
.stat-cards div:nth-child(2) { -webkit-animation-delay: .06s; animation-delay: .06s; }
.stat-cards div:nth-child(3) { -webkit-animation-delay: .12s; animation-delay: .12s; }
.stat-cards div:nth-child(4) { -webkit-animation-delay: .18s; animation-delay: .18s; }
.stat-cards div:nth-child(4n) { margin-right: 0; }
.block { margin-top: 40px; clear: both; -webkit-animation: anim-in .45s .1s var(--ease) both; animation: anim-in .45s .1s var(--ease) both; }
.block > h2 { margin-bottom: 16px; font-size: 20px; }

.rate-head {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.rate-head h2 { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; }
.rate-head .btn { -webkit-flex-shrink: 0; flex-shrink: 0; padding: 6px 12px; font-size: 13px; }
.rate-score {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin: 16px 0 8px;
}
.rate-score strong {
	margin-right: 14px;
	font-size: 52px;
	font-weight: 800;
	letter-spacing: -.06em;
	line-height: 1;
}
.rate-stars { margin: 0; color: #e8a317; letter-spacing: 2px; font-size: 15px; }
.rate-form { margin: 0; padding: 0; border: 0; }
.rate-pick { margin: 0; }
.rate-pick button {
	padding: 0 3px;
	border: 0;
	background: none;
	color: var(--muted);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	letter-spacing: 2px;
}
.rate-pick button.is-on { color: #e8a317; }
.rate-hint { margin: 8px 0 0; font-size: 12px; }
.rate-mine { margin: 12px 0 0; font-size: 14px; line-height: 1.6; white-space: pre-wrap; word-break: break-word; }
.rate-form .field { margin-top: 10px; }
.rate-form textarea { min-height: 88px; width: 100%; }
.rate-form .btn { margin-top: 10px; }
.rate-bars { list-style: none; margin: 8px 0 0; padding: 0; position: relative; }
.rate-bars li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin: 5px 0;
	font-size: 11px;
	font-weight: 700;
	color: var(--muted);
}
.rate-bars span { width: 14px; }
.rate-bars i {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	height: 6px;
	border-radius: 999px;
	background: var(--muted-bg);
	overflow: hidden;
}
.rate-bars b { display: block; height: 100%; background: var(--primary); border-radius: inherit; }
.rate-list { list-style: none; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--border); position: relative; }
.rate-list li + li { margin-top: 16px; }
.rate-comment-wrap { margin: 8px 0 0; }
.rate-comment {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	white-space: pre-wrap;
	word-break: break-word;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.rate-comment.is-open {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}
.rate-comment-more {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	color: var(--primary);
	cursor: pointer;
}
.rate-all-open { margin-top: 14px; }
.rate-list-modal { border-top: 0; padding-top: 0; margin-top: 0; }
.rate-all-meta { margin: 0 0 12px; font-size: 13px; }
.rate-all-more { text-align: center; padding: 16px 0 8px; }
.rate-all-loading { padding: 24px 0; }
.rate-user {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.rate-av {
	width: 36px;
	height: 36px;
	margin-right: 10px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--muted-bg);
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.rate-av img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.rate-user strong { display: block; font-size: 14px; }
.rate-user .muted { font-size: 12px; }

.contrib-block {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border);
}
.contrib-k {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 400;
	color: var(--muted);
}
.contrib-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.contrib-list li + li {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--border);
}
.contrib-items {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
}
a.contrib-user {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
a.contrib-user:hover strong { color: var(--primary); }
a.contrib-user .rate-av { -webkit-transition: opacity var(--t) var(--ease); transition: opacity var(--t) var(--ease); }
a.contrib-user:hover .rate-av { opacity: .88; }

.thread-pick-search.search {
	float: none;
	width: auto;
	margin: 0 0 12px;
}
.thread-list { list-style: none; padding: 0; margin: 0; }
.thread-list li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	min-width: 0;
}
.thread-list li + li { border-top: 1px solid var(--border); }
.thread-pick {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
	min-width: 0;
	width: auto;
	padding: 12px 0;
	border: 0;
	background: none;
	text-align: left;
	cursor: pointer;
	overflow: hidden;
}
.thread-pick:disabled { opacity: .55; cursor: default; }
.thread-list strong {
	display: block;
	min-width: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.3;
	overflow-wrap: break-word;
}
.thread-list .meta-line {
	margin: 3px 0 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.thread-act {
	margin: 0;
	padding: 12px 0 12px 12px;
	border: 0;
	background: none;
	color: var(--primary);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.thread-act:disabled { opacity: .55; }
.thread-contrib-note {
	display: block;
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--primary);
	letter-spacing: -.01em;
}
.thread-invalid-fold {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--border);
	text-align: center;
}
.thread-invalid-toggle {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin: 0;
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--primary);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	-webkit-transition: opacity var(--t);
	transition: opacity var(--t);
}
.thread-invalid-toggle:hover { opacity: .78; }
.thread-invalid-toggle svg {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin-left: 6px;
	vertical-align: middle;
	-webkit-transition: -webkit-transform var(--t);
	transition: transform var(--t);
}
.thread-invalid-toggle.is-open svg {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.thread-list-invalid { margin: 0 0 12px; text-align: left; }
.thread-list-invalid .thread-pick strong { color: var(--muted); font-weight: 500; }
.thread-suggest-lead {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--muted);
}
.thread-suggest-lead.is-follow { margin-top: 18px; }
.modal-head .btn-outline { padding: 10px 12px; font-size: 13px; margin-right: 8px; }
.detail-related .section-head { margin-bottom: 16px; }
.modal.is-zoom {
	z-index: 80;
	padding: 0;
	top: 0; right: 0; bottom: 0; left: 0;
}
.modal.is-zoom .modal-scrim { background: rgba(0, 0, 0, .92); }
.zoom-photo {
	position: relative;
	z-index: 1;
	max-width: 100vw;
	max-height: 100vh;
	width: auto;
	height: auto;
	object-fit: contain;
	cursor: zoom-out;
}
.modal.is-zoom .gallery-nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	margin-top: -16px;
	width: 40px;
	height: 40px;
	line-height: 38px;
	background: var(--glass);
}
.modal.is-zoom .gallery-nav.is-prev { left: 16px; }
.modal.is-zoom .gallery-nav.is-next { right: 16px; }
.zoom-close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
}

.form-wrap { max-width: 850px; }
.form-hero { text-align: center; padding: 4px 0 12px; -webkit-animation: anim-in .45s var(--ease) both; animation: anim-in .45s var(--ease) both; }
.form-hero p { margin-left: auto; margin-right: auto; }
.tips { margin: 24px 0; overflow: hidden; }
.tips div {
	float: left;
	width: 31%;
	margin: 0 3.5% 12px 0;
}
.tips div:last-child { margin-right: 0; }
.tips strong { display: block; margin-bottom: 4px; }
.tips span { font-size: 12px; color: var(--muted); }
.form-card fieldset, .apply-card {
	border: 1px solid var(--border);
	background: var(--glass);
	border-radius: 28px;
	padding: 8px 28px 24px;
	margin: 12px 0 0;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 24px 48px -28px var(--card-shadow);
	-webkit-animation: anim-in .5s .06s var(--ease) both;
	animation: anim-in .5s .06s var(--ease) both;
}
.form-card legend { padding: 0 8px; font-size: 13px; font-weight: 800; color: var(--primary); }
.apply-sec { padding: 26px 0; border-top: 1px solid var(--border); }
.apply-sec:first-of-type { border-top: 0; }
.apply-head {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 16px;
}
.apply-n {
	width: 28px;
	height: 28px;
	margin-right: 12px;
	border-radius: 50%;
	background: var(--muted-bg);
	color: var(--primary);
	box-shadow: inset 0 0 0 1px var(--border);
	font-size: 13px;
	font-weight: 800;
	line-height: 28px;
	text-align: center;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.apply-head h2 { margin: 0; font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
.apply-head p { margin: 2px 0 0; font-size: 12px; color: var(--muted); }
.apply-head em { color: var(--primary); font-style: normal; }
.apply-note {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 18px 0 8px;
	padding: 14px 16px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: var(--accent);
	font-size: 13px;
	line-height: 1.6;
}
.apply-note svg {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin: 2px 10px 0 0;
	color: var(--primary);
}
.apply-note strong { display: block; margin-bottom: 2px; color: var(--accent-fg); font-size: 14px; }
.apply-note p { margin: 0; color: var(--muted); }
.similar-panel {
	margin: 10px 0 4px;
	padding: 14px 16px;
	border: 1px solid color-mix(in srgb, var(--primary) 35%, var(--border));
	border-radius: 16px;
	background: color-mix(in srgb, var(--primary) 6%, var(--muted-bg));
}
.similar-lead {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--fg);
}
.similar-dup {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--accent-fg);
	white-space: pre-line;
}
.similar-list {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}
.similar-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--border);
}
.similar-item:first-child { border-top: 0; padding-top: 0; }
.similar-item-main {
	min-width: 0;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}
.similar-item-main strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	word-break: break-word;
}
.similar-item-main .muted { font-size: 12px; margin-top: 2px; display: block; }
.similar-item-actions {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	gap: 8px;
}
.similar-item-actions .btn {
	padding: 6px 12px;
	font-size: 13px;
	white-space: nowrap;
}
.similar-foot {
	margin: 0;
	font-size: 12px;
	line-height: 1.65;
	color: var(--muted);
}
.similar-foot strong { color: var(--fg); font-weight: 600; }
.title-guide {
	margin: 12px 0 4px;
	padding: 14px 16px 12px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: var(--muted-bg);
}
.title-guide-lead {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--muted);
}
.title-guide-lead strong { color: var(--fg); font-weight: 700; }
.title-examples {
	margin: 0;
	padding: 0;
	list-style: none;
}
.title-ex {
	margin: 0 0 12px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--border);
}
.title-ex:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.title-ex-line {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.55;
}
.title-ex-line:last-child { margin-bottom: 0; }
.title-ex-ico {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin: 1px 8px 0 0;
}
.title-ex-line.is-bad .title-ex-ico { color: #e5484d; }
.title-ex-line.is-bad .title-ex-text { color: var(--muted); text-decoration: line-through; text-decoration-color: rgba(229, 72, 77, .45); }
.title-ex-line.is-ok .title-ex-ico { color: var(--ok); }
.title-ex-line.is-ok .title-ex-text {
	color: var(--fg);
	font-weight: 600;
}
.title-ex-label {
	display: inline-block;
	margin-right: 6px;
	padding: 1px 7px;
	border-radius: 999px;
	background: rgba(47, 154, 106, .14);
	color: var(--ok);
	font-size: 11px;
	font-weight: 700;
	vertical-align: 0.05em;
}
html.dark .title-ex-label { background: rgba(76, 186, 134, .18); }
.title-ex-text { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; min-width: 0; word-break: break-word; }
.title-kinds { margin-top: 0; }
.title-rows { margin-top: 10px; }
.title-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 0 10px;
	-webkit-animation: anim-rise .28s var(--ease) both;
	animation: anim-rise .28s var(--ease) both;
}
.title-kind {
	min-width: 88px;
	margin-right: 8px;
	padding: 8px 10px;
	border-radius: 999px;
	background: var(--accent);
	color: var(--accent-fg);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.title-row input {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
}
.title-row .btn { margin-left: 8px; -webkit-flex-shrink: 0; flex-shrink: 0; }
.picked { min-height: 40px; }
.chip svg { vertical-align: -2px; margin-right: 3px; }
.chip-add {
	background: transparent;
	color: var(--primary);
	box-shadow: inset 0 0 0 1px var(--primary);
}
.subhead { margin: 6px 0 0; font-size: 16px; font-weight: 600; color: var(--muted); }
.prose-more { margin-top: 12px; }
.content-gallery { padding: 28px; }
.content-gallery h2 {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -.02em;
}
.content-gallery-fig {
	position: relative;
	margin: 0 0 14px;
}
.content-gallery-fig:last-child { margin-bottom: 0; }
.content-gallery-fig.is-loading { min-height: 88px; }
.content-gallery-wait {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0;
	padding: 28px 12px;
	color: var(--muted);
	font-size: 13px;
}
.content-gallery-wait .list-spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	vertical-align: middle;
}
.content-gallery-list img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid var(--border);
}
.content-gallery-list img.is-loading {
	visibility: hidden;
}
.content-gallery-more-wrap {
	margin-top: 18px;
	text-align: center;
}
.content-gallery-more {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--primary);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	-webkit-transition: opacity var(--t);
	transition: opacity var(--t);
}
.content-gallery-more:hover { opacity: .78; }
.content-gallery-more svg {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin-left: 6px;
	vertical-align: middle;
}
.chip.is-full { opacity: .4; cursor: not-allowed; -webkit-transform: none; transform: none; }
.aka { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.aka span { display: inline-block; margin: 0 12px 6px 0; }
.aka em { margin-right: 6px; font-style: normal; font-weight: 700; color: var(--accent-fg); }
.modal {
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 60;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 24px 0;
}
.modal-scrim {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background: rgba(40, 20, 24, 0.4);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.modal-card {
	position: relative;
	z-index: 1;
	width: 92%;
	max-width: 560px;
	max-height: 80vh;
	overflow: auto;
	margin: 0 auto;
	padding: 22px 22px 18px;
	border: 1px solid var(--border);
	border-radius: 28px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(28px) saturate(1.5);
	backdrop-filter: blur(28px) saturate(1.5);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 24px 48px -16px var(--card-shadow);
	-webkit-animation: anim-pop .32s var(--ease) both;
	animation: anim-pop .32s var(--ease) both;
}
.modal-head {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 16px;
}
.modal-head h3 { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; font-size: 18px; font-weight: 800; }
.modal-head + .hint {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin: -8px 0 12px;
}
.modal-head--thread .modal-head-main {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	min-width: 0;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}
.modal-head--thread .modal-head-main h3 {
	-webkit-box-flex: 0;
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
	margin-right: 10px;
}
.modal-card:not(.is-alert) {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	overflow: hidden;
}
.modal-scroll {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-height: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.modal-scroll::-webkit-scrollbar { display: none; }
.modal-card:not(.is-alert) .modal-head,
.modal-card:not(.is-alert) .modal-foot {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
}
.modal-foot { text-align: right; margin-top: 16px; }
.modal-card:not(.is-alert) .modal-foot {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--border);
}
.modal.is-alert { z-index: 70; }
.modal-card.is-alert {
	max-width: 400px;
	padding: 28px 24px 20px;
	text-align: center;
}
.modal-card.is-alert p {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.65;
	white-space: pre-wrap;
	word-break: break-word;
}
.modal-card.is-alert .modal-foot { text-align: center; margin-top: 20px; }
.modal-card.is-alert .modal-foot .btn { margin: 0 4px; }
.field { display: block; margin: 16px 0 0; }
.field > span { display: block; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.field em { color: var(--primary); font-style: normal; }
.field textarea, .admin-inline input[type="text"], .admin-inline input[type="number"] { border-radius: 14px; }
.form-wrap .field input[type="text"],
.form-wrap .field textarea,
.form-wrap .title-row input {
	background: var(--muted-bg);
	border-color: transparent;
	border-radius: 14px;
}
.form-wrap .field input:focus,
.form-wrap .field textarea:focus,
.form-wrap .title-row input:focus {
	background: var(--card);
}
.field textarea { min-height: 140px; resize: vertical; }
.editor {
	border: 1px solid transparent;
	border-radius: 16px;
	background: var(--muted-bg);
	overflow: hidden;
	-webkit-transition: border-color var(--t), box-shadow var(--t), background-color var(--t);
	transition: border-color var(--t), box-shadow var(--t), background-color var(--t);
}
.editor:focus-within {
	border-color: var(--primary);
	background: var(--card);
	box-shadow: 0 0 0 4px var(--focus);
}
.editor-bar { padding: 6px 8px; border-bottom: 1px solid var(--border); background: var(--muted-bg); }
.editor-btn {
	display: inline-block;
	min-width: 28px;
	margin: 0 2px 0 0;
	padding: 4px 8px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--fg);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	vertical-align: middle;
	position: relative;
	overflow: hidden;
}
.editor-btn:hover { background: var(--accent); color: var(--accent-fg); }
.editor-btn input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.editor-sep {
	display: inline-block;
	width: 1px;
	height: 16px;
	margin: 0 6px;
	background: var(--border);
	vertical-align: middle;
}
.editor-body {
	min-height: 160px;
	overflow: auto;
	resize: vertical;
	padding: 12px 14px;
	outline: none;
	font-size: 16px;
	line-height: 1.7;
	word-break: break-word;
}
.editor-body *:not(img) {
	color: inherit !important;
	background-color: transparent !important;
	-webkit-text-fill-color: inherit !important;
}
.editor-body.is-empty:before {
	content: attr(data-placeholder);
	color: var(--muted);
	pointer-events: none;
}
.editor-body img, .prose-more img {
	max-width: 100%;
	height: auto;
	margin: 8px 0;
	border-radius: 10px;
	border: 1px solid var(--border);
}
.editor-fig {
	position: relative;
	display: block;
	max-width: 100%;
	margin: 8px 0;
}
.editor-fig img { margin: 0; }
.editor-fig.is-uploading img { opacity: .45; }
.editor-fig-tip {
	display: none;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(0,0,0,.62);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	pointer-events: none;
}
.editor-fig.is-uploading .editor-fig-tip { display: block; }
.prose-more p { margin: 0 0 .5em; }
.prose-more p:last-child { margin-bottom: 0; }
.hint { font-size: 13px; color: #b45309; margin: 8px 0 0; white-space: pre-line; }
.form-actions {
	position: -webkit-sticky;
	position: sticky;
	bottom: 16px;
	z-index: 5;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	margin: 16px 0 0;
	padding: 12px 14px;
	border: 1px solid var(--border);
	border-radius: 20px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(20px) saturate(1.5);
	backdrop-filter: blur(20px) saturate(1.5);
	box-shadow: 0 16px 40px -24px var(--card-shadow);
	-webkit-transition: margin .28s var(--ease);
	transition: margin .28s var(--ease);
}
.form-actions.is-float { margin-left: 40px; margin-right: 40px; }
.form-actions-end { height: 1px; pointer-events: none; }
.form-actions .muted {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	font-size: 12px;
	margin: 0;
}
.form-actions .btn { margin-left: 8px; }
.btn[disabled] { opacity: .55; pointer-events: none; }

.up-slot { margin-top: 16px; }
.up-slot-head { margin-bottom: 8px; }
.up-slot-head strong { display: block; font-size: 14px; }
.up-slot-head em { color: var(--primary); font-style: normal; }
.up-slot-head span { font-size: 12px; color: var(--muted); }
.up-list { list-style: none; padding: 0; margin: 0; overflow: hidden; }
.up-item { width: 96px; position: relative; float: left; margin: 0 8px 8px 0; -webkit-animation: anim-pop .28s var(--ease) both; animation: anim-pop .28s var(--ease) both; }
.up-item img { width: 96px; height: 72px; object-fit: cover; border-radius: 14px; border: 1px solid var(--border); }
.up-item.is-uploading img { opacity: .45; }
.up-item.is-uploading .editor-fig-tip { display: block; }
.up-item button {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 50%;
	background: rgba(0,0,0,.65);
	color: #fff;
	cursor: pointer;
}
.up-add {
	width: 96px;
	float: left;
	margin: 0 8px 8px 0;
}
.up-add label {
	display: block;
	height: 72px;
	line-height: 72px;
	border: 1px dashed var(--border);
	border-radius: 14px;
	background: var(--muted-bg);
	color: var(--muted);
	text-align: center;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	-webkit-transition: border-color var(--t), color var(--t), background-color var(--t);
	transition: border-color var(--t), color var(--t), background-color var(--t);
}
.up-add label:hover {
	border-color: var(--primary);
	color: var(--primary);
	background: var(--accent);
}
.up-add svg { vertical-align: middle; }
.up-add input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.foot {
	margin-top: 8px;
	border-top: 1px solid var(--border);
	background: var(--glass);
	-webkit-backdrop-filter: blur(20px) saturate(1.4);
	backdrop-filter: blur(20px) saturate(1.4);
}
.foot-inner {
	max-width: 1152px;
	margin: 0 auto;
	padding: 32px 24px;
	font-size: 14px;
	color: var(--muted);
	overflow: hidden;
}
.foot-brand { float: left; font-weight: 800; color: var(--fg); }
.foot-inner > p { margin: 8px 200px 0 0; }
.foot-links { float: right; }
.foot-links a { margin-left: 16px; }
.ok { color: var(--ok); font-weight: 700; }
.admin { -webkit-animation: anim-in .45s var(--ease) both; animation: anim-in .45s var(--ease) both; }
.admin h1 { margin-bottom: 8px; }
.admin-tabs {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 16px 0 0;
	padding: 4px;
	background: var(--muted-bg);
	border-radius: 12px;
}
.admin-tabs a {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	padding: 10px 8px;
	border-radius: 10px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--muted);
	-webkit-transition: background-color var(--t), color var(--t), box-shadow var(--t);
	transition: background-color var(--t), color var(--t), box-shadow var(--t);
}
.admin-tabs a.is-on { background: var(--card); color: var(--fg); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.admin-tabs span {
	display: inline-block;
	min-width: 18px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--primary);
	color: var(--primary-fg);
	font-size: 12px;
	line-height: 18px;
}
.admin-card { margin-top: 16px; }
.admin-row, .admin-inline { padding: 12px 0; overflow: hidden; }
.admin-row + .admin-row, .admin-inline + .admin-inline { border-top: 1px solid var(--border); }
.admin-row .btn { margin-top: 10px; margin-right: 8px; }
.admin-row .btn + .btn { margin-left: 0; }
.admin-ban .admin-row,
.admin-rates .admin-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.admin-ban .admin-row > div:first-child,
.admin-rates .admin-row > div:first-child {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	margin-right: 12px;
}
.admin-ban .admin-row > form,
.admin-rates .admin-row > form {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin: 0;
}
.admin-ban .admin-row .btn,
.admin-rates .admin-row .btn { margin-top: 0; }
.admin .section-head { margin-bottom: 4px; }
.admin .section-head h2 { font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.admin .section-head p { margin: 4px 0 0; font-size: 13px; line-height: 1.55; color: var(--muted); }
.admin-sub {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--fg);
}
.admin-ban-form { margin-top: 8px; }
.admin-ban-grid {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -6px;
}
.admin-ban-grid .field {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 200px;
	flex: 1 1 200px;
	min-width: 0;
	margin: 12px 6px 0;
}
.admin-ban-grid .admin-ban-wide {
	-webkit-flex-basis: 100%;
	flex-basis: 100%;
}
.admin-ban-form input[type="number"],
.admin-ban-form input[type="datetime-local"],
.admin-ban-form textarea {
	width: 100%;
	border: 1px solid var(--border);
	background: var(--card);
	border-radius: 14px;
	padding: 12px 16px;
	outline: none;
	font-size: 14px;
	line-height: 1.45;
	-webkit-transition: border-color var(--t), box-shadow var(--t);
	transition: border-color var(--t), box-shadow var(--t);
}
.admin-ban-form textarea {
	min-height: 96px;
	resize: vertical;
	border-radius: 14px;
}
.admin-ban-form input:focus,
.admin-ban-form textarea:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 4px var(--focus);
}
.admin-ban-actions { margin: 16px 6px 0; }
.admin-ban-divider {
	height: 1px;
	margin: 20px 0 16px;
	background: var(--border);
}
.admin-ban-empty { margin: 0; padding: 8px 0 4px; }
.admin-ban-title {
	margin: 0 0 4px;
	font-size: 15px;
	line-height: 1.45;
}
.admin-ban-title strong { margin-right: 8px; }
.admin-ban-title .muted { font-size: 13px; font-weight: 400; margin-right: 8px; }
.ban-st {
	font-size: 12px;
	font-weight: 600;
	color: var(--muted);
}
.ban-st-on { color: var(--ok); }
.admin-page a { margin: 0 8px; }
.admin-preview:not([open]) { display: none; }
.admin-preview[open] {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: min(960px, 94vw);
	max-width: none;
	height: min(90vh, 920px);
	padding: 0;
	border: 0;
	border-radius: 16px;
	overflow: hidden;
	background: var(--card);
	color: var(--fg);
	box-shadow: 0 24px 48px -16px var(--card-shadow);
}
.admin-preview::backdrop { background: rgba(40, 20, 24, .46); }
.admin-preview-bar {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	padding: 10px 12px;
	border-bottom: 1px solid var(--border);
}
.admin-preview-bar strong { font-size: 14px; }
.admin-preview-body {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 0;
	position: relative;
}
.admin-preview iframe {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: var(--bg);
}
.admin-preview-foot {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	padding: 10px 12px;
	border-top: 1px solid var(--border);
	text-align: right;
	background: var(--card);
}
.admin-preview-foot .btn { margin-left: 8px; }
.admin-reject {
	width: min(440px, 92vw);
	padding: 20px 20px 16px;
	border: 0;
	border-radius: 16px;
	background: var(--card);
	color: var(--fg);
	box-shadow: 0 24px 48px -16px var(--card-shadow);
}  
.admin-reject::backdrop { background: rgba(40, 20, 24, .46); }
.admin-reject > strong { display: block; font-size: 17px; }
.admin-reject > .muted { margin: 6px 0 12px; white-space: pre-line; }
.admin-reject .chips { margin: 0; }
.admin-reject .chip { margin: 0 8px 8px 0; }
.admin-reject .field { margin-top: 8px; }
.admin-reject textarea { min-height: 84px; }
.admin-reject-foot { margin-top: 16px; text-align: right; }
.admin-reject-foot .btn { margin-left: 8px; }
.admin-dup { max-width: 640px; width: calc(100% - 32px); }
.admin-dup .similar-list { max-height: 28vh; overflow-y: auto; }
.admin-dup .similar-item {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.admin-dup-sec {
	margin: 12px 0 6px;
	font-size: 13px;
	font-weight: 600;
}
.admin-dup-excerpt {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: var(--muted);
	word-break: break-all;
}
.admin-dup-loading:not([hidden]) {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	margin: 12px 0;
	font-size: 14px;
	color: var(--muted);
}
.admin-dup-loading[hidden] { display: none !important; }
.admin-dup-loading .list-spinner { width: 18px; height: 18px; margin: 0 8px 0 0; }
body.is-embed { background: var(--bg); }
body.is-embed .wrap { padding-top: 12px; padding-bottom: 24px; }
body.is-embed .crumb,
body.is-embed .hero-actions,
body.is-embed .detail-cta,
body.is-embed .back-link,
body.is-embed .detail-related { display: none; }
.admin-inline input, .admin-inline select { width: auto; min-width: 140px; border-radius: 12px; padding: 8px 12px; margin-right: 8px; }
.admin-inline input[type="number"] { width: 80px; min-width: 80px; }
.admin-group {
	margin: 0 0 10px;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--muted-bg);
}
.admin-group summary {
	padding: 12px 16px;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}
.admin-group summary::-webkit-details-marker, .admin-chip summary::-webkit-details-marker { display: none; }
.admin-group summary span { font-weight: 600; color: var(--muted); font-size: 13px; }
.admin-group .admin-inline, .admin-group .muted, .admin-group .admin-chips { margin: 0 16px; }
.admin-group .admin-inline, .admin-group .muted { padding-bottom: 8px; }
.admin-chips { padding: 0 0 12px; }
.admin-chip {
	display: inline-block;
	position: relative;
	margin: 0 8px 8px 0;
	padding: 4px 4px 4px 12px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--card);
	font-size: 13px;
	font-weight: 600;
	line-height: 24px;
	white-space: nowrap;
	vertical-align: middle;
}
.admin-chip > span {
	color: var(--muted);
	font-weight: 600;
	font-size: 12px;
}
.admin-chip details { display: inline-block; vertical-align: middle; }
.admin-chip summary {
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-left: 6px;
	padding: 0;
	border-radius: 50%;
	background: var(--muted-bg);
	color: var(--muted);
	line-height: 22px;
	text-align: center;
	list-style: none;
	cursor: pointer;
	vertical-align: middle;
}
.admin-chip summary svg { vertical-align: middle; }
.admin-chip details[open] summary { background: var(--accent); color: var(--accent-fg); }
.admin-chip form {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 3;
	width: 180px;
	margin-top: 6px;
	padding: 10px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--card);
	box-shadow: 0 8px 24px var(--card-shadow);
	white-space: normal;
	font-weight: 400;
	-webkit-animation: anim-pop .22s var(--ease) both;
	animation: anim-pop .22s var(--ease) both;
}
.admin-chip form select, .admin-chip form input[type="text"], .admin-chip form input[type="number"] {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0 0 8px;
	border: 1px solid var(--border);
	background: var(--card);
	border-radius: 10px;
	padding: 8px 10px;
	outline: none;
	font-weight: 400;
}
.admin-chip form select:focus, .admin-chip form input[type="text"]:focus, .admin-chip form input[type="number"]:focus { border-color: var(--primary); }
.admin-chip form .btn { width: 100%; }
.admin-chip form .btn + .btn { margin-top: 6px; }
.admin-new { margin-top: 8px; }
.check { font-size: 14px; }

.diff-head {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 8px 0 16px;
}
.diff-head h2 { margin: 0 0 4px; font-size: 20px; }
.diff-head .btn { -webkit-flex-shrink: 0; flex-shrink: 0; margin-left: 12px; }
.diff-sum { margin: 0 0 20px; font-weight: 700; }
.diff-hist {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--border);
}
.diff-hist h3 { margin: 0 0 12px; font-size: 15px; }
.diff-note {
	margin: 0 0 20px;
	padding: 14px;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--muted-bg);
}
.diff-item { margin: 0 0 22px; }
.diff-item h3 { margin: 0 0 10px; font-size: 15px; }
.diff-grid {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
}
.diff-col {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	margin-right: 12px;
	padding: 14px;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--muted-bg);
}
.diff-col.is-new { margin-right: 0; border-color: var(--ok); background: var(--card); }
.diff-k { font-size: 12px; font-weight: 700; color: var(--muted); margin-bottom: 8px; }
.diff-text { font-size: 14px; line-height: 1.65; white-space: pre-wrap; word-break: break-word; }
.diff-html { font-size: 14px; line-height: 1.75; }
.diff-html font, .diff-html span { font-size: inherit !important; }
.diff-html img { max-height: 180px; border-radius: 8px; }
.diff-mark del img { opacity: .5; }
.diff-mark ins img { outline: 2px solid rgba(16, 185, 129, .75); }
.diff-mark ins {
	background: var(--ok);
	color: #fff;
	text-decoration: none;
	padding: 0 .2em;
	border-radius: 3px;
	white-space: pre-wrap;
}
.diff-mark del {
	background: rgba(239, 68, 68, .35);
	color: inherit;
	text-decoration: line-through;
	padding: 0 .2em;
	border-radius: 3px;
	white-space: pre-wrap;
}
.diff-col .chip.is-add { background: var(--ok); color: #fff; }
.diff-col .chip.is-del { background: rgba(239, 68, 68, .35); text-decoration: line-through; }
.diff-thumbs { overflow: hidden; }
.diff-thumbs img {
	float: left;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 8px;
	margin: 0 8px 8px 0;
}
.diff-actions { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--border); }
.diff-actions .btn { margin-right: 8px; }

.me-layout {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.me-aside {
	width: 200px;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin: 0 24px 0 0;
	padding: 22px 14px 16px;
	position: -webkit-sticky;
	position: sticky;
	top: 80px;
}
.me-head { margin: 0 8px 16px; }
.me-head h1 {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1.18;
}
.me-head p {
	margin: 6px 0 0;
	font-size: 14px;
	font-weight: 400;
	color: var(--muted);
}
.me-nav { margin: 0; }
.me-nav button {
	display: block;
	width: 100%;
	text-align: left;
	border: 0;
	background: none;
	border-radius: 10px;
	padding: 10px 12px;
	margin: 0 0 2px;
	font-size: 15px;
	font-weight: 600;
	color: var(--muted);
	cursor: pointer;
}
.me-nav button.is-on { color: var(--fg); background: var(--muted-bg); }
.me-body {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	min-width: 0;
	padding: 24px 24px 20px;
}
.banned-hero { max-width: 36em; margin: 0 auto; text-align: center; }
.banned-msg { font-size: 15px; line-height: 1.65; color: var(--fg); }
.banned-expire { margin-top: 12px; }
.me-body .section-head { margin: 0 0 8px; }
.me-filters { margin: 0 0 16px; }
.me-filters .chip { margin: 0 8px 8px 0; }
.me-body .list-status { padding: 48px 16px; }
.me-body .empty { margin: 0; padding: 48px 8px; text-align: center; }
.me-body .pager { margin-top: 8px; }
.me-list { border-top: 1px solid var(--border); }
.me-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	padding: 16px 4px;
	border-bottom: 1px solid var(--border);
}
.me-item:last-child { border-bottom: 0; }
.me-row-body { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; min-width: 0; }
.me-title {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.3;
	color: var(--fg);
}
.me-title:hover { color: var(--primary); }
.me-row-body .muted { margin: 6px 0 0; font-size: 13px; }
.me-game { color: inherit; }
.me-game:hover { color: var(--primary); }
.me-comment {
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fg);
}
.me-item-act {
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	margin: 0 0 0 16px;
}
.me-item-act .btn {
	background: var(--muted-bg);
	font-weight: 500;
}
.empty a { margin-left: 8px; color: var(--primary); font-weight: 600; }

@media (max-width: 960px) {
	.hero-grid, .hero-copy { display: block; width: auto; }
	.hero.has-covers,
	.hero.has-covers.glass-pane {
		min-height: 0;
		margin-top: -28px;
		margin-left: -24px;
		margin-right: -24px;
		padding: 0 0 32px;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.hero.has-covers .hero-copy {
		max-width: none;
		padding: 0 24px;
	}
	.hero.has-covers .hero-grid { margin-top: -56px; }
	.hero-covers {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		width: 100%;
		height: 210px;
		z-index: 0;
		pointer-events: auto;
		-webkit-mask-image: -webkit-linear-gradient(top, #000 0%, #000 46%, transparent 100%);
		-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 46%, transparent 100%);
		mask-image: linear-gradient(180deg, #000 0%, #000 46%, transparent 100%);
	}
	.hero-mosaic {
		width: 100%;
		height: 100%;
		margin-top: 0;
		-webkit-transform-origin: 50% 0;
		transform-origin: 50% 0;
		-webkit-animation: none;
		animation: none;
	}
	.hero-covers[data-n="2"] .hero-mosaic { grid-template-columns: 1fr 1fr; }
	.nav-links { display: none; }
	.nav-actions .nav-me-btn { display: none; }
	.nav-actions .nav-menu-btn {
		display: -webkit-inline-box;
		display: -webkit-inline-flex;
		display: inline-flex;
	}
	.filter-toggle { display: inline-block; }
	.filter-label { width: 2.8em; margin-top: 6px; margin-right: 10px; }
	.nav-cta { display: none; }
	.filters {
		display: block;
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
		margin-bottom: 0;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		border-color: transparent;
		-webkit-transition: max-height .36s var(--ease), opacity .22s ease, padding .22s ease, margin .22s ease, border-color .22s ease;
		transition: max-height .36s var(--ease), opacity .22s ease, padding .22s ease, margin .22s ease, border-color .22s ease;
	}
	.filters.is-open {
		max-height: 1400px;
		padding: 20px;
		margin-bottom: 16px;
		opacity: 1;
		pointer-events: auto;
		border-color: var(--border);
	}
	.detail-top, .detail-split { display: block; }
	.gallery, .detail-meta, .detail-main, .detail-story, .detail-rate, .content-gallery { width: auto; margin-right: 0; }
	.gallery { margin-bottom: 20px; }
	.gallery-stage { -webkit-flex: none; flex: none; height: 0; min-height: 0; padding-bottom: 62%; }
	.detail-meta { margin-bottom: 20px; }
	.detail-story { margin-bottom: 20px; }
	.detail-rate { position: static; }
	.meta-tags-wrap { -webkit-flex: none; flex: none; }
	.meta-tags { overflow: visible; -webkit-flex: none; flex: none; }
	.tips div { width: auto; float: none; margin: 0 0 12px; }
	.wrap { padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)); }
	body.is-detail .wrap { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
	.form-actions { position: static; bottom: auto; }
	.tabbar-wrap {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 40;
		padding: 0 20px calc(8px + env(safe-area-inset-bottom, 0px));
		pointer-events: none;
	}
	.tabbar {
		pointer-events: auto;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-align: stretch;
		-webkit-align-items: stretch;
		align-items: stretch;
		max-width: 360px;
		margin: 0 auto;
		padding: 4px;
		border: 1px solid var(--border);
		border-radius: 999px;
		background: var(--glass);
		-webkit-backdrop-filter: blur(40px) saturate(1.8);
		backdrop-filter: blur(40px) saturate(1.8);
		box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 10px 28px -12px var(--card-shadow);
	}
	html.dark .tabbar { box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 10px 28px -12px var(--card-shadow); }
	button.tabbar-item {
		font: inherit;
		cursor: pointer;
		border: none;
		background: transparent;
		-webkit-appearance: none;
		appearance: none;
		text-decoration: none;
	}
	.tabbar-item {
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		flex: 1;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		min-width: 0;
		margin: 0;
		padding: 8px 10px 6px;
		border-radius: 999px;
		color: var(--muted);
		font-size: 10px;
		font-weight: 500;
		letter-spacing: -.02em;
		line-height: 1.2;
		white-space: nowrap;
	}
	.tabbar-item + .tabbar-item { margin-left: 2px; }
	.tabbar-item svg { display: block; margin: 0 0 3px; }
	.tabbar-item.is-on {
		color: var(--primary);
		font-weight: 600;
		background: var(--focus);
	}
	.tabbar-item:active { -webkit-transform: scale(.96); transform: scale(.96); }
	.pager {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.pager-nums { display: none; }
	.pager-pick {
		display: inline-block;
		margin: 0 4px 8px;
	}
	.pager-pick.game-pick--toolbar { margin-right: 4px; }
}
@media (max-width: 720px) {
	.me-layout { display: block; }
	.me-aside {
		position: static;
		width: auto;
		margin: 0 0 16px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		overflow: visible;
	}
	.me-aside::before { display: none; }
	.me-head { margin: 0 0 14px; }
	.me-head h1 { font-size: 28px; }
	.me-head p { font-size: 17px; }
	.me-nav {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		width: auto;
		margin: 0;
		overflow: visible;
		white-space: normal;
		background: var(--muted-bg);
		border-radius: 14px;
		padding: 3px;
	}
	.me-nav button {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		flex: 1;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 8px 2px;
		text-align: center;
		font-size: 13px;
		border-radius: 11px;
	}
	.me-nav button.is-on {
		color: var(--fg);
		background: var(--card);
		box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
	}
	.me-body { padding: 20px 16px 16px; }
	.me-item-act { margin: 0 0 0 12px; }
	.nav-inner, .wrap, .hero, .foot-inner { padding-left: 16px; padding-right: 16px; }
	.hero { padding-top: 32px; padding-bottom: 32px; } 
	.hero.has-covers,
	.hero.has-covers.glass-pane {
		margin-top: -28px;
		margin-left: -16px;
		margin-right: -16px;
		padding: 0 0 24px;
	}
	.hero.has-covers .hero-copy { padding: 0 16px; }
	.hero.has-covers .hero-grid { margin-top: -44px; }
	.hero-covers { height: 168px; }
	.detail-meta, .detail-story, .detail-rate, .content-gallery { padding: 20px 18px; }
	.detail-meta h1 { font-size: 22px; }
	.rate-score strong { font-size: 40px; }
	.foot-brand, .foot-links { float: none; text-align: center; }
	.foot-links { margin-top: 12px; display: block; }
	.form-actions {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: 0;
		margin-right: 0;
		text-align: center;
	}
	.form-actions.is-float { margin-left: 0; margin-right: 0; }
	.form-actions .muted {
		-webkit-flex: 1 0 100%;
		flex: 1 0 100%;
		margin: 0 0 10px;
	}
	.form-actions .btn {
		display: block;
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		flex: 1;
		width: auto;
		margin: 0 0 0 8px;
	}
	.form-actions a.btn { margin-left: 0; }
	.apply-card { padding: 4px 16px 20px; }
	.title-kind { min-width: 72px; }
	.modal-card { width: 94%; max-height: 90vh; }
	.diff-grid { display: block; }
	.diff-col, .diff-col.is-new { margin: 0 0 8px; }
}
@media (max-width: 850px) {
	.card { width: 50%; }
}
@media (max-width: 499px) {
	.card { width: 100%; }
}
@media (min-width: 721px) {
	.hero h1 { font-size: 48px; }
	.section-head h2, .form-hero h1, .admin h1 { font-size: 28px; }
	.detail-meta h1 { font-size: 25px; }
	.search { float: left; width: 62%; }
	.browser-tools { float: right; margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		-webkit-animation: none !important;
		animation: none !important;
		-webkit-transition: none !important;
		transition: none !important;
	}
}
@media (prefers-reduced-transparency: reduce) {
	.nav, .glass-pane, .filters, .search input, .form-actions, .modal-card, .foot, .btn-outline, .btn-icon, .tabbar {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: var(--card);
	}
	.glass-pane::before { display: none; }
	.hero.has-covers.glass-pane { background: none; }
}
