@font-face {
	font-family: "Roboto";
	src: url("/glyphs/roboto-latin-400-normal.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Roboto";
	src: url("/glyphs/roboto-latin-700-normal.woff2") format("woff2");
	font-weight: 600 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("/glyphs/inter-latin-400-normal.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("/glyphs/inter-latin-600-normal.woff2") format("woff2");
	font-weight: 500 600;
	font-style: normal;
	font-display: swap;
}

:root {
	--house: #ffe038;
	--key: #b179cd;
	--action-down: #9857c1;
	--base-plane: #121213;
	--layer: #1b1b1d;
	--front: #ffffff;
	--muted: #c1bfbf;
	--hairline: #2b2b2f;
	--rule-bold: #3f3f45;
	--ramp-start: #e5d4f1;
	--blend-b: #c494d9;
	--warn-band: #ad2831;
	--g-1: 4px;
	--g-2: 12px;
	--g-3: 20px;
	--g-4: 36px;
	--g-5: 56px;
	--g-6: 84px;
	--g-7: 120px;
	--g-8: 180px;
	--pill: 9999px;
	--dot: 50%;
	--r-1: 2px;
	--r-2: 4px;
	--r-3: 10px;
	--r-4: 16px;
	--r-5: 28px;
	--r-6: 36px;
	--r-7: 44px;
	--r-8: 56px;
	--display: "Roboto", "Helvetica Neue", Arial, sans-serif;
	--reading: "Inter", "Segoe UI", Arial, sans-serif;
	--xxl: clamp(28px, 4.4vw, 38px);
	--xl-2: clamp(24px, 3.2vw, 30px);
	--lg-2: clamp(20px, 2.4vw, 24px);
	--h4: 20px;
	--h5: 17px;
	--h6: 15px;
	--z-reading: 17px;
	--petite: 15px;
	--mini: 13px;
	--tight: 1.25;
	--regular: 1.6;
	--roomy: 1.8;
	--w-regular: 400;
	--semi: 500;
	--strong: 600;
	--snug: 0;
	--even: 0;
	--spread: 0.01em;
	--d-1: 0 1px 2px rgba(0, 0, 0, 0.04);
	--d-2: 0 2px 4px rgba(0, 0, 0, 0.06);
	--d-3: 0 4px 10px rgba(0, 0, 0, 0.08);
	--d-4: 0 10px 28px rgba(0, 0, 0, 0.12);
	--d-5: 0 20px 48px rgba(0, 0, 0, 0.16);
	--d-6: 0 26px 60px rgba(0, 0, 0, 0.22);
	--d-7: 0 32px 76px rgba(0, 0, 0, 0.28);
	--d-8: 0 40px 96px rgba(0, 0, 0, 0.34);
	--quick: 164ms;
	--normal: 310ms;
	--gentle: 562ms;
	--land: cubic-bezier(0.16, 0.59, 0.53, 0.95);
	--start: cubic-bezier(0.5, 0.1, 0.35, 0.94);
	--in-out: cubic-bezier(0.5, 0.1, 0.35, 0.94);
	--elastic: cubic-bezier(0.28, 1.8, 0.67, 1.25);
	--site: 1220px;
	--column: 1220px;
	--padding-desktop: 32px;
	--pad-md: 20px;
	--pad-sm: 12px;
	--light: 1px;
	--mid: 2px;
	--wide: 3px;
	--h-lg: 86px;
	--short: 62px;
	--jkp-narrow: 530px;
	--jkp-sec-y: 46px;
	--jkp-ink: #241f00;
	--jkp-ink-soft: #3b3208;
	--jkp-ink-hot: #5b2f7a;
	--jkp-frame: calc(var(--site) + 2 * var(--padding-desktop));
}

* {
	box-sizing: border-box;
}

html,
body {
	overflow-x: clip;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	background: var(--base-plane);
	color: var(--front);
	display: flex;
	flex-direction: column;
	font-family: var(--reading);
	font-size: var(--z-reading);
	font-weight: var(--w-regular);
	letter-spacing: var(--even);
	line-height: var(--roomy);
	margin: 0;
	min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: anywhere;
	text-wrap: pretty;
}

h1,
h2,
h3 {
	color: var(--front);
	font-family: var(--display);
	font-weight: var(--strong);
	letter-spacing: var(--even);
	line-height: var(--tight);
	margin: 0;
}

h4,
h5,
h6 {
	color: var(--front);
	font-family: var(--reading);
	font-weight: var(--semi);
	letter-spacing: var(--even);
	line-height: var(--regular);
	margin: 0;
}

h1 {
	font-size: var(--xxl);
}

h2 {
	font-size: var(--xl-2);
}

h3 {
	font-size: var(--lg-2);
}

h4 {
	font-size: var(--h4);
}

h5 {
	font-size: var(--h5);
}

h6 {
	font-size: var(--h6);
}

p {
	margin: 0;
}

img {
	max-width: 100%;
}

button {
	font: inherit;
}

[id] {
	scroll-margin-top: 110px;
}

:focus-visible {
	outline: var(--mid) solid var(--key);
	outline-offset: 3px;
}

[data-emerge] {
	opacity: 0;
	transform: scale(0.97);
	transition: opacity var(--gentle) var(--land), transform var(--gentle) var(--land);
	will-change: opacity, transform;
}

[data-emerge].is-open {
	opacity: 1;
	transform: none;
}

.a02 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.a02-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.a02-head {
	margin-block-end: var(--g-3);
}

.a02-scroll {
	overflow-x: auto;
	width: 100%;
}

.a02-grid {
	background: var(--base-plane);
	border-collapse: collapse;
	color: var(--front);
	width: 100%;
}

.a02-grid th {
	background: var(--layer);
	border-bottom: var(--light) solid var(--rule-bold);
	color: var(--front);
	font-family: var(--reading);
	font-size: var(--mini);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	padding: var(--g-2) var(--g-3);
	text-align: left;
	text-transform: uppercase;
}

.a02-grid td {
	background: var(--base-plane);
	border-bottom: var(--light) solid var(--hairline);
	color: var(--muted);
	font-size: var(--petite);
	line-height: var(--regular);
	padding: var(--g-2) var(--g-3);
	text-align: left;
}

.a02-grid tr td:first-child {
	color: var(--front);
	font-weight: var(--semi);
}

.b56 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.b56-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.b56-head {
	margin-block-end: var(--g-4);
}

.b56-flag {
	align-items: center;
	background: var(--house);
	border-radius: var(--r-5);
	color: var(--jkp-ink);
	display: grid;
	gap: var(--g-5);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	margin-block-end: var(--g-5);
	padding: var(--g-5);
}

.b56-flag-head {
	color: var(--jkp-ink);
	font-family: var(--display);
	font-size: var(--xl-2);
	font-weight: var(--strong);
	line-height: var(--tight);
	margin-block-end: 0;
}

.b56-flag-note {
	color: var(--jkp-ink-soft);
	font-size: var(--h5);
	line-height: var(--regular);
	max-width: var(--jkp-narrow);
}

.b56-stack {
	align-items: start;
	display: grid;
	gap: var(--g-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b56-block {
	background: var(--base-plane);
	border-top: var(--mid) solid var(--key);
	color: var(--front);
	padding: var(--g-4) var(--g-3);
	transition: border-color var(--normal) var(--land);
}

.b56-block:hover {
	border-top-color: var(--house);
}

.b56-mark {
	align-items: center;
	background: #2a1d33;
	border: var(--light) solid var(--rule-bold);
	border-radius: var(--dot);
	color: var(--key);
	display: inline-flex;
	height: 38px;
	justify-content: center;
	margin-block-end: var(--g-2);
	width: 38px;
}

.b56-mark svg {
	fill: currentColor;
	height: 21px;
	width: 21px;
}

.b56-piece {
	color: var(--front);
	font-family: var(--reading);
	font-size: var(--z-reading);
	font-weight: var(--strong);
	line-height: var(--regular);
	margin-block-end: var(--g-1);
}

.b56-note {
	color: var(--muted);
	font-size: var(--petite);
	line-height: var(--regular);
}

.d84 {
	background: var(--base-plane);
	color: var(--front);
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	justify-content: center;
	padding-block: var(--g-6);
}

.d84-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	text-align: center;
	width: 100%;
}

.d84-banner {
	color: var(--front);
	font-family: var(--display);
	font-size: clamp(26px, 5vw, 44px);
	font-weight: var(--strong);
	line-height: var(--tight);
	margin-inline: auto;
	max-width: var(--jkp-narrow);
	position: relative;
}

.d84-banner::before,
.d84-banner::after {
	color: var(--key);
	content: attr(data-text);
	inset: 0;
	opacity: 0.6;
	position: absolute;
}

.d84-banner::before {
	transform: translate(2px, -2px);
}

.d84-banner::after {
	color: var(--action-down);
	transform: translate(-2px, 2px);
}

.d84-note {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--roomy);
	margin-block: var(--g-4);
	margin-inline: auto;
	max-width: var(--jkp-narrow);
}

.d84-btn {
	background: var(--key);
	border-radius: var(--pill);
	color: var(--base-plane);
	display: inline-flex;
	align-items: center;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 48px;
	padding-inline: var(--g-4);
	text-decoration: none;
	transition: background-color var(--quick) var(--land), transform var(--quick) var(--land);
}

.d84-btn:hover {
	background: var(--action-down);
	color: var(--base-plane);
	transform: translateY(1px);
}

.e85 {
	background-color: var(--base-plane);
	background-image: linear-gradient(rgba(18, 18, 19, 0.84), rgba(18, 18, 19, 0.95)), url("/library/shot.webp");
	background-position: center;
	background-size: cover;
	border-bottom: var(--light) solid var(--hairline);
	color: var(--front);
	padding-block: var(--g-6);
}

.e85-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.e85-inside {
	margin-inline: auto;
	max-width: var(--jkp-narrow);
	text-align: center;
}

.e85-tagline {
	color: var(--house);
	display: block;
	font-family: var(--reading);
	font-size: var(--mini);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	margin-block-end: var(--g-3);
	text-transform: uppercase;
}

.e85-inside h1 {
	color: var(--front);
}

.e85-note {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--roomy);
	margin-block: var(--g-4);
}

.e85-btn {
	background: var(--key);
	border-radius: var(--pill);
	color: var(--base-plane);
	display: inline-flex;
	align-items: center;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 52px;
	padding-inline: var(--g-5);
	text-decoration: none;
}

.e85-fineprint {
	color: var(--muted);
	display: block;
	font-size: var(--mini);
	line-height: var(--regular);
	margin-block-start: var(--g-3);
}

.f70 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.f70-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.f70-head {
	margin-block-end: var(--g-4);
}

.f70-list {
	display: block;
}

.f70-entry {
	border-bottom: var(--light) solid var(--hairline);
	padding-block: var(--g-3);
}

.f70-entry summary {
	cursor: pointer;
	display: flex;
	gap: var(--g-2);
	list-style: none;
}

.f70-entry summary::-webkit-details-marker {
	display: none;
}

.f70-quiz {
	color: var(--front);
	font-family: var(--display);
	font-size: var(--h4);
	font-weight: var(--strong);
	line-height: var(--tight);
	margin: 0;
}

.f70-note {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--roomy);
	padding-block-start: var(--g-2);
}

.i20 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.i20-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.i20-head {
	margin-block-end: var(--g-4);
}

.i20-lead {
	background: #1d1a1f;
	border-radius: var(--r-5);
	color: var(--front);
	margin: 0 0 var(--g-5);
	padding: var(--g-5);
}

.i20-lead .i20-note {
	color: var(--front);
	font-size: var(--h4);
	font-style: italic;
	line-height: var(--regular);
}

.i20-stars {
	color: var(--house);
	display: block;
	font-size: 26px;
	letter-spacing: 2px;
	line-height: 1.3;
	margin-block-end: var(--g-2);
}

.i20-by {
	color: var(--muted);
	display: block;
	font-size: var(--petite);
	font-style: normal;
	margin-block-start: var(--g-3);
}

.i20-stack {
	align-items: start;
	display: grid;
	gap: var(--g-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.i20-block {
	background: var(--base-plane);
	border-top: var(--light) solid var(--hairline);
	color: var(--front);
	padding: var(--g-4) var(--g-3);
}

.i20-block .i20-stars {
	display: inline-block;
	font-size: 17px;
	margin: 0;
	vertical-align: middle;
}

.i20-rank {
	align-items: center;
	display: flex;
	gap: var(--g-2);
	justify-content: space-between;
	margin-block-end: var(--g-2);
}

.i20-block .i20-by {
	color: var(--front);
	font-size: var(--petite);
	font-weight: var(--strong);
	margin: 0;
}

.i20-block .i20-note {
	color: var(--muted);
	font-size: var(--petite);
	line-height: var(--regular);
}

.j54 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.j54-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.j54-frame {
	background: var(--base-plane);
	border: var(--mid) solid var(--key);
	border-radius: var(--r-4);
	color: var(--front);
	padding: var(--g-5);
}

.j54-line {
	display: block;
	margin-block-end: var(--g-4);
}

.j54-badge {
	color: var(--muted);
	display: block;
	font-size: var(--mini);
	letter-spacing: var(--spread);
	margin-block-end: var(--g-1);
	text-transform: uppercase;
}

.j54-line input,
.j54-line textarea {
	background: var(--base-plane);
	border: 0;
	border-bottom: var(--light) solid var(--rule-bold);
	color: var(--front);
	font-family: var(--reading);
	font-size: var(--h4);
	padding-block: var(--g-2);
	width: 100%;
}

.j54-line textarea {
	font-size: var(--z-reading);
	min-height: 130px;
	resize: vertical;
}

.j54-btn {
	background: var(--key);
	border: 0;
	border-radius: var(--r-4);
	color: var(--base-plane);
	cursor: pointer;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 48px;
	padding-inline: var(--g-4);
	transition: background-color var(--quick) var(--land), transform var(--quick) var(--land);
}

.j54-btn:hover {
	background: var(--action-down);
	color: var(--base-plane);
	transform: translateY(1px);
}

.j54-message {
	background: #1d2a1d;
	border-radius: var(--r-3);
	color: #bfe3bf;
	display: none;
	font-size: var(--petite);
	margin-block-start: var(--g-3);
	padding: var(--g-3);
}

.j54-message.is-open {
	display: block;
}

.j79 {
	background: transparent;
	color: var(--front);
	display: none;
	inset-block-end: var(--g-5);
	inset-inline-end: auto;
	inset-inline-start: var(--g-5);
	max-width: min(420px, calc(100vw - 2 * var(--g-5)));
	position: fixed;
	z-index: 90;
}

.j79.is-open {
	display: block;
	opacity: 1;
}

.j79.is-live {
	opacity: 0;
	transition: opacity var(--normal) var(--land), transform var(--gentle) var(--land);
}

.j79.is-gone {
	transform: translateX(120vw);
}

.j79-inside {
	background: var(--base-plane);
	border-inline-start: 4px solid var(--key);
	border-start-end-radius: var(--r-3);
	border-end-end-radius: var(--r-3);
	box-shadow: var(--d-5);
	color: var(--front);
	display: flex;
	flex-direction: column;
	gap: var(--g-3);
	padding: var(--g-4);
}

.j79-message {
	color: var(--front);
	font-size: var(--petite);
	line-height: var(--regular);
	margin: 0;
}

.j79-tools {
	display: flex;
	gap: var(--g-3);
	justify-content: flex-start;
}

.j79-accept,
.j79-refuse {
	align-items: center;
	border-radius: var(--r-4);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--reading);
	font-size: var(--mini);
	font-weight: var(--strong);
	justify-content: center;
	letter-spacing: var(--spread);
	min-height: 40px;
	padding-inline: var(--g-3);
}

.j79-accept {
	background: var(--house);
	border: 0;
	color: var(--jkp-ink);
}

.j79-accept:hover {
	background: var(--blend-b);
	color: var(--jkp-ink);
}

.j79-refuse {
	background: var(--layer);
	border: var(--light) solid var(--rule-bold);
	color: var(--front);
}

.j79-refuse:hover {
	background: var(--rule-bold);
	color: var(--front);
}

.k19 {
	background: var(--house);
	color: var(--jkp-ink);
	padding-block: var(--g-6);
}

.k19-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.k19-spread {
	display: grid;
	gap: var(--g-6);
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
}

.k19-column {
	min-width: 0;
}

.k19-sign {
	background: var(--base-plane);
	border-radius: var(--r-3);
	color: var(--front);
	display: inline-block;
	margin-block-end: var(--g-3);
	padding: var(--g-2) var(--g-3);
}

.k19-figure {
	display: block;
	height: 52px;
	width: auto;
}

.k19-tagline {
	color: var(--jkp-ink-soft);
	font-size: var(--petite);
	line-height: var(--regular);
	margin-block-end: var(--g-3);
}

.k19-btn {
	align-items: center;
	background: var(--base-plane);
	border-radius: var(--pill);
	color: var(--house);
	display: inline-flex;
	font-family: var(--reading);
	font-size: var(--mini);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 46px;
	padding-inline: var(--g-4);
	text-decoration: none;
}

.k19-head {
	color: var(--jkp-ink);
	font-family: var(--display);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	margin-block-end: var(--g-4);
	text-transform: uppercase;
}

.k19-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.k19-entry {
	margin-block-end: var(--g-2);
}

.k19-hop {
	background: var(--house);
	color: var(--jkp-ink-soft);
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--w-regular);
	text-decoration: none;
	transition: color var(--quick) var(--land);
}

.k19-hop:hover {
	background: var(--house);
	color: var(--jkp-ink-hot);
}

.k19-strip {
	border-top: var(--light) solid rgba(59, 50, 8, 0.35);
	margin-block-start: var(--g-5);
	padding-block-start: var(--g-4);
	text-align: center;
}

.k19-copy {
	background: var(--house);
	color: var(--jkp-ink-soft);
	font-size: var(--mini);
	line-height: var(--regular);
	margin: 0;
}

.p31 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.p31-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.p31-block {
	background: var(--layer);
	border-inline-start: 4px solid var(--key);
	border-radius: var(--r-4);
	color: var(--front);
	display: grid;
	gap: var(--g-5);
	grid-template-columns: 100px minmax(0, 1fr);
	padding: var(--g-5);
}

.p31-photo {
	border-radius: var(--dot);
	display: block;
	height: 100px;
	object-fit: cover;
	width: 100px;
}

.p31-inside {
	min-width: 0;
}

.p31-quote {
	color: var(--key);
	display: block;
	font-family: var(--display);
	font-size: var(--xxl);
	line-height: 1;
}

.p31-bio {
	color: var(--front);
	font-size: var(--h5);
	font-style: italic;
	line-height: var(--regular);
	margin-block: var(--g-2);
}

.p31-by {
	color: var(--muted);
	display: block;
	font-size: var(--petite);
	letter-spacing: var(--spread);
}

.p34 {
	background: var(--base-plane);
	color: var(--front);
}

.p34-inner {
	align-items: center;
	border-bottom: var(--light) solid var(--hairline);
	display: flex;
	gap: var(--g-2);
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-block: var(--g-3);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.p34-photo {
	border-radius: var(--dot);
	flex-shrink: 0;
	height: 28px;
	object-fit: cover;
	width: 28px;
}

.p34-detail {
	color: var(--muted);
	font-size: var(--petite);
	line-height: var(--regular);
}

.p34-hop {
	background: var(--base-plane);
	color: var(--key);
	text-decoration: none;
}

.p34-hop:hover {
	background: var(--base-plane);
	color: var(--blend-b);
	text-decoration: underline;
}

.p34-job {
	color: var(--muted);
}

.page {
	display: block;
	flex: 1 0 auto;
}

.rgband {
	background: var(--base-plane);
	padding-block: var(--g-2);
	padding-inline: var(--padding-desktop);
}

.rgband-note {
	background: var(--warn-band);
	border-radius: var(--r-3);
	color: var(--front);
	display: block;
	font-size: var(--mini);
	line-height: var(--regular);
	margin-inline: auto;
	max-width: var(--site);
	padding: var(--g-2) var(--g-3);
	text-align: center;
}

.rgband-hop {
	background: var(--warn-band);
	color: var(--front);
	font-weight: var(--strong);
	text-decoration: underline;
}

.rgband-hop:hover {
	background: var(--warn-band);
	color: var(--house);
}

.skip-hop {
	background: var(--house);
	border-radius: var(--r-2);
	color: var(--jkp-ink);
	inset-inline-start: var(--g-3);
	padding: var(--g-2) var(--g-3);
	position: absolute;
	text-decoration: none;
	top: var(--g-3);
	z-index: 200;
}

.skip-hop:not(:focus) {
	top: -200px;
}

.sr-only {
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.t03 {
	background: var(--base-plane);
	color: var(--front);
	display: block;
	padding-block: var(--jkp-sec-y);
}

.t03-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.t03-block {
	background: var(--layer);
	border: var(--light) solid var(--rule-bold);
	border-radius: var(--r-4);
	color: var(--front);
	margin-inline: auto;
	max-width: 600px;
	padding: var(--g-5);
	text-align: center;
}

.t03-head {
	color: var(--front);
	font-family: var(--display);
	font-size: var(--h4);
	font-weight: var(--strong);
	line-height: var(--tight);
	margin-block-end: var(--g-2);
}

.t03-note {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--regular);
	margin-block-end: var(--g-3);
}

.t03-btn {
	align-items: center;
	background: var(--key);
	border-radius: var(--r-4);
	color: var(--base-plane);
	display: inline-flex;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 48px;
	padding-inline: var(--g-5);
	text-decoration: none;
	text-transform: uppercase;
}

.t49 {
	background: var(--base-plane);
	border-bottom: var(--light) solid var(--hairline);
	color: var(--front);
	position: sticky;
	top: 0;
	z-index: 100;
}

.t49-rank {
	align-items: center;
	display: flex;
	gap: var(--g-3);
	height: 86px;
	margin-inline: auto;
	max-width: 1440px;
	min-height: 86px;
	padding-inline: var(--g-5);
	transition: height var(--normal) var(--land), min-height var(--normal) var(--land);
	width: 100%;
}

.t49.is-shrunk .t49-rank {
	height: 64px;
	min-height: 64px;
}

.t49.is-shrunk .t49-figure {
	height: 44px;
}

.t49-menu-opener {
	align-items: center;
	background: var(--base-plane);
	border: var(--light) solid var(--rule-bold);
	border-radius: var(--r-3);
	color: var(--front);
	cursor: pointer;
	display: none;
	flex-direction: column;
	flex-shrink: 0;
	gap: 5px;
	height: 46px;
	justify-content: center;
	order: 1;
	width: 48px;
}

.t49-lines {
	background: var(--front);
	display: block;
	height: 2px;
	transition: transform var(--normal) var(--land), opacity var(--normal) var(--land);
	width: 20px;
}

.t49-menu-opener[aria-expanded="true"] .t49-lines:nth-child(1) {
	transform: translateY(4px) rotate(45deg);
}

.t49-menu-opener[aria-expanded="true"] .t49-lines:nth-child(2) {
	transform: translateY(-3px) rotate(-45deg);
}

.t49-routes {
	flex: 0 1 auto;
	min-width: 0;
	order: 2;
}

.t49-list {
	align-items: center;
	display: flex;
	gap: var(--g-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.t49-entry {
	display: flex;
	flex-shrink: 0;
}

.t49-entry[hidden] {
	display: none;
}

.t49-hop {
	background: var(--base-plane);
	border-top: var(--mid) solid transparent;
	color: var(--front);
	display: inline-flex;
	align-items: center;
	font-family: var(--reading);
	font-size: 16px;
	font-weight: 600;
	min-height: 44px;
	padding-block-start: 2px;
	text-decoration: none;
	transition: color var(--quick) var(--land), transform var(--quick) var(--land);
	white-space: nowrap;
}

.t49-hop:hover {
	background: var(--base-plane);
	color: var(--house);
	transform: translateY(-2px);
}

.t49-hop[aria-current="page"] {
	border-top-color: var(--house);
	color: var(--house);
}

.t49-more {
	display: flex;
	position: relative;
}

.t49-more[hidden] {
	display: none;
}

.t49-more-opener {
	align-items: center;
	background: var(--base-plane);
	border: 0;
	border-top: var(--mid) solid transparent;
	color: var(--front);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--reading);
	font-size: 16px;
	font-weight: 600;
	min-height: 44px;
	white-space: nowrap;
}

.t49-more-opener:hover {
	background: var(--base-plane);
	color: var(--house);
}

.t49-more-pane {
	background: var(--layer);
	border: var(--light) solid var(--rule-bold);
	border-radius: var(--r-3);
	box-shadow: var(--d-5);
	display: none;
	inset-block-start: calc(100% + 6px);
	inset-inline-end: 0;
	list-style: none;
	margin: 0;
	max-height: 60vh;
	min-width: 210px;
	overflow-y: auto;
	padding: var(--g-2);
	position: absolute;
	z-index: 60;
}

.t49-more-pane.is-open {
	display: block;
}

.t49-more-pane .t49-entry {
	display: block;
	width: 100%;
}

.t49-more-pane .t49-hop {
	background: var(--layer);
	border-top: 0;
	display: block;
	padding: var(--g-2);
	white-space: normal;
}

.t49-more-pane .t49-hop:hover {
	background: var(--layer);
	color: var(--house);
	transform: none;
}

.t49-tools {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: var(--g-3);
	margin-inline-start: auto;
	order: 3;
}

.t49-badge {
	background: var(--layer);
	border: var(--light) solid var(--rule-bold);
	border-radius: var(--r-2);
	color: var(--muted);
	font-size: var(--mini);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	padding: 3px 8px;
}

.t49-btn {
	align-items: center;
	background: var(--key);
	border-radius: var(--pill);
	color: var(--base-plane);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 46px;
	padding-inline: var(--g-4);
	text-decoration: none;
	white-space: nowrap;
}

.t49-sign {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	order: 4;
}

.t49-figure {
	display: block;
	flex-shrink: 0;
	height: 60px;
	transition: height var(--normal) var(--land);
	width: auto;
}

.t49-flyout {
	background: var(--base-plane);
	border-top: var(--light) solid var(--hairline);
	display: none;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	padding-block: var(--g-3);
	padding-inline: var(--g-5);
}

.t49-flyout.is-open {
	display: block;
}

.t49-flyout-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.t49-flyout-entry {
	display: block;
}

.t49-flyout-hop {
	background: var(--base-plane);
	color: var(--front);
	display: block;
	font-family: var(--reading);
	font-size: 16px;
	font-weight: 600;
	min-height: 44px;
	padding-block: var(--g-2);
	text-decoration: none;
}

.t49-flyout-hop:hover {
	background: var(--base-plane);
	color: var(--house);
}

.t49-flyout-hop[aria-current="page"] {
	color: var(--house);
}

.u67 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.u67-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.u67-part {
	margin-block-start: var(--g-4);
}

.u67-part:first-child {
	margin-block-start: 0;
}

.u67-part h2 {
	margin-block-end: var(--g-3);
}

.u67-part p {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--roomy);
	margin-block-end: var(--g-3);
}

.u67-part > p:first-of-type {
	color: var(--front);
	font-size: calc(var(--z-reading) * 1.25);
	line-height: var(--regular);
}

.u67-part p a,
.u67-part li a {
	background: var(--base-plane);
	color: var(--key);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--quick) var(--land);
}

.u67-part p a:hover,
.u67-part li a:hover {
	background: var(--base-plane);
	color: var(--blend-b);
}

.u67-part strong {
	color: var(--front);
	font-weight: var(--strong);
}

.u67-part ul,
.u67-part ol {
	color: var(--muted);
	line-height: var(--roomy);
	margin-block: 0 var(--g-3);
	padding-inline-start: var(--g-4);
}

.u67-part li {
	margin-block-end: var(--g-1);
}

.u67-shot {
	margin: 0 0 var(--g-4);
}

.u67-shot img {
	border-radius: var(--r-4);
	display: block;
	height: auto;
	max-height: 54vh;
	object-fit: cover;
	width: 100%;
}

.u67-push {
	margin-block: var(--g-4);
}

.u67-btn {
	align-items: center;
	background: var(--key);
	border-radius: var(--pill);
	color: var(--base-plane);
	display: inline-flex;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 48px;
	padding-inline: var(--g-4);
	text-decoration: none;
}

.y37 {
	background: var(--layer);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.y37-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	text-align: left;
	width: 100%;
}

.y37-tagline {
	color: var(--house);
	display: block;
	font-size: var(--mini);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	margin-block-end: var(--g-2);
	text-transform: uppercase;
}

.y37-head {
	color: var(--front);
	font-family: var(--display);
	font-size: var(--xl-2);
	font-weight: var(--strong);
	line-height: var(--tight);
	margin: 0;
}

.y37-note {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--roomy);
	margin-block: var(--g-3);
	max-width: var(--jkp-narrow);
}

.y37-btn {
	align-items: center;
	background: var(--key);
	border-radius: var(--pill);
	color: var(--base-plane);
	display: inline-flex;
	font-family: var(--reading);
	font-size: var(--petite);
	font-weight: var(--strong);
	letter-spacing: var(--spread);
	min-height: 52px;
	padding-inline: var(--g-5);
	text-decoration: none;
}

.y37-fineprint {
	color: var(--muted);
	display: block;
	font-size: var(--mini);
	line-height: var(--regular);
	margin-block-start: var(--g-3);
}

.y39 {
	background: var(--base-plane);
	color: var(--front);
	padding-block: var(--jkp-sec-y);
}

.y39-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.y39-part {
	margin-block-start: var(--g-4);
}

.y39-part:first-child {
	margin-block-start: 0;
}

.y39-part h2 {
	color: var(--front);
	font-family: var(--reading);
	font-size: var(--lg-2);
	font-weight: var(--strong);
	margin-block-end: var(--g-2);
}

.y39-note {
	color: var(--muted);
	font-size: var(--z-reading);
	line-height: var(--roomy);
	margin-block-end: var(--g-3);
}

.y39-list {
	color: var(--muted);
	line-height: var(--roomy);
	margin-block: 0 var(--g-3);
	padding-inline-start: var(--g-4);
}

.y39-posted {
	color: var(--muted);
	display: block;
	font-size: var(--mini);
	margin-block-end: var(--g-4);
}

.y39-fine {
	color: var(--muted);
	display: block;
	font-size: var(--mini);
	line-height: var(--regular);
	margin-block-start: var(--g-4);
}

.y82 {
	background: var(--house);
	color: var(--jkp-ink);
	padding-block: var(--g-6);
}

.y82-inner {
	margin-inline: auto;
	max-width: var(--jkp-frame);
	padding-inline: var(--padding-desktop);
	width: 100%;
}

.y82-banner {
	color: var(--jkp-ink);
	font-family: var(--display);
	font-size: clamp(30px, 5.4vw, 52px);
	font-weight: var(--strong);
	line-height: var(--tight);
	margin: 0;
}

.y82-note {
	color: var(--jkp-ink-soft);
	font-size: var(--z-reading);
	line-height: var(--regular);
	margin-block-start: var(--g-3);
	max-width: var(--jkp-narrow);
}

@media (max-width: 1160px) {
	.t49-rank {
		gap: var(--g-2);
		padding-inline: var(--g-4);
	}

	.k19-spread {
		gap: var(--g-4);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	.t49-menu-opener {
		display: inline-flex;
	}

	.t49-routes {
		display: none;
	}

	.t49-rank {
		flex-wrap: wrap;
		height: auto;
		min-height: 62px;
		padding-block: var(--g-2);
		padding-inline: var(--g-3);
	}

	.t49.is-shrunk .t49-rank {
		height: auto;
		min-height: 62px;
	}

	.t49-figure {
		height: 44px;
	}

	.t49.is-shrunk .t49-figure {
		height: 40px;
	}

	.t49-badge {
		display: none;
	}

	.t49-tools {
		margin-inline-start: 0;
		order: 5;
		width: 100%;
	}

	.t49-btn {
		flex: 1 1 auto;
		justify-content: center;
		min-height: 46px;
	}

	.t49-sign {
		margin-inline-start: auto;
		order: 2;
	}

	.b56-stack,
	.i20-stack {
		grid-template-columns: minmax(0, 1fr);
	}

	.b56-flag {
		gap: var(--g-3);
		grid-template-columns: minmax(0, 1fr);
	}

	.b56-flag-head {
		margin-block-end: 0;
	}

	.p31-block {
		gap: var(--g-3);
		grid-template-columns: minmax(0, 1fr);
	}

	.k19 {
		padding-block: var(--g-5);
	}
}

@media (max-width: 720px) {
	.j79 {
		inset-block-end: var(--g-3);
		inset-inline-end: var(--g-3);
		inset-inline-start: var(--g-3);
		max-width: none;
	}

	.j79-inside {
		font-size: 13px;
		gap: 8px;
		line-height: 1.35;
		padding: 12px 14px;
	}

	.j79-message {
		font-size: 13px;
		line-height: 1.35;
	}

	.j79-accept,
	.j79-refuse {
		flex: 1 1 auto;
		font-size: 12px;
		min-height: 38px;
		padding-inline: 14px;
	}

	.k19-spread {
		grid-template-columns: minmax(0, 1fr);
	}

	.e85 {
		padding-block: var(--g-5);
	}

	.y82 {
		padding-block: var(--g-5);
	}

	.b56-flag {
		padding: var(--g-4) var(--g-3);
	}

	.i20-lead {
		padding: var(--g-4) var(--g-3);
	}

	.j54-frame {
		padding: var(--g-4) var(--g-3);
	}

	.t03-block {
		padding: var(--g-4) var(--g-3);
	}

	.p31-block {
		padding: var(--g-4) var(--g-3);
	}
}

@media (max-width: 580px) {
	:root {
		--xxl: clamp(26px, 7.6vw, 28px);
		--xl-2: 24px;
		--lg-2: 20px;
		--h4: 18px;
		--h5: 16px;
		--h6: 14px;
		--z-reading: 16px;
		--petite: 14px;
		--mini: 12px;
		--padding-desktop: 16px;
		--jkp-sec-y: 38px;
	}

	.a02-grid th,
	.a02-grid td {
		padding: 8px 6px;
		white-space: normal;
	}

	.e85 {
		padding-block: var(--g-4);
	}

	.e85-btn {
		justify-content: center;
		width: 100%;
	}

	.y37-btn,
	.t03-btn,
	.u67-btn {
		justify-content: center;
		width: 100%;
	}

	.j79-tools {
		flex-direction: column;
	}

	.j79-accept,
	.j79-refuse {
		white-space: normal;
		width: 100%;
	}

	.t49-rank {
		padding-inline: var(--g-2);
	}

	.t49-figure {
		height: 38px;
	}

	.t49.is-shrunk .t49-figure {
		height: 34px;
	}

	.t49-flyout {
		padding-inline: var(--g-3);
	}

	.k19 {
		padding-block: var(--g-4);
	}

	.u67-part > p:first-of-type {
		font-size: calc(var(--z-reading) * 1.15);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	[data-emerge] {
		opacity: 1;
		transform: none;
	}
}

@property --shine-deal {
	syntax: "<percentage>";
	inherits: false;
	initial-value: -60%;
}

.deal-act {
	animation: deal-beat 1686ms var(--in-out) infinite;
	background-color: #059669;
	background-image: linear-gradient(100deg, transparent calc(var(--shine-deal) - 24%), rgba(255, 255, 255, 0.42) var(--shine-deal), transparent calc(var(--shine-deal) + 24%));
	background-repeat: no-repeat;
	color: #121213;
	position: relative;
	text-decoration: none;
	transition: background-color var(--quick) var(--in-out), box-shadow var(--quick) var(--in-out);
}

.deal-act:hover {
	animation: none;
	background-color: #047857;
	color: #ffffff;
	text-decoration: none;
}

.deal-act:active {
	background-color: #065f46;
	color: #ffffff;
}

.deal-act:focus-visible {
	outline: 3px solid #ffe038;
	outline-offset: 3px;
}

.k19-btn.deal-act {
	box-shadow: 0 0 0 2px var(--jkp-ink);
}

@keyframes deal-beat {
	0% {
		--shine-deal: -60%;
	}

	69.444%,
	100% {
		--shine-deal: 160%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.deal-act {
		animation: none !important;
		transition: none !important;
	}
}
