:root {
  --th-black: #080808;
  --th-yellow: #ffd400;
  --th-white: #ffffff;
  --th-gray-050: #fafafa;
  --th-gray-100: #f1f1ef;
  --th-gray-300: #c9c9c9;
  --th-gray-600: #5d5d5d;
}

/* Mobile-first home portal and card specification archive (1.13.0-rc8). */
.home-portal-shell,
.th-card-archive-page .site-shell { background: #fff; }

.home-portal {
	display: grid;
	gap: 14px;
	padding: 14px 12px 28px;
	background: #fff;
}

.home-feature,
.home-tile,
.home-spotlight-card {
	color: inherit;
	text-decoration: none;
}

.home-feature {
	position: relative;
	display: grid;
	min-height: 256px;
	grid-template-columns: minmax(0, 1.08fr) minmax(118px, .92fr);
	align-items: center;
	overflow: hidden;
	padding: 22px 18px;
	border-radius: 14px;
	box-shadow: 0 7px 18px rgba(0, 0, 0, .12);
}

.home-feature--spec {
	background: radial-gradient(circle at 28% 20%, #ffe66c 0, #ffd400 44%, #ffbf00 100%);
	color: #080808;
}

.home-feature--oripa {
	min-height: 230px;
	background: radial-gradient(circle at 35% 18%, #292929 0, #111 48%, #050505 100%);
	color: #fff;
}

.home-feature__copy { position: relative; z-index: 2; }
.home-feature__eyebrow {
	display: inline-flex;
	min-height: 30px;
	align-items: center;
	margin-bottom: 9px;
	padding: 4px 10px;
	border-radius: 7px;
	background: #080808;
	color: #fff;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .05em;
}
.home-feature--oripa .home-feature__eyebrow { background: #ffd400; color: #080808; }
.home-feature h2 { margin: 0 0 13px; font-size: clamp(1.42rem, 6vw, 2.3rem); line-height: 1.18; }
.home-feature p { margin: 0; font-size: clamp(.86rem, 3.55vw, 1.08rem); line-height: 1.75; }
.home-feature p strong { font-weight: 900; }
.home-feature__visual { position: relative; z-index: 1; min-width: 0; }
.home-feature__visual .th-card-mini-radar { margin: 0; }
.home-feature__visual .th-card-mini-radar svg { width: 100%; min-width: 138px; }
.home-feature__visual .th-card-mini-radar figcaption { color: #111; }
.home-feature__arrow,
.home-tile__arrow {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 50%;
	background: #080808;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}
.home-feature__arrow { position: absolute; right: 14px; bottom: 14px; }
.home-feature--oripa .home-feature__arrow { background: #fff; color: #080808; }
.home-feature__oripa-icon {
	position: relative;
	display: grid;
	width: min(34vw, 180px);
	aspect-ratio: 4 / 5;
	place-items: center;
	justify-self: center;
	border: 5px solid #fff;
	border-radius: 14px;
	transform: rotate(5deg);
}
.home-feature__oripa-icon span { color: #ffd400; font-size: 4rem; line-height: 1; }
.home-feature__oripa-icon b { position: absolute; bottom: 18px; font-size: 2rem; }

.home-portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.home-tile {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 250px;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 20px 12px 54px;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 5px 16px rgba(0, 0, 0, .08);
	text-align: center;
}
.home-tile__icon {
	position: relative;
	display: grid;
	width: 72px;
	height: 72px;
	place-items: center;
	margin-bottom: 12px;
	border: 4px solid #080808;
	color: #080808;
	font-size: 2.1rem;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}
.home-tile__icon--shop { border-top: 16px solid #ffd400; }
.home-tile__icon i { position: absolute; right: -13px; bottom: -7px; color: #ffd400; font-size: 1.7rem; font-style: normal; }
.home-tile h2 { margin: 0 0 10px; font-size: clamp(1.05rem, 4.8vw, 1.48rem); line-height: 1.25; }
.home-tile p { margin: 0; font-size: clamp(.76rem, 3.3vw, .96rem); line-height: 1.68; }
.home-tile__arrow { position: absolute; right: 12px; bottom: 12px; }

.home-card-search,
.home-spotlight {
	padding: 16px 14px;
	border: 1px solid #ececec;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 5px 16px rgba(0, 0, 0, .07);
}
.home-card-search h2 { margin: 0 0 14px; padding-bottom: 9px; border-bottom: 3px solid #ffd400; font-size: clamp(1.05rem, 4.5vw, 1.35rem); text-align: center; }
.home-card-search form { display: grid; gap: 10px; }
.home-card-search input,
.th-card-search input {
	width: 100%;
	min-height: 50px;
	padding: 10px 13px;
	border: 2px solid #aaa;
	border-radius: 8px;
	background: #fff;
}
.home-card-search button,
.th-card-search button,
.th-card-load-more {
	display: flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 10px 16px;
	border: 0;
	border-radius: 8px;
	background: linear-gradient(90deg, #ffd400, #ffbf00);
	color: #080808;
	font-weight: 900;
	text-decoration: none;
}
.home-card-search button span { margin-left: auto; font-size: 1.8rem; }

.home-spotlight__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.home-spotlight__heading h2 { margin: 0; font-size: 1.05rem; }
.home-spotlight__heading a { color: #075bc7; font-size: .82rem; font-weight: 700; }
.home-spotlight__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.home-spotlight-card { display: grid; min-width: 0; gap: 5px; align-content: start; }
.home-spotlight-card img,
.home-spotlight-card__placeholder { display: grid; width: 100%; aspect-ratio: 5 / 7; place-items: center; overflow: hidden; border: 1px solid #c8c8c8; border-radius: 4px; background: #efefef; object-fit: cover; }
.home-spotlight-card strong { overflow: hidden; font-size: .76rem; line-height: 1.35; text-overflow: ellipsis; }
.home-spotlight-card small { color: #075bc7; font-size: .68rem; font-weight: 700; }
.home-spotlight__empty { margin: 0; padding: 22px 10px; background: #f5f5f5; color: #555; text-align: center; }

.th-card-archive { min-height: 65vh; padding: 16px 12px 36px; background: #fff; }
.th-card-breadcrumb { display: flex; min-height: 44px; align-items: center; gap: 10px; overflow-x: auto; white-space: nowrap; }
.th-card-breadcrumb a { color: #075bc7; text-underline-offset: 3px; }
.th-card-archive > h1 { margin: 12px 0 18px; font-size: clamp(1.8rem, 8vw, 2.8rem); line-height: 1.2; }
.th-card-search { display: grid; gap: 10px; padding: 12px; border: 1px solid #e5e5e5; border-radius: 10px; box-shadow: 0 4px 13px rgba(0, 0, 0, .07); }
.th-card-sort { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0 14px; overflow: visible; border: 1px solid #ddd; border-radius: 10px; background: #ddd; gap: 1px; }
.th-card-sort a { display: grid; min-width: 0; min-height: 68px; place-items: center; align-content: center; padding: 7px 4px; background: #fff; text-align: center; text-decoration: none; }
.th-card-sort a:nth-child(1) { grid-column: 1 / -1; min-height: 56px; border-radius: 9px 9px 0 0; }
.th-card-sort a:nth-child(5) { border-radius: 0 0 0 9px; }
.th-card-sort a:nth-child(7) { border-radius: 0 0 9px; }
.th-card-sort a.is-current { background: linear-gradient(135deg, #ffd400, #ffbf00); }
.th-card-sort a:focus-visible { position: relative; z-index: 2; outline: 3px solid #075bc7; outline-offset: -3px; }
.th-card-sort strong { display: grid; font-size: .78rem; line-height: 1.15; }
.th-card-sort strong span { display: block; }
.th-card-sort small { margin-top: 3px; font-size: .66rem; }
.th-card-archive__meta { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; }
.th-card-archive__meta p { margin: 0; font-weight: 800; }
.th-card-archive__meta a { color: #075bc7; font-size: .82rem; }
.th-card-results { display: grid; gap: 12px; }
.th-card-summary {
	position: relative;
	display: grid;
	grid-template-columns: minmax(68px, 78px) minmax(0, 1fr) minmax(88px, 105px);
	align-items: center;
	gap: 7px;
	min-width: 0;
	padding: 10px 37px 10px 8px;
	border: 1px solid #e7e7e7;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .07);
}
.th-card-summary__demo { grid-column: 1 / -1; margin: -2px 0 2px; padding: 4px 7px; background: #fff2a5; font-size: .66rem; font-weight: 900; }
.th-card-summary__main { display: contents; }
.th-card-summary__visual { display: block; min-width: 0; align-self: center; text-decoration: none; }
.th-card-summary .th-psa-slab--summary { width: 100%; padding: 4px 4px 5px; border-width: 1px; border-radius: 6px; }
.th-card-summary .th-psa-slab__label { grid-template-rows: auto 3px; gap: 1px 2px; margin-bottom: 3px; padding: 2px; border-width: 2px; }
.th-card-summary .th-psa-slab__label > strong { font-size: .46rem; letter-spacing: 0; }
.th-card-summary .th-psa-slab__meta { font-size: .22rem; }
.th-card-summary .th-psa-slab__barcode { width: 19px; height: 3px; }
.th-card-summary .th-psa-slab__label::after { bottom: -4px; width: 7px; height: 7px; }
.th-card-summary .th-psa-slab__image { position: relative; display: block; min-height: 0; aspect-ratio: .72 / 1; padding: 3px; border-width: 3px 3px 5px; }
.th-card-summary .th-psa-slab__image img { position: absolute; top: 50%; left: 50%; width: 220%; max-width: none; height: auto; transform: translate(-50%, -50%); }
.th-card-summary .th-psa-slab__pending { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: .5rem; text-align: center; }
.th-card-summary__copy { min-width: 0; align-self: center; }
.th-card-summary__copy h2,
.th-card-summary__copy h3 { margin: 0 0 4px; overflow-wrap: anywhere; font-size: clamp(.73rem, 3.25vw, 1.08rem); line-height: 1.28; }
.th-card-summary__copy h2 a,
.th-card-summary__copy h3 a { text-decoration: none; }
.th-card-summary__number { margin: 0 0 6px; overflow-wrap: anywhere; color: #444; font-size: .62rem; line-height: 1.35; }
.th-card-summary__price { margin: 0; }
.th-card-summary__price span { display: block; font-size: .65rem; font-weight: 700; }
.th-card-summary__price strong { display: block; white-space: nowrap; font-size: clamp(.9rem, 4.2vw, 1.5rem); line-height: 1.15; }
.th-card-summary__metric { display: inline-flex; max-width: 100%; gap: 3px; margin: 6px 0 0; padding: 3px 5px; border-radius: 4px; background: #080808; color: #fff; font-size: .58rem; line-height: 1.25; }
.th-card-summary__metric strong { color: #ffd400; }
.th-card-mini-radar { width: 100%; min-width: 0; max-width: 105px; align-self: center; justify-self: center; margin: 0; }
.th-card-mini-radar svg { display: block; width: 100%; height: auto; overflow: visible; }
.th-card-mini-radar__grid polygon,
.th-card-mini-radar__grid line { fill: none; stroke: #777; stroke-width: 1; }
.th-card-mini-radar__grid polygon:last-of-type { stroke: #080808; stroke-width: 2; }
.th-card-mini-radar__value { fill: rgba(255, 212, 0, .54); stroke: #e0a900; stroke-width: 3; }
.th-card-mini-radar__partial-value line { stroke: #e0a900; stroke-linecap: round; stroke-width: 5; }
.th-card-mini-radar__partial-value circle { fill: #ffd400; stroke: #080808; stroke-width: 1.5; }
.th-card-mini-radar__unknown-node circle { fill: #080808; stroke: #f0b900; stroke-width: 2; vector-effect: non-scaling-stroke; }
.th-card-mini-radar__unknown-node text { fill: #fff; font-size: 12px; font-weight: 900; text-anchor: middle; dominant-baseline: central; }
.th-card-mini-radar__labels { fill: #080808; font-size: 13px; font-weight: 800; }
.th-card-mini-radar figcaption { color: #666; font-size: .65rem; text-align: center; }
.th-card-summary__link { position: absolute; top: 50%; right: 7px; display: grid; width: 34px; height: 44px; place-items: center; overflow: hidden; border-radius: 22px; background: #080808; color: #fff; font-size: 0; text-decoration: none; transform: translateY(-50%); }
.th-card-summary__link span { font-size: 1.8rem; }
.th-card-results__empty { padding: 35px 16px; border: 1px solid #ddd; border-radius: 10px; background: #f7f7f7; text-align: center; }
.th-card-results__empty p { margin-bottom: 0; }
.th-card-load-more { margin-top: 16px; font-size: 1.05rem; }
.th-card-load-more span { margin-left: auto; font-size: 1.8rem; }
.th-card-load-note { margin: 7px 0 0; color: #666; font-size: .76rem; text-align: center; }

@media (min-width: 600px) {
	.home-portal { padding: 20px; }
	.home-card-search form,
	.th-card-search { grid-template-columns: minmax(0, 1fr) 210px; }
	.th-card-search input[type="hidden"] { display: none; }
	.th-card-sort { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.th-card-sort a { min-height: 82px; padding: 8px 5px; }
	.th-card-sort a:nth-child(1) { grid-column: auto; border-radius: 9px 0 0 9px; }
	.th-card-sort a:nth-child(5) { border-radius: 0; }
	.th-card-sort a:nth-child(7) { border-radius: 0 9px 9px 0; }
	.th-card-summary { grid-template-columns: 130px minmax(0, 1fr) minmax(180px, 210px); gap: 18px; padding: 14px 48px 14px 14px; }
	.th-card-summary .th-psa-slab__label > strong { font-size: .72rem; }
	.th-card-summary .th-psa-slab__meta { font-size: .32rem; }
	.th-card-summary .th-psa-slab__barcode { width: 30px; height: 4px; }
	.th-card-mini-radar { max-width: 210px; }
}

@media (min-width: 860px) {
	.home-portal { gap: 20px; padding: 24px 28px 42px; }
	.home-feature { min-height: 320px; padding: 34px 42px; }
	.home-feature--oripa { min-height: 280px; }
	.home-portal-grid { gap: 18px; }
	.home-tile { min-height: 280px; padding: 24px 18px 58px; }
	.home-card-search,
	.home-spotlight { padding: 20px 24px; }
	.th-card-archive { padding: 24px 28px 48px; }
	.th-card-results { grid-template-columns: minmax(0, 1fr); }
	.th-card-summary { grid-template-columns: 160px minmax(0, 1fr) minmax(220px, 250px); padding: 16px 58px 16px 16px; }
	.th-card-mini-radar { max-width: 250px; }
	.th-card-summary__copy h2,
	.th-card-summary__copy h3 { font-size: 1.35rem; }
}

@media (max-width: 359px) {
	.home-feature { grid-template-columns: minmax(0, 1.15fr) minmax(102px, .85fr); padding: 18px 14px; }
	.home-feature h2 { font-size: 1.28rem; }
	.home-feature p { font-size: .76rem; }
	.home-tile { min-height: 260px; padding-inline: 8px; }
	.home-tile h2 { font-size: .98rem; }
	.home-tile p { font-size: .7rem; }
	.th-card-summary { grid-template-columns: 66px minmax(0, 1fr) 84px; gap: 5px; padding-right: 35px; padding-left: 6px; }
	.th-card-mini-radar__labels { font-size: 11px; }
}

@media (max-width: 480px) {
	.th-card-summary__link { right: 4px; width: 30px; }
}

* { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--th-gray-100);
  color: #111111;
  font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans JP", sans-serif;
  line-height: 1.55;
}

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

button,
input,
select,
textarea { font: inherit; }

a { color: inherit; }

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

.site-shell {
  position: relative;
  width: min(100%, 1160px);
  margin: 0 auto;
  overflow: hidden;
  background: var(--th-white);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.12);
}

.update-strip {
  padding: 4px 12px;
  background: var(--th-yellow);
  color: var(--th-black);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
}

.site-header {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 6px 16px;
  border-bottom: 4px solid var(--th-yellow);
  background: var(--th-white);
}

.brand {
  display: block;
  min-width: 0;
  width: min(100%, 360px);
}

.brand > a { display: block; text-decoration: none; }
.brand .custom-logo-link { display: block; }
.brand .custom-logo { display: block; width: auto; max-width: 100%; height: auto; max-height: 75px; }
.brand__source-logo {
  display: block;
  width: 100%;
  max-width: 360px;
  aspect-ratio: 4.8 / 1;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.menu-toggle,
.menu-close,
.buylist-dialog__close {
  border: 2px solid var(--th-black);
  border-radius: 4px;
  background: var(--th-yellow);
  color: var(--th-black);
  cursor: pointer;
  font-weight: 700;
}

.menu-toggle { min-height: 44px; padding: 10px 12px; white-space: nowrap; }
.menu-close,
.buylist-dialog__close { padding: 7px 10px; }

.site-menu {
  display: none;
  position: absolute;
  z-index: 20;
  top: calc(100% + 5px);
  right: 14px;
  width: min(360px, calc(100% - 28px));
  border: 3px solid var(--th-black);
  background: var(--th-white);
  box-shadow: 8px 8px 0 var(--th-yellow);
}

.site-menu.is-open { display: block; }

.site-menu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: var(--th-black);
  color: var(--th-white);
}

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

.site-menu__list li { margin: 0; }

.site-menu__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 12px;
  border-bottom: 1px solid #d6d6d6;
  color: #111111;
  font-weight: 700;
  text-decoration: none;
}

.site-menu__list li:last-child .site-menu__item { border-bottom: 0; }
.site-menu__list a.site-menu__item:hover { background: #fff8c4; }

.site-menu__item--disabled {
  background: #f3f3f3;
  color: #777777;
  cursor: not-allowed;
}

.site-menu__status {
  flex: 0 0 auto;
  padding: 3px 6px;
  background: #dfdfdf;
  color: #555555;
  font-size: 0.68rem;
  line-height: 1;
}

.site-main { background: var(--th-white); }

.content-page {
  min-height: 60vh;
  padding: 22px 16px 36px;
  background: var(--th-white);
}

.content-page > article {
  width: min(100%, 880px);
  margin: 0 auto;
}

.content-page__hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
  padding: 20px 18px 17px;
  border-bottom: 5px solid var(--th-yellow);
  background: var(--th-black);
  color: var(--th-white);
}

.content-page__hero::after {
  content: "";
  position: absolute;
  top: -28px;
  right: -18px;
  width: 96px;
  height: 120px;
  background: var(--th-yellow);
  transform: skewX(-18deg);
}

.content-page__hero > * { position: relative; z-index: 1; }
.content-page__hero > span { color: var(--th-yellow); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.12em; }
.content-page__hero h1 { max-width: calc(100% - 54px); margin: 4px 0 8px; font-size: clamp(1.55rem, 7vw, 2.25rem); line-height: 1.25; }
.content-page__hero time { color: #d8d8d8; font-size: 0.72rem; }

.content-page__body {
  color: #202020;
  font-size: 0.94rem;
  overflow-wrap: anywhere;
}

.content-page__body h2 {
  margin: 30px 0 12px;
  padding: 0 0 8px 12px;
  border-bottom: 2px solid var(--th-black);
  border-left: 7px solid var(--th-yellow);
  color: var(--th-black);
  font-size: 1.15rem;
  line-height: 1.4;
}

.content-page__body p { margin: 0 0 14px; }
.content-page__body ul { margin: 0 0 18px; padding-left: 1.35em; }
.content-page__body li + li { margin-top: 7px; }
.content-page__body a { color: #725d00; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.policy-intro {
  padding: 16px;
  border: 2px solid var(--th-black);
  border-left: 9px solid var(--th-yellow);
  background: #fffdf0;
}

.policy-intro strong { display: block; margin-bottom: 5px; color: var(--th-black); font-size: 1.05rem; }
.policy-intro p { margin: 0; }

.policy-data {
  margin: 0;
  border-top: 2px solid var(--th-black);
  border-left: 1px solid var(--th-gray-300);
  border-right: 1px solid var(--th-gray-300);
}

.policy-data > div { border-bottom: 1px solid var(--th-gray-300); }
.policy-data dt { padding: 8px 10px; background: var(--th-gray-100); color: var(--th-black); font-weight: 800; }
.policy-data dd { margin: 0; padding: 10px; }
.policy-date { margin-top: 30px !important; padding-top: 12px; border-top: 1px solid var(--th-gray-300); color: var(--th-gray-600); font-size: 0.78rem; }

.contact-panel {
  padding: 14px;
  border: 2px solid var(--th-black);
  background: var(--th-gray-050);
}

.contact-notice { padding: 11px 12px; border: 2px solid var(--th-black); font-weight: 800; }
.contact-notice--success { background: #e9f8df; }
.contact-notice--error { background: #fff1f1; color: #8e1111; }
.contact-form { display: grid; gap: 14px; }
.contact-field { display: grid; gap: 6px; color: var(--th-black); font-weight: 800; }
.contact-field b { color: #8e1111; font-size: 0.7rem; }
.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 2px solid var(--th-black);
  border-radius: 0;
  background: var(--th-white);
  color: var(--th-black);
  font-weight: 500;
}

.contact-field textarea { resize: vertical; }
.contact-field input:focus-visible,
.contact-field select:focus-visible,
.contact-field textarea:focus-visible { outline: 4px solid rgba(255, 212, 0, 0.55); outline-offset: 1px; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-consent { display: flex; align-items: flex-start; gap: 9px; color: #333333; font-size: 0.82rem; }
.contact-consent input { width: 20px; height: 20px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--th-yellow); }
.contact-submit {
  min-height: 48px;
  padding: 11px 16px;
  border: 3px solid var(--th-black);
  background: var(--th-yellow);
  color: var(--th-black);
  cursor: pointer;
  font-weight: 900;
  box-shadow: 4px 4px 0 var(--th-black);
}

.contact-submit:hover,
.contact-submit:focus-visible { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--th-black); }
.content-page__back { display: inline-block; margin-top: 30px; padding: 10px 13px; border: 2px solid var(--th-black); background: var(--th-white); color: var(--th-black); font-weight: 800; text-decoration: none; }
.content-page__back:hover { background: var(--th-yellow); }

.content-listing__description { margin-bottom: 18px; }

.content-list {
  display: grid;
  gap: 14px;
}

.content-list__item {
  padding: 16px;
  border: 1px solid var(--th-gray-300);
  border-left: 7px solid var(--th-yellow);
  background: var(--th-white);
}

.content-list__item h2 { margin: 0 0 5px; font-size: 1.08rem; line-height: 1.4; }
.content-list__item h2 a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.content-list__item time { color: var(--th-gray-600); font-size: 0.72rem; }
.content-list__excerpt p { margin: 10px 0 0; }
.content-list__empty { padding: 20px; border: 2px solid var(--th-gray-300); text-align: center; }

.navigation.pagination { margin-top: 24px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.nav-links .page-numbers { min-width: 42px; padding: 8px; border: 1px solid var(--th-black); text-align: center; text-decoration: none; }
.nav-links .current { background: var(--th-yellow); font-weight: 800; }

.buylist-single__layout { display: grid; gap: 18px; }
.buylist-single__figure { margin: 0; }

.buylist-single__zoom {
  overflow: hidden;
  border: 1px solid var(--th-gray-300);
  background: var(--th-gray-050);
}

.buylist-single__zoom img {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
}

.buylist-single__figure figcaption { margin-top: 6px; color: var(--th-gray-600); font-size: 0.75rem; text-align: center; }

.buylist-single__facts {
  margin: 0;
  border-top: 2px solid var(--th-black);
  border-left: 1px solid var(--th-gray-300);
}

.buylist-single__facts > div { display: grid; grid-template-columns: 108px minmax(0, 1fr); border-right: 1px solid var(--th-gray-300); border-bottom: 1px solid var(--th-gray-300); }
.buylist-single__facts dt { padding: 9px 10px; background: var(--th-gray-100); font-weight: 800; }
.buylist-single__facts dd { margin: 0; padding: 9px 10px; }
.buylist-single__content { padding: 14px; border-left: 7px solid var(--th-yellow); background: #fffdf0; }

.buylist-single__external {
  display: block;
  min-height: 48px;
  padding: 12px 16px;
  border: 2px solid var(--th-black);
  background: var(--th-yellow);
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.buylist-single__external:hover { background: #ffe45c; }
.buylist-single__navigation { display: flex; flex-wrap: wrap; gap: 10px; }
.buylist-archive__grid { margin-top: 4px; }

/* Post Image Maker/Core-generated accessible price table. */
.pim-price-table-block {
  margin: 20px 0;
  overflow: hidden;
  border: 2px solid var(--th-black);
  background: var(--th-white);
}

.pim-price-table__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 11px 13px;
  border-left: 8px solid var(--th-yellow);
  background: var(--th-black);
  color: var(--th-white);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.4;
}

.pim-price-table__header h2,
.pim-price-table__header p { margin: 0; }
.pim-price-table__header h2 { color: inherit; font-size: 1rem; }
.pim-price-table__header p { color: #e8e8e2; font-size: 0.72rem; }

.pim-price-table-wrap {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.pim-price-table-wrap > table.pim-price-table {
  width: 100%;
  min-width: 680px;
  border: 0;
  border-collapse: collapse;
  color: var(--th-black);
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
}

.pim-price-table__caption {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.pim-price-table__head { background: var(--th-black); color: var(--th-white); }
.pim-price-table__row { border-bottom: 1px solid var(--th-gray-300); }
.pim-price-table__body .pim-price-table__row:nth-child(even) { background: var(--th-gray-050); }

.pim-price-table th,
.pim-price-table td { padding: 10px 12px; border-right: 1px solid var(--th-gray-300); vertical-align: middle; }
.pim-price-table th:last-child,
.pim-price-table td:last-child { border-right: 0; }
.pim-price-table__card-name { min-width: 210px; font-weight: 800; }
.pim-price-table__product-number { white-space: nowrap; }
.pim-price-table__shop-name { min-width: 150px; font-weight: 700; }
.pim-price-table__price { color: var(--th-black); font-size: 1rem; font-weight: 900; text-align: right; white-space: nowrap; }
.pim-price-table__checked-date { color: var(--th-gray-600); font-size: 0.74rem; white-space: nowrap; }
.pim-price-table__source { white-space: nowrap; }
.pim-price-table__source a { color: #715b00; font-weight: 800; text-underline-offset: 3px; }

.pim-price-table__note {
  margin: 0;
  padding: 9px 12px;
  border-top: 1px solid var(--th-gray-300);
  background: var(--th-gray-050);
  color: var(--th-gray-600);
  font-size: 0.74rem;
}

@media (max-width: 520px) {
  .pim-price-table__header { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  .pim-price-table-block { overflow: visible; }

  .pim-price-table-wrap {
    overflow: visible;
    overscroll-behavior: auto;
  }

  .pim-price-table-wrap > table.pim-price-table {
    display: block;
    min-width: 0;
  }

  .pim-price-table__head { display: none; }

  .pim-price-table__body {
    display: grid;
    gap: 10px;
    padding: 10px;
  }

  .pim-price-table__row {
    display: block;
    overflow: hidden;
    border: 1px solid var(--th-gray-300);
    background: var(--th-white);
  }

  .pim-price-table td {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(5.5rem, 32%) minmax(0, 1fr);
    gap: 8px;
    padding: 7px 8px;
    border-right: 0;
    border-bottom: 1px solid var(--th-gray-300);
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .pim-price-table td:last-child { border-bottom: 0; }
  .pim-price-table td::before { color: var(--th-gray-600); font-size: 0.7rem; font-weight: 700; }
  .pim-price-table__card-name::before { content: "カード名"; }
  .pim-price-table__product-number::before { content: "型番"; }
  .pim-price-table__shop-name::before { content: "店舗名"; }
  .pim-price-table__price::before { content: "買取価格"; }
  .pim-price-table__checked-date::before { content: "確認日"; }
  .pim-price-table__source::before { content: "出典"; }
}

.postal-section,
.regions-section { padding: 24px 16px 28px; }

.date-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.daily-label {
  display: inline-block;
  margin-bottom: 7px;
  padding: 5px 9px;
  background: var(--th-yellow);
  color: var(--th-black);
  font-size: 0.78rem;
  font-weight: 700;
}

.date-heading h1 {
  margin: 0;
  font-size: clamp(1.08rem, 4vw, 1.55rem);
  line-height: 1.35;
}

.date-heading time,
.date-heading__pending {
  flex: 0 0 auto;
  color: var(--th-gray-600);
  font-size: 0.72rem;
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-left: 8px solid var(--th-yellow);
  background: var(--th-black);
  color: var(--th-white);
  font-weight: 700;
}

.section-heading small {
  flex: 0 0 auto;
  color: var(--th-yellow);
  font-size: 0.72rem;
  white-space: nowrap;
}

.section-guide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 10px 0;
  color: var(--th-gray-600);
  font-size: 0.76rem;
}

.buylist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.buylist-card {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--th-gray-300);
  background: var(--th-white);
}

.buylist-card:has(.buylist-card__details[open]) {
  grid-column: 1 / -1;
}

.buylist-card:has(.buylist-card__details[open]) .buylist-card__zoom img {
  max-width: 620px;
  margin-inline: auto;
}

.buylist-grid--postal .buylist-card:first-child { border: 3px solid var(--th-yellow); }

.buylist-card__zoom {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: var(--th-white);
  cursor: zoom-in;
}

.buylist-card__zoom img {
  display: block;
  width: 100%;
  background: var(--th-white);
}

.buylist-card__paper { padding: 7px; }

.buylist-card__mini-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 5px;
  padding: 4px;
  overflow: hidden;
  border-top: 2px solid var(--th-black);
  border-bottom: 2px solid var(--th-black);
  font-size: clamp(0.38rem, 1.6vw, 0.62rem);
  white-space: nowrap;
}

.buylist-card__mini-head b {
  max-width: 50%;
  padding: 2px 4px;
  overflow: hidden;
  background: var(--th-black);
  color: var(--th-white);
  text-overflow: ellipsis;
}

.buylist-card__matrix {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 2px;
}

.buylist-card__matrix span {
  display: block;
  aspect-ratio: 0.62;
  border: 1px solid #dddddd;
  background:
    radial-gradient(circle at 70% 26%, #fff2a2 0 12%, transparent 13%),
    linear-gradient(145deg, #d5a335 0 35%, #3e7790 36% 68%, #f0f0ed 69%);
  border-bottom: 4px solid var(--th-yellow);
}

.buylist-card__matrix span:nth-child(6n+2) { background-color: #5b9f94; filter: hue-rotate(25deg); }
.buylist-card__matrix span:nth-child(6n+3) { filter: hue-rotate(65deg); }
.buylist-card__matrix span:nth-child(6n+4) { filter: hue-rotate(115deg); }
.buylist-card__matrix span:nth-child(6n+5) { filter: hue-rotate(170deg); }
.buylist-card__matrix span:nth-child(6n+6) { filter: hue-rotate(225deg); }

.buylist-card__caption {
  margin: 0;
  padding: 6px 7px;
  overflow: hidden;
  font-size: 0.7rem;
  font-weight: 700;
  text-align: center;
  text-overflow: ellipsis;
  white-space: normal;
}

.buylist-card__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5px;
  margin: 0;
  padding: 7px;
  overflow: hidden;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: left;
}

.buylist-card__meta {
  cursor: pointer;
  list-style: none;
}

.buylist-card__meta::-webkit-details-marker { display: none; }

.buylist-card__meta::after {
  content: "＋";
  flex: 0 0 auto;
  color: #715b00;
  font-size: 1rem;
  font-weight: 900;
}

.buylist-card__details[open] > .buylist-card__meta::after { content: "−"; }

.buylist-card__details-content {
  padding: 0 10px 10px;
  border-top: 1px solid var(--th-gray-300);
}

.buylist-card__details-pending {
  margin: 10px 0 0;
  padding: 12px;
  background: var(--th-gray-050);
  color: var(--th-gray-600);
  font-size: 0.8rem;
  text-align: center;
}

.buylist-card__detail,
.buylist-card__meta time {
  overflow: hidden;
  text-overflow: ellipsis;
}

.buylist-card__detail { color: var(--th-black); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.buylist-card__detail:hover { color: #725d00; }

.buylist-card__meta time { flex: 0 0 auto; color: var(--th-gray-600); font-weight: 400; }

.buylist-card__permalink,
.buylist-card__link {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 7px;
  border-top: 1px solid #dedede;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.buylist-card__permalink {
  background: var(--th-black);
  color: var(--th-white);
}

.buylist-card__permalink:hover,
.buylist-card__permalink:focus-visible { color: var(--th-yellow); }

.buylist-card__link { background: #fff8c4; }

.oripa-ad {
  margin: 0 16px 28px;
  border: 3px solid var(--th-black);
  background: var(--th-yellow);
  box-shadow: 7px 7px 0 var(--th-black);
}

.oripa-ad__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px;
}

.oripa-pack {
  position: relative;
  display: grid;
  width: 76px;
  height: 92px;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--th-black);
  background: var(--th-black);
  color: var(--th-yellow);
  font-weight: 700;
  transform: rotate(-3deg);
}

.oripa-pack::before,
.oripa-pack::after {
  position: absolute;
  width: 135%;
  height: 7px;
  background: var(--th-yellow);
  content: "";
  transform: rotate(-35deg);
}

.oripa-pack::before { top: 12px; }
.oripa-pack::after { bottom: 11px; }
.oripa-pack span { position: relative; z-index: 1; }

.ad-label {
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 6px;
  background: var(--th-black);
  color: var(--th-white);
  font-size: 0.68rem;
  font-weight: 700;
}

.oripa-ad__copy strong { display: block; margin-bottom: 3px; }
.oripa-ad__copy p { margin: 0; color: #353535; font-size: 0.76rem; }

.oripa-ad__cta {
  display: block;
  padding: 10px 12px;
  background: var(--th-black);
  color: var(--th-white);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.oripa-ad__cta--disabled { color: #bdbdbd; }

.postal-shop-links {
  margin: 0 16px 28px;
  border: 2px solid var(--th-black);
  background: var(--th-white);
}

.postal-shop-links details { margin: 0; }

.postal-shop-links summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 50px;
  padding: 11px 13px;
  background: var(--th-black);
  color: var(--th-white);
  font-size: 0.9rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.postal-shop-links summary::-webkit-details-marker { display: none; }
.postal-shop-links summary::after { content: "＋"; flex: 0 0 auto; color: var(--th-yellow); font-size: 1.15rem; }
.postal-shop-links details[open] summary::after { content: "−"; }
.postal-shop-links summary small { margin-left: auto; color: var(--th-yellow); font-size: 0.68rem; white-space: nowrap; }

.postal-shop-links__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

.postal-shop-links__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  min-width: 0;
  min-height: 54px;
  padding: 8px 10px;
  border: 2px solid var(--th-black);
  background: #fffdf0;
  color: var(--th-black);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.postal-shop-links__item small { color: #806900; font-size: 0.64rem; font-weight: 700; }
.postal-shop-links__item:hover,
.postal-shop-links__item:focus-visible { background: var(--th-yellow); }

.postal-shop-links__note {
  margin: 0;
  padding: 0 12px 12px;
  color: var(--th-gray-600);
  font-size: 0.66rem;
}

.region-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  margin: 11px -2px 14px;
  padding: 2px 2px 7px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

.region-nav a {
  display: inline-flex;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid var(--th-black);
  background: var(--th-white);
  font-size: 0.74rem;
  font-weight: 700;
  text-decoration: none;
}

.region-nav a:hover,
.region-nav a:focus-visible { background: var(--th-yellow); }

.regions-summary {
  margin: 10px 0 0;
  color: var(--th-gray-600);
  font-size: 0.72rem;
  line-height: 1.7;
}

.region-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.region-block {
  min-width: 0;
  scroll-margin-top: 16px;
}

.region-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
  padding-bottom: 7px;
  border-bottom: 3px solid var(--th-black);
}

.region-heading__number {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  background: var(--th-yellow);
  color: var(--th-black);
  font-weight: 700;
}

.region-heading h2 { margin: 0; font-size: 1rem; }
.region-heading__title { min-width: 0; }
.region-heading__title small {
  display: block;
  margin-top: 2px;
  color: var(--th-gray-600);
  font-size: 0.64rem;
  line-height: 1.35;
}
.region-heading__count {
  margin-left: auto;
  color: var(--th-gray-600);
  font-size: 0.68rem;
  white-space: nowrap;
}

.region-coming-soon {
  display: flex;
  min-height: 86px;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--th-gray-300);
  border-left: 6px solid var(--th-yellow);
  background: var(--th-white);
}

.region-coming-soon strong {
  flex: 0 0 auto;
  padding: 7px 10px;
  background: var(--th-black);
  color: var(--th-yellow);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
}

.region-coming-soon span {
  color: var(--th-gray-600);
  font-size: 0.72rem;
  line-height: 1.6;
}

.site-footer {
  display: flex;
  width: 100%;
  min-height: 54px;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px 20px;
  padding: 18px 16px;
  background: var(--th-black);
  color: var(--th-white);
  font-size: 0.74rem;
  line-height: 1.55;
}

.site-footer a {
  display: inline-flex;
  min-height: 18px;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
}
.site-footer a:hover { text-decoration: underline; }

html.is-buylist-viewer-open,
html.is-buylist-viewer-open body {
	overflow: hidden;
}

.buylist-dialog {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
  padding: 0;
	border: 0;
	overflow: hidden;
	background: transparent;
	color: var(--th-white);
}

.buylist-dialog[open] {
	display: grid;
	grid-template-rows: minmax(0, 1fr);
}

.buylist-dialog::backdrop { background: rgba(0, 0, 0, 0.92); }

.buylist-dialog__title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.buylist-dialog__close {
	position: fixed;
	z-index: 4;
	top: max(12px, env(safe-area-inset-top));
	right: max(12px, env(safe-area-inset-right));
	display: grid;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	padding: 0;
	place-items: center;
	border: 2px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.42);
	color: #080808;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.buylist-dialog__close:hover {
	background: var(--th-yellow);
}

.buylist-dialog__close:focus-visible {
	outline: 3px solid var(--th-yellow);
	outline-offset: 3px;
}

.buylist-dialog__stage {
	display: grid;
	overflow: hidden;
	min-width: 0;
	min-height: 0;
	place-items: center;
	padding: max(68px, calc(env(safe-area-inset-top) + 60px)) max(14px, env(safe-area-inset-right)) max(68px, calc(env(safe-area-inset-bottom) + 60px)) max(14px, env(safe-area-inset-left));
	background: rgba(0, 0, 0, 0.9);
	cursor: zoom-in;
	outline: none;
	overscroll-behavior: contain;
	touch-action: none;
	user-select: none;
}

.buylist-dialog__stage.is-zoomed { cursor: grab; }
.buylist-dialog__stage.is-interacting { cursor: grabbing; }

.buylist-dialog__stage:focus-visible {
	box-shadow: inset 0 0 0 2px var(--th-yellow);
}

.buylist-dialog__stage img {
  display: block;
	width: auto;
	max-width: 100%;
  height: auto;
	max-height: 100%;
	object-fit: contain;
	background: var(--th-white);
	box-shadow: 0 3px 22px rgba(0, 0, 0, 0.58);
	transform: translate3d(0, 0, 0) scale(1);
	transform-origin: center;
	transition: transform 120ms ease-out;
	user-select: none;
	will-change: transform;
}

.buylist-dialog__stage.is-interacting img { transition: none; }

/* Individual PSA10 card page (v1.15.0-rc2). */
.th-card-detail-page {
	padding: 14px 12px 36px;
}

.th-card-detail-page > article {
	width: min(100%, 960px);
}

.th-card-detail,
.th-card-detail * {
	min-width: 0;
}

.th-card-detail {
	color: #101010;
	font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	overflow-wrap: anywhere;
}

.th-card-detail__breadcrumb {
	margin: 0 0 16px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.th-card-detail__breadcrumb::-webkit-scrollbar {
	display: none;
}

.th-card-detail__breadcrumb ol {
	display: flex;
	width: max-content;
	max-width: none;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.th-card-detail__breadcrumb li {
	display: inline-flex;
	align-items: center;
	color: var(--th-gray-600);
	font-size: 0.75rem;
	white-space: nowrap;
}

.th-card-detail__breadcrumb li + li::before {
	margin: 0 9px;
	color: var(--th-black);
	content: "›";
	font-size: 1.25rem;
	line-height: 1;
}

.th-card-detail__breadcrumb a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: #075bc7;
	text-underline-offset: 3px;
}

.th-card-detail__breadcrumb span[aria-current="page"] {
	display: block;
	max-width: min(62vw, 420px);
	overflow: hidden;
	color: var(--th-black);
	font-weight: 700;
	text-overflow: ellipsis;
}

.th-card-detail__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin-bottom: 20px;
}

.th-card-detail__card-figure {
	width: min(100%, 238px);
	margin: 0 auto;
}

.th-card-detail__image-frame {
	position: relative;
	display: grid;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	padding: 10px 10px 12px;
	border: 2px solid rgba(79, 82, 86, 0.82);
	border-radius: 10px;
	background:
		repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0 1px, rgba(70, 70, 70, 0.05) 1px 3px),
		linear-gradient(120deg, #f2f3f4 0%, #92969a 13%, #e7e9eb 31%, #74787c 52%, #f2f3f4 73%, #85898d 100%);
	box-shadow:
		0 5px 12px rgba(0, 0, 0, 0.2),
		inset 0 0 0 2px rgba(255, 255, 255, 0.76),
		inset 0 0 0 5px rgba(49, 52, 55, 0.2);
	color: var(--th-black);
}

.th-card-detail__image-frame::before,
.th-card-detail__image-frame::after {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	content: "";
}

.th-card-detail__image-frame::before {
	inset: 4px;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 7px;
}

.th-card-detail__image-frame::after {
	inset: 7px;
	border: 1px solid rgba(25, 28, 30, 0.28);
	border-radius: 5px;
}

.th-card-detail__image-frame > * {
	position: relative;
	z-index: 1;
}

.th-card-detail__slab-label {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 6px;
	align-items: start;
	gap: 2px 5px;
	margin-bottom: 6px;
	padding: 5px 5px 4px;
	border: 3px solid #d81d1d;
	border-radius: 2px;
	background: linear-gradient(180deg, #ffffff 0%, #f4f7f8 100%);
	color: #202020;
	line-height: 1;
	text-align: left;
}

.th-card-detail__slab-label::after {
	position: absolute;
	bottom: -6px;
	left: 50%;
	display: grid;
	width: 13px;
	height: 13px;
	place-items: center;
	border: 1px solid #45494d;
	border-radius: 50%;
	background: linear-gradient(135deg, #ffcf00 0 48%, #202326 49% 100%);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.9);
	color: transparent;
	content: "";
	transform: translateX(-50%);
}

.th-card-detail__slab-label > strong {
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.th-card-detail__slab-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	font-size: 0.46rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.08;
	white-space: nowrap;
}

.th-card-detail__slab-meta b,
.th-card-detail__slab-meta small {
	font: inherit;
}

.th-card-detail__slab-barcode {
	display: block;
	width: 52px;
	height: 6px;
	background: repeating-linear-gradient(90deg, #171717 0 1px, transparent 1px 2px, #171717 2px 4px, transparent 4px 5px);
}

.th-card-detail__slab-image {
	display: grid;
	overflow: hidden;
	min-height: 210px;
	place-items: center;
	padding: 8px;
	border: 5px solid rgba(56, 59, 62, 0.9);
	border-bottom-width: 8px;
	border-radius: 5px;
	background: #242424;
	box-shadow:
		inset 0 0 0 2px rgba(255, 255, 255, 0.38),
		inset 0 0 11px rgba(0, 0, 0, 0.38),
		0 1px 2px rgba(255, 255, 255, 0.72);
}

.th-card-detail__slab-image > img {
	display: block;
	position: relative;
	z-index: 1;
	width: 220%;
	max-width: none;
	height: auto;
	justify-self: center;
	object-fit: contain;
	transform: translateX(0);
}

.th-card-detail__slab-image::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	background: linear-gradient(115deg, rgba(255, 255, 255, 0.18), transparent 24% 76%, rgba(255, 255, 255, 0.1));
	content: "";
	pointer-events: none;
}

.th-card-detail__slab-brand {
	display: block;
	margin-top: 7px;
	padding: 5px 4px;
	background: rgba(255, 255, 255, 0.92);
	font-size: 0.64rem;
	font-weight: 900;
	line-height: 1.2;
}

.th-card-detail__image-pending {
	display: grid;
	min-height: 360px;
	grid-template-rows: auto 1fr;
	padding: 12px;
	border: 5px solid #909090;
	border-radius: 10px;
	background: linear-gradient(135deg, #eeeeee, #bdbdbd);
	box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.7);
}

.th-card-detail__image-pending > span {
	padding: 7px 8px;
	border: 3px solid #d81d1d;
	background: var(--th-white);
	font-weight: 900;
}

.th-card-detail__image-pending strong {
	display: grid;
	margin: 10px 0 0;
	place-items: center;
	background: #343434;
	color: var(--th-white);
	font-size: 1rem;
	text-align: center;
}

.th-card-detail__identity {
	text-align: left;
}

.th-card-detail__grade {
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	padding: 4px 11px;
	border-radius: 6px;
	background: var(--th-black);
	box-shadow: 2px 2px 0 var(--th-yellow);
	color: var(--th-white);
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: 0.05em;
}

.th-card-detail__identity h1 {
	margin: 10px 0 2px;
	color: var(--th-black);
	font-size: clamp(1.45rem, 7vw, 2.25rem);
	line-height: 1.24;
}

.th-card-detail__number {
	margin: 0;
	color: #363636;
	font-size: 0.92rem;
}

.th-card-detail__number > span {
	font-size: 0.75rem;
	font-weight: 800;
}

.th-card-detail__radar {
	width: min(100%, 390px);
	margin: 9px auto 0;
}

.th-card-detail__radar svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.th-card-detail__radar-grid polygon,
.th-card-detail__radar-grid line {
	fill: rgba(255, 212, 0, 0.04);
	stroke: #8b8b8b;
	stroke-width: 0.85;
}

.th-card-detail__radar-grid polygon:last-of-type {
	fill: none;
	stroke: var(--th-black);
	stroke-width: 1.8;
}

.th-card-detail__radar-value {
	fill: rgba(255, 212, 0, 0.46);
	stroke: #f0b900;
	stroke-linejoin: round;
	stroke-width: 3;
}

.th-card-detail__radar-partial-value line {
	stroke: #f0b900;
	stroke-linecap: round;
	stroke-width: 6;
}

.th-card-detail__radar-partial-value circle {
	fill: var(--th-yellow);
	stroke: var(--th-black);
	stroke-width: 1.5;
}

.th-card-detail__radar-labels {
	fill: var(--th-black);
	font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans JP", sans-serif;
	font-size: 11px;
	font-weight: 800;
}

.th-card-detail__radar figcaption {
	margin-top: -2px;
	color: var(--th-gray-600);
	font-size: 0.75rem;
	text-align: center;
}

.th-card-detail__radar-empty {
	display: grid;
	min-height: 180px;
	align-content: center;
	gap: 6px;
	padding: 18px;
	border: 2px dashed var(--th-gray-300);
	background: var(--th-gray-050);
	color: var(--th-gray-600);
	text-align: center;
}

.th-card-detail__radar-empty strong {
	color: var(--th-black);
	font-size: 0.86rem;
}

.th-card-detail__radar-empty span {
	font-size: 0.75rem;
}

.th-card-detail__score-panel,
.th-card-detail__evaluation,
.th-card-detail__prices {
	margin-top: 18px;
	border: 1px solid #dedede;
	border-radius: 8px;
	background: var(--th-white);
	box-shadow: 0 2px 9px rgba(0, 0, 0, 0.08);
}

.th-card-detail__score-panel {
	overflow: hidden;
}

.th-card-detail__market {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 14px;
	border-bottom: 2px solid var(--th-black);
	background: #fffdf1;
}

.th-card-detail__market h2 {
	margin: 0;
	font-size: 0.9rem;
}

.th-card-detail__market strong {
	font-size: clamp(1.55rem, 8vw, 2.5rem);
	line-height: 1;
	white-space: nowrap;
}

.th-card-detail__scores {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	background: #dedede;
	gap: 1px;
}

.th-card-detail__score {
	display: grid;
	min-height: 104px;
	grid-template-rows: minmax(34px, auto) auto 7px;
	align-items: center;
	gap: 4px;
	padding: 8px 4px 7px;
	background: var(--th-white);
	text-align: center;
}

.th-card-detail__score > span {
	align-self: start;
	font-size: clamp(0.56rem, 2.7vw, 0.78rem);
	font-weight: 800;
	line-height: 1.25;
}

.th-card-detail__score strong {
	font-size: clamp(1.15rem, 5.8vw, 1.9rem);
	line-height: 1;
}

.th-card-detail__score strong.is-pending {
	color: var(--th-gray-600);
	font-size: clamp(0.56rem, 2.7vw, 0.72rem);
}

.th-card-detail__score i {
	display: block;
	width: 100%;
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: #e4e4e4;
}

.th-card-detail__score i b {
	display: block;
	width: var(--score, 0%);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ffbb00, var(--th-yellow));
}

.th-card-detail__evaluation {
	padding: 16px 14px;
}

.th-card-detail__evaluation h2,
.th-card-detail__prices h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-size: clamp(1rem, 4.5vw, 1.35rem);
	line-height: 1.3;
}

.th-card-detail__evaluation h2 > span,
.th-card-detail__prices h2 > span {
	display: grid;
	width: 36px;
	height: 36px;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 50%;
	background: var(--th-yellow);
	color: var(--th-white);
	font-size: 1.25rem;
}

.th-card-detail__prices h2 > span {
	background: var(--th-black);
	color: var(--th-white);
}

.th-card-detail__evaluation ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.th-card-detail__evaluation li {
	position: relative;
	padding-left: 29px;
	font-size: 0.86rem;
}

.th-card-detail__evaluation li::before {
	position: absolute;
	top: 0.05em;
	left: 0;
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 50%;
	background: var(--th-yellow);
	color: var(--th-white);
	content: "✓";
	font-size: 0.75rem;
	font-weight: 900;
}

.th-card-detail__pending-copy {
	margin: 0;
	padding: 12px;
	background: var(--th-gray-050);
	color: var(--th-gray-600);
	font-size: 0.82rem;
	text-align: center;
}

.th-card-detail__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin-top: 18px;
}

.th-card-detail__action {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border: 2px solid var(--th-black);
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 900;
	text-decoration: none;
}

.th-card-detail__action--mail {
	background: var(--th-yellow);
	box-shadow: 4px 4px 0 var(--th-black);
}

.th-card-detail__action--store {
	background: var(--th-white);
	box-shadow: 4px 4px 0 #d2d2d2;
}

.th-card-detail__action b {
	font-size: 1.8rem;
	line-height: 1;
}

.th-card-detail__action:hover,
.th-card-detail__action:focus-visible {
	background: var(--th-black);
	color: var(--th-yellow);
}

.th-card-detail__action:focus-visible,
.th-card-detail__method-link a:focus-visible,
.th-card-detail__price-row a:focus-visible {
	outline: 3px solid var(--th-black);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var(--th-yellow);
}

.th-card-detail__prices {
	padding: 14px 12px 12px;
}

.th-card-detail__price-table {
	overflow: hidden;
	border: 1px solid var(--th-gray-300);
	border-radius: 5px;
}

.th-card-detail__price-head,
.th-card-detail__price-row {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(72px, 0.95fr) minmax(40px, 0.55fr);
}

.th-card-detail__price-head {
	background: var(--th-black);
	color: var(--th-white);
	font-size: 0.75rem;
	font-weight: 800;
	text-align: center;
}

.th-card-detail__price-head > * {
	padding: 6px 3px;
	border-right: 1px solid #9a9a9a;
	line-height: 1.2;
}

.th-card-detail__price-head > *:last-child {
	border-right: 0;
}

.th-card-detail__price-row {
	border-bottom: 1px solid var(--th-gray-300);
	background: var(--th-white);
}

.th-card-detail__price-row:last-child {
	border-bottom: 0;
}

.th-card-detail__price-row > * {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 5px 3px;
	border-right: 1px solid #e0e0e0;
	font-size: 0.75rem;
	line-height: 1.25;
	text-align: center;
}

.th-card-detail__price-row > *:last-child {
	border-right: 0;
}

.th-card-detail__price-row > *::before {
	display: none;
}

.th-card-detail__price-row strong {
	color: #6b4f00;
	font-size: 0.78rem;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.th-card-detail__price-row a {
	display: -webkit-box;
	overflow: hidden;
	color: #075bc7;
	font-weight: 800;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	text-underline-offset: 3px;
}

.th-card-detail__price-row.is-pending {
	background: var(--th-gray-050);
	color: var(--th-gray-600);
}

.th-card-detail__footnotes {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 16px;
	margin-top: 14px;
	color: var(--th-gray-600);
	font-size: 0.75rem;
}

.th-card-detail__footnotes p {
	margin: 0;
}

.th-card-detail__method-link {
	margin: 17px 0 0;
	text-align: center;
}

.th-card-detail__method-link a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	color: #075bc7;
	font-weight: 800;
	text-underline-offset: 4px;
}

.th-card-detail__method-link span {
	font-size: 1.35rem;
}

.th-card-detail__editorial {
	margin-top: 22px;
	padding: 16px;
	border-left: 7px solid var(--th-yellow);
	background: #fffdf0;
}

/* Yellow editorial card analysis (v1.15.0-rc9). */
.th-card-detail__analysis-card {
	display: grid;
	grid-template-columns: minmax(108px, 0.83fr) minmax(0, 1.37fr);
	grid-template-areas:
		"visual chart"
		"meta meta";
	gap: 0;
	align-items: stretch;
	overflow: hidden;
	margin-bottom: 20px;
	padding: 5px;
	border: 2px solid #efb900;
	border-radius: 16px;
	background:
		linear-gradient(132deg, rgba(255, 255, 255, 0.18) 0 16%, transparent 16.2% 100%),
		linear-gradient(145deg, #ffdd19 0%, #ffd000 48%, #ffbd00 100%);
	box-shadow: 0 10px 28px rgba(83, 61, 0, 0.16);
}

.th-card-detail__analysis-visual {
	display: grid;
	min-width: 0;
	grid-area: visual;
	align-content: start;
	gap: 6px;
	padding: 6px 5px;
}

.th-card-detail__analysis-visual .th-card-detail__grade {
	justify-self: start;
	padding: 3px 9px;
	font-size: 0.9rem;
	box-shadow: none;
}

.th-card-detail__analysis-visual .th-card-detail__card-figure {
	width: min(100%, 132px);
	justify-self: center;
}

.th-card-detail__analysis-visual .th-card-detail__image-frame {
	padding: 4px 4px 5px;
	border-radius: 7px;
}

.th-card-detail__analysis-visual .th-card-detail__slab-label {
	grid-template-rows: auto 4px;
	gap: 1px 2px;
	margin-bottom: 3px;
	padding: 3px 2px;
	border-width: 2px;
}

.th-card-detail__analysis-visual .th-card-detail__slab-label > strong {
	font-size: 0.58rem;
	letter-spacing: 0;
}

.th-card-detail__analysis-visual .th-card-detail__slab-meta {
	font-size: 0.28rem;
}

.th-card-detail__analysis-visual .th-card-detail__slab-barcode {
	width: 24px;
	height: 4px;
}

.th-card-detail__analysis-visual .th-card-detail__slab-image {
	position: relative;
	display: block;
	min-height: 0;
	aspect-ratio: 0.72 / 1;
}

.th-card-detail__analysis-visual .th-card-detail__slab-image > img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 220%;
	transform: translate(-50%, -50%);
}

.th-card-detail__slab-watermark {
	position: absolute;
	z-index: 3;
	right: 7%;
	bottom: 3.5%;
	left: 7%;
	display: flex;
	min-height: 10%;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 2px 4px;
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
	color: #0b0b0b;
	font-size: clamp(0.46rem, 2.1vw, 0.72rem);
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1;
	pointer-events: none;
	white-space: nowrap;
}

.th-card-detail__slab-watermark i {
	position: relative;
	display: block;
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	overflow: hidden;
	font-style: normal;
}

.th-card-detail__slab-watermark i img {
	position: absolute;
	top: -8px;
	left: -1px;
	width: auto;
	max-width: none;
	height: 32px;
}

.th-card-detail__slab-watermark strong {
	font: inherit;
}

.th-card-detail__analysis-meta h1 {
	display: block;
	margin: 1px 0 0;
	overflow: visible;
	font-size: clamp(0.78rem, 3.45vw, 1.35rem);
	font-weight: 900;
	line-height: 1.3;
	-webkit-line-clamp: unset;
}

.th-card-detail__analysis-meta {
	display: grid;
	grid-area: meta;
	gap: 3px;
	margin-top: 5px;
	padding: 10px 9px 9px;
	border-top: 1px solid rgba(17, 17, 17, 0.2);
	border-radius: 0 0 11px 11px;
	background: linear-gradient(180deg, #ffffff, #fffdf4);
}

.th-card-detail__analysis-meta .th-card-detail__number {
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
}

.th-card-detail__analysis-meta .th-card-detail__description {
	display: block;
	margin: 3px 0 0;
	overflow: visible;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.45;
	-webkit-line-clamp: unset;
}

.th-card-detail__analysis-price {
	overflow: hidden;
	border: 2px solid var(--th-black);
	border-radius: 9px;
	background: linear-gradient(180deg, var(--th-white), #fff8d9);
	box-shadow: 3px 3px 0 rgba(17, 17, 17, 0.2);
	text-align: center;
}

.th-card-detail__analysis-price > span {
	display: block;
	padding: 5px 4px;
	background: var(--th-black);
	color: var(--th-white);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.3;
}

.th-card-detail__analysis-price strong {
	display: block;
	padding: 8px 2px 9px;
	font-family: "Arial Narrow", "Roboto Condensed", "Noto Sans JP", sans-serif;
	font-size: clamp(0.82rem, 4.2vw, 2.15rem);
	font-weight: 900;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.07em;
	line-height: 1;
	white-space: nowrap;
}

.th-card-detail__analysis-price strong::after {
	display: none;
	margin-left: 2px;
	color: #eeb600;
	content: "⚡";
	font-size: 0.68em;
	letter-spacing: 0;
}

.th-card-detail__analysis-chart {
	position: relative;
	display: grid;
	grid-area: chart;
	grid-template-rows: auto auto minmax(0, auto);
	align-content: start;
	padding: 10px 4px 7px;
	border-radius: 12px;
	background:
		radial-gradient(circle at 94% 5%, rgba(255, 212, 0, 0.18), transparent 19%),
		radial-gradient(circle at 6% 96%, rgba(255, 212, 0, 0.12), transparent 15%),
		var(--th-white);
	box-shadow: inset 0 0 0 1px rgba(125, 94, 0, 0.12);
	text-align: center;
}

.th-card-detail__analysis-chart::before,
.th-card-detail__analysis-chart::after {
	position: absolute;
	top: 38px;
	color: var(--th-yellow);
	content: "⚡";
	font-size: 0.82rem;
	line-height: 1;
}

.th-card-detail__analysis-chart::before { left: 4px; }
.th-card-detail__analysis-chart::after { right: 4px; }

.th-card-detail__analysis-kicker {
	margin: 0;
	color: #665000;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.th-card-detail__analysis-title {
	margin: 2px 0 0;
	font-size: clamp(0.86rem, 3.8vw, 1.5rem);
	font-weight: 900;
	line-height: 1.25;
}

.th-card-detail__analysis-title::after {
	display: block;
	width: 34px;
	height: 3px;
	margin: 5px auto 0;
	border-radius: 99px;
	background: var(--th-yellow);
	content: "";
}

.th-card-detail__analysis-chart .th-card-detail__radar {
	display: grid;
	width: min(100%, 410px);
	grid-template-rows: minmax(242px, auto) auto;
	min-height: 0;
	margin: 5px auto 0;
}

.th-card-detail__radar-canvas {
	position: relative;
	min-height: 242px;
}

.th-card-detail__analysis-chart .th-card-detail__radar-canvas > svg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(100%, 108px);
	height: auto;
	transform: translate(-50%, -50%);
}

.th-card-detail__analysis-chart .th-card-detail__radar-grid polygon,
.th-card-detail__analysis-chart .th-card-detail__radar-grid line {
	stroke: #b5b5b5;
	stroke-width: 0.75;
}

.th-card-detail__analysis-chart .th-card-detail__radar-grid polygon:last-of-type {
	stroke: var(--th-black);
	stroke-width: 2.4;
}

.th-card-detail__analysis-chart .th-card-detail__radar-value {
	fill: rgba(255, 212, 0, 0.39);
	stroke: #f0b900;
	stroke-width: 3.4;
}

.th-card-detail__analysis-chart .th-card-detail__radar-node {
	fill: var(--th-white);
	stroke: #f0b900;
	stroke-width: 4;
	vector-effect: non-scaling-stroke;
}

.th-card-detail__analysis-chart .th-card-detail__radar-unknown-node circle {
	fill: var(--th-black);
	stroke: #f0b900;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

.th-card-detail__analysis-chart .th-card-detail__radar-unknown-node text {
	fill: var(--th-white);
	font-size: 12px;
	font-weight: 900;
	text-anchor: middle;
	dominant-baseline: central;
}

.th-card-detail__analysis-labels {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.th-card-detail__analysis-label {
	position: absolute;
	display: flex;
	width: 62px;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	padding: 0;
	text-align: center;
}

.th-card-detail__analysis-label.is-premium {
	width: 70px;
}

.th-card-detail__analysis-label.is-growth {
	width: 70px;
}

.th-card-detail__analysis-label:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); }
.th-card-detail__analysis-label:nth-child(2) { top: 58px; right: 0; }
.th-card-detail__analysis-label:nth-child(3) { right: 0; bottom: 8px; }
.th-card-detail__analysis-label:nth-child(4) { bottom: 8px; left: 0; }
.th-card-detail__analysis-label:nth-child(5) { top: 58px; left: 0; }

.th-card-detail__analysis-label b {
	display: inline-flex;
	min-height: 19px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 2px 5px;
	border-radius: 999px;
	background: var(--th-black);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);
	color: var(--th-white);
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1.15;
}

.th-card-detail__analysis-label.is-premium b,
.th-card-detail__analysis-label.is-growth b {
	flex-direction: column;
	padding-top: 3px;
	padding-bottom: 3px;
	border-radius: 7px;
}

.th-card-detail__analysis-label.is-premium b span,
.th-card-detail__analysis-label.is-growth b span {
	display: block;
	white-space: nowrap;
}

.th-card-detail__analysis-label strong {
	margin-top: 1px;
	font-size: 1.3rem;
	font-weight: 900;
	line-height: 1;
	text-shadow: 0 1px 0 var(--th-white);
}

.th-card-detail__analysis-label small {
	color: #8a6500;
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1.15;
	white-space: nowrap;
}

.th-card-detail__analysis-chart .th-card-detail__radar figcaption {
	position: static;
	grid-row: 2;
	min-height: 28px;
	margin: 0;
	padding: 7px 2px 0;
	font-size: 0.75rem;
	line-height: 1.4;
}

.th-card-detail__evaluation {
	position: relative;
	overflow: hidden;
	padding: 20px 14px 16px;
	border-radius: 14px;
	background:
		linear-gradient(180deg, rgba(255, 212, 0, 0.055), transparent 150px),
		var(--th-white);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.th-card-detail__evaluation::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--th-yellow) 0 34%, var(--th-black) 34% 100%);
	content: "";
}

.th-card-detail__evaluation-kicker {
	margin: 0 0 2px;
	color: #6b4f00;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.th-card-detail__evaluation > h2 {
	gap: 8px;
	margin-bottom: 10px;
	font-size: clamp(1.05rem, 4.6vw, 1.35rem);
}

.th-card-detail__evaluation > h2::before {
	display: block;
	width: 5px;
	height: 1.35em;
	border-radius: 999px;
	background: var(--th-yellow);
	content: "";
}

.th-card-detail__evaluation-type {
	display: inline-flex;
	min-height: 30px;
	align-items: center;
	margin: 0 0 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--th-black);
	color: var(--th-yellow);
	font-size: 0.72rem;
	font-weight: 900;
}

.th-card-detail__evaluation-lead {
	position: relative;
	margin: 0 0 16px;
	padding: 15px 20px 15px 32px;
	border: 1px solid #eadb9a;
	border-left: 5px solid var(--th-yellow);
	border-radius: 10px;
	background: linear-gradient(135deg, #fffdf4, #fff9d9);
	font-size: clamp(0.92rem, 4vw, 1.08rem);
	font-weight: 700;
	line-height: 1.7;
	text-align: left;
}

.th-card-detail__evaluation-lead::before {
	position: absolute;
	top: 9px;
	left: 8px;
	color: var(--th-yellow);
	content: "“";
	font-size: 3rem;
	font-weight: 900;
	line-height: 1;
}

.th-card-detail__evaluation-lead::after {
	position: absolute;
	right: 8px;
	bottom: -7px;
	color: var(--th-yellow);
	content: "”";
	font-size: 3rem;
	font-weight: 900;
	line-height: 1;
}

.th-card-detail__evaluation-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	border-top: 0;
}

.th-card-detail__evaluation-item {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto auto auto;
	align-content: start;
	justify-items: center;
	gap: 5px;
	padding: 8px 5px 9px;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.045);
	text-align: center;
}

.th-card-detail__evaluation-item > div {
	grid-row: 2;
	grid-column: 1;
}

.th-card-detail__evaluation-item.is-premium {
	grid-template-columns: minmax(0, 1fr);
}

.th-card-detail__evaluation-icon {
	display: grid;
	width: 32px;
	height: 32px;
	grid-row: 1;
	grid-column: 1;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #ffdc1a, #ffbf00);
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.09);
	color: var(--th-black);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
}

.th-card-detail__evaluation-item.is-premium h3 span,
.th-card-detail__evaluation-item.is-growth h3 span {
	display: block;
	white-space: nowrap;
}

.th-card-detail__evaluation-item h3,
.th-card-detail__evaluation-item p,
.th-card-detail__evaluation-item small {
	margin: 0;
}

.th-card-detail__evaluation-item h3 {
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1.3;
}

.th-card-detail__evaluation-item strong {
	display: block;
	margin-top: 3px;
	color: var(--th-black);
	font-size: clamp(1.25rem, 5.5vw, 1.75rem);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.th-card-detail__evaluation-item strong small {
	display: inline;
	margin-left: 2px;
	font-size: 0.75rem;
	font-weight: 900;
}

.th-card-detail__evaluation-tone {
	display: inline-flex;
	grid-row: 3;
	grid-column: 1;
	justify-self: center;
	padding: 2px 6px;
	border-radius: 999px;
	background: var(--th-yellow);
	color: var(--th-black);
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1.35;
	text-align: center;
	white-space: normal;
}

.th-card-detail__evaluation-meter {
	display: block;
	grid-row: 1;
	grid-column: 2;
	width: 100%;
	height: 7px;
	overflow: hidden;
	margin-top: 0;
	border: 0;
	border-radius: 999px;
	background: #e7e7e7;
}

.th-card-detail__evaluation-comment {
	grid-row: 4;
	grid-column: 1;
	align-self: start;
	color: #333333;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.65;
	text-align: left;
}

.th-card-detail__evaluation-meter i {
	display: block;
	width: var(--score, 0%);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ffba00, var(--th-yellow));
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12);
}

.th-card-detail__evaluation-details {
	margin-top: 14px;
}

.th-card-detail__evaluation-details > summary {
	display: flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 9px 12px;
	border: 2px solid var(--th-black);
	border-radius: 9px;
	background: linear-gradient(180deg, var(--th-white), #fff9de);
	box-shadow: 0 3px 0 rgba(17, 17, 17, 0.16);
	font-size: 0.82rem;
	font-weight: 900;
	cursor: pointer;
	list-style: none;
}

.th-card-detail__evaluation-details > summary::-webkit-details-marker,
.th-card-detail__buyback > summary::-webkit-details-marker {
	display: none;
}

.th-card-detail__evaluation-details[open] > summary span {
	transform: rotate(90deg);
}

.th-card-detail__evaluation-details ul {
	margin-top: 12px;
}

.th-card-detail__evaluation-full-summary {
	margin: 12px 0 0;
	padding: 12px;
	background: #fffbea;
	font-size: 0.78rem;
	line-height: 1.75;
}

.th-card-detail__evaluation-blocks {
	display: grid;
	gap: 0;
	margin-top: 12px;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	background: var(--th-white);
}

.th-card-detail__evaluation-block {
	min-width: 0;
	padding: 12px;
	border-bottom: 1px solid #e8e8e8;
}

.th-card-detail__evaluation-block:last-child {
	border-bottom: 0;
}

.th-card-detail__evaluation-block h3 {
	margin: 0 0 5px;
	color: var(--th-black);
	font-size: 0.8rem;
	font-weight: 900;
	line-height: 1.45;
}

.th-card-detail__evaluation-block p {
	margin: 0;
	color: #333333;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.th-card-detail__evaluation-block--overall {
	background: #fffbea;
}

.th-card-detail__actions {
	gap: 14px;
}

.th-card-detail__buyback {
	min-width: 0;
}

.th-card-detail__buyback > summary {
	min-height: 56px;
	cursor: pointer;
	list-style: none;
}

.th-card-detail__buyback .th-card-detail__action {
	width: 100%;
	box-sizing: border-box;
}

.th-card-detail__action > span {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 10px;
}

.th-card-detail__action > span > b {
	display: grid;
	width: 34px;
	height: 34px;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 8px;
	background: var(--th-black);
	color: var(--th-yellow);
	font-size: 1.05rem;
}

.th-card-detail__action > span > span {
	display: grid;
	gap: 1px;
}

.th-card-detail__action strong {
	font-size: 1rem;
	line-height: 1.3;
}

.th-card-detail__action small {
	color: #3e3e3e;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
}

.th-card-detail__action > i {
	display: grid;
	width: 30px;
	height: 30px;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 50%;
	background: var(--th-black);
	color: var(--th-yellow);
	font-size: 1.25rem;
	font-style: normal;
	line-height: 1;
	transition: transform 160ms ease;
}

.th-card-detail__buyback[open] .th-card-detail__action {
	border-radius: 10px 10px 0 0;
	box-shadow: none;
	background: var(--th-black);
	color: var(--th-yellow);
}

.th-card-detail__buyback[open] .th-card-detail__action small {
	color: var(--th-white);
}

.th-card-detail__buyback[open] .th-card-detail__action > span > b,
.th-card-detail__buyback[open] .th-card-detail__action > i {
	background: var(--th-yellow);
	color: var(--th-black);
}

.th-card-detail__buyback[open] .th-card-detail__action > i {
	transform: rotate(45deg);
}

.th-card-detail__price-panel {
	min-width: 0;
	padding: 14px 10px 12px;
	border: 2px solid var(--th-black);
	border-top: 0;
	border-radius: 0 0 10px 10px;
	background: var(--th-white);
}

.th-card-detail__price-panel > h2 {
	margin: 0 0 10px;
	font-size: 1rem;
}

.th-card-detail__buyback-empty {
	margin: 0;
	padding: 14px;
	background: var(--th-gray-050);
	color: var(--th-gray-600);
	font-size: 0.78rem;
	text-align: center;
}

.th-card-detail__buyback-hub {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	color: #075bc7;
	font-size: 0.76rem;
	font-weight: 800;
	text-underline-offset: 3px;
}

.th-card-detail__buyback-hub:focus-visible,
.th-card-detail__evaluation-details > summary:focus-visible,
.th-card-detail__buyback > summary:focus-visible {
	outline: 3px solid var(--th-black);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var(--th-yellow);
}

@media (max-width: 359px) {
	.th-card-detail__analysis-label small {
		display: none;
	}

	.th-card-detail__analysis-label:nth-child(2),
	.th-card-detail__analysis-label:nth-child(5) {
		top: 68px;
	}

	.th-card-detail__evaluation {
		padding-right: 10px;
		padding-left: 10px;
	}

	.th-card-detail__evaluation-grid {
		gap: 5px;
	}

	.th-card-detail__evaluation-item {
		padding-right: 4px;
		padding-left: 4px;
	}
}

@media (max-width: 519px) {
	.th-card-detail__analysis-price strong::after {
		display: none;
	}

	.th-card-detail__analysis-chart {
		padding: 8px 4px 5px;
	}

	.th-card-detail__analysis-chart::before,
	.th-card-detail__analysis-chart::after {
		top: 32px;
		font-size: 10px;
	}

	.th-card-detail__analysis-kicker {
		font-size: 10px;
	}

	.th-card-detail__analysis-title {
		font-size: 14px;
	}

	.th-card-detail__analysis-title::after {
		margin-top: 3px;
	}

	.th-card-detail__analysis-chart .th-card-detail__radar {
		grid-template-rows: minmax(190px, auto) auto;
		margin-top: 2px;
	}

	.th-card-detail__radar-canvas {
		min-height: 190px;
	}

	.th-card-detail__analysis-label {
		width: 52px;
		gap: 0;
	}

	.th-card-detail__analysis-label.is-premium,
	.th-card-detail__analysis-label.is-growth {
		width: 60px;
	}

	.th-card-detail__analysis-label:nth-child(2),
	.th-card-detail__analysis-label:nth-child(5) {
		top: 46px;
	}

	.th-card-detail__analysis-label:nth-child(3),
	.th-card-detail__analysis-label:nth-child(4) {
		bottom: 3px;
	}

	.th-card-detail__analysis-label b {
		min-height: 14px;
		padding: 1px 3px;
		font-size: 9px;
		line-height: 1.05;
	}

	.th-card-detail__analysis-label.is-premium b,
	.th-card-detail__analysis-label.is-growth b {
		padding: 2px 3px;
	}

	.th-card-detail__analysis-label strong {
		margin-top: 0;
		font-size: 18px;
	}

	.th-card-detail__analysis-label small {
		font-size: 9px;
		line-height: 1.05;
	}

	.th-card-detail__analysis-chart .th-card-detail__radar figcaption {
		min-height: 16px;
		padding: 3px 2px 0;
		font-size: 8px;
		line-height: 1.25;
	}

	.th-card-detail__evaluation {
		padding: 16px 10px 12px;
	}

	.th-card-detail__evaluation-lead {
		margin-bottom: 10px;
		padding: 11px 12px 11px 25px;
		font-size: 9px;
		line-height: 1.6;
	}

	.th-card-detail__evaluation-grid {
		gap: 4px;
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-columns: 24px minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		justify-items: stretch;
		gap: 2px 5px;
		padding: 6px 4px 7px;
		text-align: left;
	}

	.th-card-detail__evaluation-icon {
		width: 24px;
		height: 24px;
		grid-row: 1 / span 2;
		grid-column: 1;
		font-size: 12px;
	}

	.th-card-detail__evaluation-item > div {
		grid-row: 1;
		grid-column: 2;
	}

	.th-card-detail__evaluation-item h3 {
		font-size: 9px;
		line-height: 1.15;
	}

	.th-card-detail__evaluation-item strong {
		margin-top: 1px;
		font-size: 18px;
	}

	.th-card-detail__evaluation-item strong small {
		font-size: 8px;
	}

	.th-card-detail__evaluation-tone {
		grid-row: 2;
		grid-column: 2;
		justify-self: start;
		padding: 1px 4px;
		font-size: 8px;
		line-height: 1.15;
	}

	.th-card-detail__evaluation-comment {
		grid-row: 3;
		grid-column: 1 / -1;
		font-size: 8px;
		line-height: 1.35;
	}
}

@media (max-width: 359px) {
	.th-card-detail__analysis-chart .th-card-detail__radar {
		grid-template-rows: minmax(180px, auto) auto;
	}

	.th-card-detail__radar-canvas {
		min-height: 180px;
	}

	.th-card-detail__analysis-label:nth-child(2),
	.th-card-detail__analysis-label:nth-child(5) {
		top: 43px;
	}
}

@media (min-width: 380px) {
	.th-card-detail__hero {
		grid-template-columns: minmax(124px, 0.76fr) minmax(0, 1.24fr);
		gap: 14px;
	}

	.th-card-detail__card-figure {
		width: 100%;
	}

	.th-card-detail__slab-image {
		min-height: 132px;
		padding: 4px;
		border-width: 4px 4px 7px;
	}

	.th-card-detail__slab-label {
		margin-bottom: 4px;
		padding: 4px 3px;
		font-size: 0.7rem;
	}

	.th-card-detail__slab-brand {
		margin-top: 4px;
		padding: 3px 2px;
		font-size: 0.45rem;
	}

	.th-card-detail__identity h1 {
		font-size: clamp(1.15rem, 5.2vw, 1.6rem);
	}

	.th-card-detail__number {
		font-size: 0.76rem;
	}

	.th-card-detail__radar {
		margin-top: 5px;
	}

	.th-card-detail__analysis-chart .th-card-detail__radar-canvas > svg {
		width: min(100%, 136px);
	}
}

@media (min-width: 520px) {
	.th-card-detail__analysis-card {
		grid-template-columns: minmax(180px, 0.9fr) minmax(0, 1.35fr);
		padding: 2px;
		border-radius: 12px;
	}

	.th-card-detail__analysis-chart {
		grid-template-rows: auto auto minmax(0, auto);
		padding: 11px 8px 8px;
		border-radius: 32px 8px 8px 32px / 50% 8px 8px 50%;
	}

	.th-card-detail__analysis-chart .th-card-detail__radar {
		grid-template-rows: minmax(320px, auto) auto;
	}

	.th-card-detail__radar-canvas {
		min-height: 320px;
	}

	.th-card-detail__analysis-chart .th-card-detail__radar-canvas > svg {
		top: 50%;
		left: 50%;
		width: min(100%, 245px);
		transform: translate(-50%, -50%);
	}

	.th-card-detail__analysis-label {
		width: 78px;
	}

	.th-card-detail__analysis-label:nth-child(1) { top: calc(50% - 160px); }
	.th-card-detail__analysis-label:nth-child(2) { top: calc(50% - 82px); right: 0; }
	.th-card-detail__analysis-label:nth-child(3) { right: 0; bottom: 12px; }
	.th-card-detail__analysis-label:nth-child(4) { bottom: 12px; left: 0; }
	.th-card-detail__analysis-label:nth-child(5) { top: calc(50% - 92px); left: 0; }

	.th-card-detail__analysis-label.is-premium,
	.th-card-detail__analysis-label.is-growth {
		width: 86px;
	}

	.th-card-detail__analysis-visual .th-card-detail__card-figure {
		width: min(100%, 150px);
	}

	.th-card-detail__evaluation-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-columns: 42px minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		justify-items: stretch;
		gap: 5px 7px;
		padding: 11px 9px;
		text-align: left;
	}

	.th-card-detail__evaluation-icon {
		width: 42px;
		height: 42px;
		grid-row: 1 / span 2;
		font-size: 1.2rem;
	}

	.th-card-detail__evaluation-item > div {
		grid-row: 1;
		grid-column: 2;
	}

	.th-card-detail__evaluation-tone {
		grid-row: 2;
		grid-column: 2;
		justify-self: start;
	}

	.th-card-detail__evaluation-comment {
		grid-row: 3;
		grid-column: 1 / -1;
	}

	.th-card-detail__price-head,
	.th-card-detail__price-row {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(76px, 0.95fr) minmax(44px, 0.55fr);
	}

	.th-card-detail__price-head {
		background: var(--th-black);
		color: var(--th-white);
		font-size: 0.75rem;
		font-weight: 800;
		text-align: center;
	}

	.th-card-detail__price-head > * {
		padding: 8px 7px;
		border-right: 1px solid #9a9a9a;
	}

	.th-card-detail__price-head > *:last-child {
		border-right: 0;
	}

	.th-card-detail__price-row > * {
		min-height: 52px;
		padding: 8px 7px;
		font-size: 0.78rem;
	}
}

@media (min-width: 760px) {
	.th-card-detail__analysis-card {
		grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1.48fr);
		grid-template-areas:
			"visual chart"
			"meta meta";
		padding: 10px;
	}

	.th-card-detail__analysis-chart {
		grid-template-rows: auto auto minmax(0, auto);
		align-content: center;
		padding: 28px 24px 18px;
	}

	.th-card-detail__analysis-chart::before,
	.th-card-detail__analysis-chart::after {
		top: 42px;
		font-size: 1.2rem;
	}

	.th-card-detail__analysis-chart::before { left: 12px; }
	.th-card-detail__analysis-chart::after { right: 12px; }

	.th-card-detail__analysis-title {
		font-size: clamp(1.02rem, 3vw, 1.5rem);
	}

	.th-card-detail__analysis-chart .th-card-detail__radar {
		grid-template-rows: minmax(350px, auto) auto;
	}

	.th-card-detail__radar-canvas {
		min-height: 350px;
	}

	.th-card-detail__analysis-chart .th-card-detail__radar-canvas > svg {
		top: 50%;
		left: 50%;
		width: min(100%, 276px);
		transform: translate(-50%, -50%);
	}

	.th-card-detail__analysis-label {
		width: 76px;
	}

	.th-card-detail__analysis-label:nth-child(1) { top: calc(50% - 182px); }
	.th-card-detail__analysis-label:nth-child(2) { top: calc(50% - 34px); right: -2px; }
	.th-card-detail__analysis-label:nth-child(3) { top: calc(50% + 92px); right: 3px; bottom: auto; }
	.th-card-detail__analysis-label:nth-child(4) { top: calc(50% + 92px); bottom: auto; left: 3px; }
	.th-card-detail__analysis-label:nth-child(5) { top: calc(50% - 34px); left: -2px; }

	.th-card-detail__analysis-label b {
		font-size: 0.75rem;
	}

	.th-card-detail__analysis-label strong {
		font-size: 1.75rem;
	}

	.th-card-detail__analysis-label small {
		font-size: 0.75rem;
	}

	.th-card-detail__analysis-visual {
		gap: 8px;
		padding: 10px;
	}

	.th-card-detail__analysis-visual .th-card-detail__grade {
		min-height: 36px;
		padding: 4px 11px;
		font-size: 1.05rem;
	}

	.th-card-detail__analysis-visual .th-card-detail__image-frame {
		padding: 9px 9px 12px;
	}

	.th-card-detail__analysis-price strong {
		font-size: clamp(1.7rem, 3.8vw, 2.15rem);
	}

	.th-card-detail__analysis-price > span {
		padding: 6px 5px;
		font-size: 0.75rem;
	}

	.th-card-detail__analysis-labels {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.th-card-detail__analysis-label:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.th-card-detail__evaluation-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-columns: 48px minmax(0, 1fr);
		padding: 14px 12px;
	}

	.th-card-detail__evaluation-icon {
		width: 48px;
		height: 48px;
		font-size: 1.4rem;
	}

	.th-card-detail-page {
		padding: 28px 34px 52px;
	}

	.th-card-detail__breadcrumb {
		margin-bottom: 22px;
	}

	.th-card-detail__hero {
		grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
		gap: 36px;
	}

	.th-card-detail__card-figure {
		width: min(100%, 310px);
	}

	.th-card-detail__analysis-visual .th-card-detail__card-figure {
		width: min(100%, 213px);
		justify-self: center;
	}

	.th-card-detail__slab-label {
		padding: 8px;
		font-size: 1.2rem;
	}

	.th-card-detail__slab-image {
		min-height: 380px;
		padding: 10px;
		border-width: 6px 6px 10px;
	}

	.th-card-detail__analysis-visual .th-card-detail__slab-image {
		position: static;
		display: grid;
		min-height: 285px;
		aspect-ratio: auto;
		padding: 10px;
		border-width: 6px 6px 10px;
	}

	.th-card-detail__analysis-visual .th-card-detail__slab-image > img {
		position: static;
		width: 220%;
		transform: translateX(0);
	}

	.th-card-detail__analysis-visual .th-card-detail__slab-label {
		margin-bottom: 7px;
		padding: 8px;
		border-width: 3px;
		font-size: 1.2rem;
	}

	.th-card-detail__analysis-visual .th-card-detail__slab-brand {
		margin-top: 7px;
		padding: 5px 4px;
		font-size: 0.72rem;
	}

	.th-card-detail__identity.th-card-detail__analysis-meta h1 {
		display: block;
		overflow: visible;
		font-size: clamp(1.35rem, 2.3vw, 1.65rem);
		-webkit-line-clamp: unset;
	}

	.th-card-detail__analysis-meta .th-card-detail__number {
		font-size: 1rem;
	}

	.th-card-detail__analysis-meta .th-card-detail__description {
		display: block;
		margin-top: 4px;
		overflow: visible;
		-webkit-line-clamp: unset;
		font-size: 0.85rem;
		line-height: 1.5;
	}

	.th-card-detail__analysis-meta {
		align-self: end;
		padding: 14px 10px 10px;
	}

	.th-card-detail__analysis-price {
		width: min(100%, 250px);
		justify-self: center;
	}

	.th-card-detail__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		gap: 16px;
	}

	.th-card-detail__slab-brand {
		font-size: 0.72rem;
	}

	.th-card-detail__identity h1 {
		font-size: clamp(1.8rem, 4vw, 2.5rem);
	}

	.th-card-detail__number {
		font-size: 1rem;
	}

	.th-card-detail__score-panel {
		display: grid;
		grid-template-columns: minmax(180px, 1.25fr) minmax(0, 3.75fr);
	}

	.th-card-detail__market {
		display: grid;
		align-content: center;
		justify-content: start;
		padding: 16px 20px;
		border-right: 1px solid #dedede;
		border-bottom: 0;
	}

	.th-card-detail__market strong {
		font-size: clamp(1.8rem, 4vw, 2.75rem);
	}

	.th-card-detail__evaluation {
		padding: 20px 24px;
	}

	.th-card-detail__evaluation li {
		font-size: 0.96rem;
	}

	.th-card-detail__prices {
		padding: 18px 16px 16px;
	}
}

@media (min-width: 760px) {
  .site-header,
  .postal-section,
  .regions-section {
    padding-left: 34px;
    padding-right: 34px;
  }

  .site-header {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .brand {
    width: min(100%, 480px);
  }

  .brand__source-logo {
    max-width: 480px;
    aspect-ratio: 4.8 / 1;
  }

  .buylist-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }

  .buylist-card__meta { flex-direction: row; align-items: center; }

  .oripa-ad { margin-left: 34px; margin-right: 34px; }
	.postal-shop-links { margin-left: 34px; margin-right: 34px; }
	.postal-shop-links__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.region-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oripa-ad__inner { grid-template-columns: auto minmax(0, 1fr) auto; padding: 18px 22px; }
  .oripa-ad__cta { min-width: 210px; }

  .content-page { padding: 36px 34px 52px; }
  .content-page__hero { padding: 28px 30px 24px; }
  .content-page__body { padding: 0 12px; font-size: 1rem; }
  .policy-data > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); }
  .policy-data dt { display: flex; align-items: center; }
  .contact-panel { padding: 20px; }
}

@media (max-width: 420px) {
  .site-header { grid-template-columns: minmax(0, 1fr) 54px; gap: 8px; padding: 4px 8px; }
  .brand { width: min(100%, 280px); }
  .brand__source-logo { max-width: 280px; aspect-ratio: 4.8 / 1; }
  .menu-toggle { padding: 8px 5px; font-size: 0.76rem; }
  .postal-section,
  .regions-section { padding-left: 12px; padding-right: 12px; }
  .oripa-ad { margin-left: 12px; margin-right: 12px; }
	.postal-shop-links { margin-left: 12px; margin-right: 12px; }
  .date-heading { align-items: start; }
  .date-heading time,
  .date-heading__pending { padding-top: 31px; }
  .section-heading { align-items: flex-start; padding: 10px; }
  .section-heading > span { min-width: 0; line-height: 1.35; }
  .oripa-ad__inner { grid-template-columns: 70px minmax(0, 1fr); gap: 10px; padding: 12px; }
  .oripa-pack { width: 68px; height: 84px; }
  .oripa-ad__cta { grid-column: 1 / -1; }
	.buylist-dialog__close {
		top: max(8px, env(safe-area-inset-top));
		right: max(8px, env(safe-area-inset-right));
	}
	.buylist-dialog__stage {
		padding-left: max(8px, env(safe-area-inset-left));
		padding-right: max(8px, env(safe-area-inset-right));
	}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
	.buylist-dialog__stage img { transition: none; }
}

/* Reference-aligned card-detail finish (v1.15.0-rc9). */
.th-card-detail__analysis-card {
	--th-analysis-shell-pad: 5px;
	border: 1px solid #d9d9d9;
	border-top-color: #efb900;
}

.th-card-detail__analysis-meta {
	position: relative;
	z-index: 2;
	margin: 0 calc(-1 * var(--th-analysis-shell-pad)) calc(-1 * var(--th-analysis-shell-pad));
	border-top: 1px solid #dedede;
	border-radius: 0 0 15px 15px;
	background: linear-gradient(180deg, #ffffff, #fafafa);
}

.th-card-detail__evaluation-lead {
	padding-right: 42px;
	padding-left: 42px;
	border: 1px solid #efc200;
	text-align: center;
}

.th-card-detail__evaluation-lead::before,
.th-card-detail__evaluation-lead::after {
	top: 50%;
	bottom: auto;
	font-size: 32px;
	transform: translateY(-50%);
}

.th-card-detail__evaluation-lead::before {
	left: 14px;
}

.th-card-detail__evaluation-lead::after {
	right: 14px;
}

@media (min-width: 520px) {
	.th-card-detail__analysis-card {
		--th-analysis-shell-pad: 2px;
	}
}

@media (min-width: 760px) {
	.th-card-detail__analysis-card {
		--th-analysis-shell-pad: 10px;
	}
}

@media (max-width: 519px) {
	.th-card-detail__analysis-meta {
		gap: 2px;
		padding: 8px 8px 7px;
	}

	.th-card-detail__analysis-meta h1,
	.th-card-detail__identity.th-card-detail__analysis-meta h1 {
		font-size: 11px;
		line-height: 1.3;
	}

	.th-card-detail__analysis-meta .th-card-detail__number,
	.th-card-detail__analysis-meta .th-card-detail__description {
		font-size: 9px;
		line-height: 1.35;
	}

	.th-card-detail__analysis-meta .th-card-detail__description {
		margin-top: 2px;
	}

	.th-card-detail__evaluation {
		padding-top: 14px;
	}

	.th-card-detail__evaluation-kicker {
		font-size: 9px;
	}

	.th-card-detail__evaluation > h2 {
		font-size: 14px;
	}

	.th-card-detail__evaluation-lead {
		padding: 10px 30px;
		font-size: 9px;
		line-height: 1.6;
	}

	.th-card-detail__evaluation-lead::before,
	.th-card-detail__evaluation-lead::after {
		font-size: 24px;
	}

	.th-card-detail__evaluation-lead::before {
		left: 8px;
	}

	.th-card-detail__evaluation-lead::after {
		right: 8px;
	}

	.th-card-detail__evaluation-comment {
		font-size: 8px;
		line-height: 1.35;
	}
}

/* User-reviewed card-detail refinements (v1.15.0-rc10). */
.th-card-detail__analysis-meta {
	margin-top: 10px;
}

.th-card-detail__slab-watermark {
	right: 5%;
	bottom: 3%;
	left: 5%;
	min-height: 11%;
	gap: 4px;
	padding: 2px 5px;
	border: 1px solid rgba(0, 0, 0, 0.72);
	border-left: 3px solid var(--th-yellow);
	border-radius: 4px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 222, 0.97));
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.24);
	font-size: clamp(0.5rem, 2.25vw, 0.76rem);
	letter-spacing: 0.04em;
}

.th-card-detail__slab-watermark i {
	width: 18px;
	height: 18px;
	flex-basis: 18px;
}

.th-card-detail__slab-watermark i img {
	top: -9px;
	left: -2px;
	width: auto;
	max-width: none;
	height: 36px;
	transform: none;
}

.th-card-detail__evaluation-grid .th-card-detail__evaluation-tone {
	display: none;
}

.th-card-detail__evaluation-item > div {
	min-height: 64px;
}

.th-card-detail__evaluation-comment {
	width: 100%;
	box-sizing: border-box;
	margin-top: 4px;
	padding-top: 6px;
	border-top: 1px solid #e8e8e8;
}

@media (max-width: 519px) {
	.th-card-detail__breadcrumb li {
		font-size: 10px;
	}

	.th-card-detail__breadcrumb li + li::before {
		margin: 0 4px;
		font-size: 13px;
	}

	.th-card-detail__breadcrumb span[aria-current="page"] {
		max-width: min(58vw, 250px);
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-rows: minmax(44px, auto) auto;
	}

	.th-card-detail__evaluation-icon {
		grid-row: 1;
	}

	.th-card-detail__evaluation-item > div {
		min-height: 44px;
	}

	.th-card-detail__evaluation-comment {
		grid-row: 2;
		margin-top: 3px;
		padding-top: 5px;
	}
}

@media (max-width: 359px) {
	.th-card-detail__breadcrumb li {
		font-size: 8px;
	}

	.th-card-detail__breadcrumb li + li::before {
		margin: 0 3px;
		font-size: 11px;
	}

	.th-card-detail__breadcrumb span[aria-current="page"] {
		max-width: min(59vw, 210px);
	}
}

@media (min-width: 520px) {
	.th-card-detail__slab-watermark i {
		width: 22px;
		height: 22px;
		flex-basis: 22px;
	}

	.th-card-detail__slab-watermark i img {
		top: -10px;
		left: -3px;
		height: 44px;
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-rows: minmax(64px, auto) auto;
	}

	.th-card-detail__evaluation-icon,
	.th-card-detail__evaluation-item > div {
		grid-row: 1;
	}

	.th-card-detail__evaluation-comment {
		grid-row: 2;
	}
}

/* User-reviewed card-detail refinements (v1.15.0-rc11). */
.th-card-detail__analysis-visual .th-card-detail__slab-label::after {
	display: none;
}

.th-card-detail__analysis-visual .th-card-detail__slab-watermark {
	right: 3%;
	bottom: 2%;
	left: 3%;
	min-height: 16%;
	gap: 5px;
	padding: 3px 6px;
	font-size: clamp(0.58rem, 2.65vw, 0.84rem);
}

.th-card-detail__analysis-visual .th-card-detail__slab-watermark i {
	width: 22px;
	height: 22px;
	flex-basis: 22px;
}

.th-card-detail__analysis-visual .th-card-detail__slab-watermark i img {
	top: -11px;
	left: -2px;
	height: 44px;
}

.th-card-detail__analysis-chart .th-card-detail__radar {
	margin-top: 12px;
}

.th-card-detail__evaluation-lead {
	font-size: clamp(0.98rem, 4vw, 1.13rem);
}

.th-card-detail__evaluation-item,
.th-card-detail__evaluation-item.is-premium {
	grid-template-rows: 60px auto;
}

.th-card-detail__evaluation-item > div {
	display: grid;
	width: 100%;
	min-height: 60px;
	grid-template-rows: 32px 28px;
	align-content: start;
	justify-items: center;
}

.th-card-detail__evaluation-item h3 {
	display: flex;
	width: 100%;
	height: 32px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.th-card-detail__evaluation-item strong {
	margin-top: 0;
	align-self: start;
}

.th-card-detail__evaluation-icon {
	align-self: center;
}

.th-card-detail__evaluation-item.is-scarcity .th-card-detail__evaluation-icon {
	font-size: 0;
}

.th-card-detail__evaluation-item.is-scarcity .th-card-detail__evaluation-icon::before {
	display: block;
	width: 23px;
	height: 19px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M4 2h16l3 6-11 10L1 8z' fill='none' stroke='%23080808' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M1 8h22M4 2l4 6 4-6 4 6 4-6M8 8l4 10 4-10' fill='none' stroke='%23080808' stroke-width='1.25' stroke-linejoin='round'/%3E%3C/svg%3E");
	content: "";
}

.th-card-detail__evaluation-comment {
	margin-top: 0;
	padding-top: 4px;
}

@media (max-width: 519px) {
	.th-card-detail__analysis-chart .th-card-detail__radar {
		margin-top: 10px;
	}

	.th-card-detail__radar-canvas {
		transform: translateY(clamp(8px, calc(33.333vw - 112px), 18px));
	}

	.th-card-detail__evaluation-lead {
		font-size: clamp(9px, 2.55vw, 10px);
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-columns: 28px minmax(0, 1fr);
		grid-template-rows: auto auto;
		gap: 2px 4px;
	}

	.th-card-detail__evaluation-icon {
		width: 28px;
		height: 28px;
		grid-row: 1;
		align-self: center;
	}

	.th-card-detail__evaluation-item > div {
		min-height: 39px;
		grid-template-rows: 21px 18px;
	}

	.th-card-detail__evaluation-item h3 {
		height: 21px;
	}

	.th-card-detail__evaluation-item strong {
		height: 18px;
		line-height: 18px;
	}

	.th-card-detail__evaluation-item.is-scarcity .th-card-detail__evaluation-icon::before {
		width: 17px;
		height: 14px;
	}

	.th-card-detail__evaluation-comment {
		grid-row: 2;
		margin-top: 0;
		padding-top: 4px;
	}
}

@media (max-width: 359px) {
	.th-card-detail__analysis-chart .th-card-detail__radar {
		margin-top: 8px;
	}

	.th-card-detail__radar-canvas {
		transform: none;
	}

	.th-card-detail__evaluation-lead {
		font-size: 9px;
	}
}

@media (min-width: 520px) {
	.th-card-detail__radar-canvas {
		transform: translateY(10px);
	}

	.th-card-detail__analysis-visual .th-card-detail__slab-watermark i {
		width: 26px;
		height: 26px;
		flex-basis: 26px;
	}

	.th-card-detail__analysis-visual .th-card-detail__slab-watermark i img {
		top: -13px;
		left: -3px;
		height: 52px;
	}
}

/* User-reviewed card-detail refinements (v1.15.0-rc12). */
.th-card-detail__analysis-chart::before,
.th-card-detail__analysis-chart::after,
.th-card-detail__analysis-title::after {
	display: none;
	content: none;
}

@media (max-width: 519px) {
	.th-card-detail__analysis-label:nth-child(1) {
		top: -8px;
	}

	.th-card-detail__evaluation-grid {
		align-items: stretch;
		grid-auto-rows: 1fr;
		gap: 5px;
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		height: 100%;
		box-sizing: border-box;
		grid-template-columns: 26px minmax(0, 1fr);
		grid-template-rows: 42px minmax(0, 1fr);
		align-content: start;
		gap: 3px 5px;
		padding: 7px 5px 8px;
	}

	.th-card-detail__evaluation-icon {
		width: 26px;
		height: 26px;
		grid-row: 1;
		grid-column: 1;
		align-self: center;
	}

	.th-card-detail__evaluation-item > div {
		min-height: 42px;
		grid-row: 1;
		grid-column: 2;
		grid-template-rows: 22px 20px;
		justify-items: start;
	}

	.th-card-detail__evaluation-item h3 {
		height: 22px;
		align-items: flex-start;
		justify-content: flex-start;
		text-align: left;
	}

	.th-card-detail__evaluation-item strong {
		height: 20px;
		align-self: start;
		line-height: 20px;
	}

	.th-card-detail__evaluation-comment {
		grid-row: 2;
		grid-column: 1 / -1;
		align-self: start;
		margin: 0;
		padding-top: 4px;
	}
}

@media (min-width: 380px) and (max-width: 519px) {
	.th-card-detail__analysis-label:nth-child(1) {
		top: -17px;
	}
}

@media (max-width: 359px) {
	.th-card-detail__analysis-label:nth-child(1) {
		top: -2px;
	}

	.th-card-detail__evaluation-grid {
		gap: 4px;
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-columns: 24px minmax(0, 1fr);
		grid-template-rows: 40px minmax(0, 1fr);
		gap: 3px 4px;
		padding: 6px 4px 7px;
	}

	.th-card-detail__evaluation-icon {
		width: 24px;
		height: 24px;
	}

	.th-card-detail__evaluation-item > div {
		min-height: 40px;
		grid-template-rows: 21px 19px;
	}

	.th-card-detail__evaluation-item h3 {
		height: 21px;
	}

	.th-card-detail__evaluation-item strong {
		height: 19px;
		font-size: 17px;
		line-height: 19px;
	}
}

@media (min-width: 760px) {
	.th-card-detail__analysis-chart .th-card-detail__radar-canvas > svg {
		width: min(100%, 256px);
	}

	.th-card-detail__analysis-label:nth-child(1) {
		transform: translate(-50%, -8px);
	}
}

/* Reference-crop score-card balance (v1.15.0-rc13). */
@media (max-width: 519px) {
	.th-card-detail__evaluation-grid {
		grid-auto-rows: auto;
		gap: 5px;
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		height: auto;
		min-height: 0;
		grid-template-columns: 27px minmax(0, 1fr);
		grid-template-rows: 38px auto;
		gap: 2px 5px;
		padding: 5px 5px 6px;
		border-color: #ececec;
		border-radius: 11px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.035);
	}

	/* The reviewed crop uses a slightly taller first row and a tighter second row. */
	.th-card-detail__evaluation-item:nth-child(-n + 3) {
		aspect-ratio: 1.07 / 1;
	}

	.th-card-detail__evaluation-item:nth-child(n + 4) {
		aspect-ratio: 1.2 / 1;
	}

	.th-card-detail__evaluation-icon {
		width: 27px;
		height: 27px;
	}

	.th-card-detail__evaluation-item > div {
		height: 30px;
		min-height: 0;
		grid-template-rows: 10px 20px;
		align-self: center;
	}

	.th-card-detail__evaluation-item h3 {
		height: 10px;
		font-size: 8px;
		line-height: 1;
	}

	.th-card-detail__evaluation-item.is-growth h3,
	.th-card-detail__evaluation-item.is-premium h3 {
		flex-direction: row;
		font-size: 7px;
		letter-spacing: -0.03em;
		white-space: nowrap;
	}

	.th-card-detail__evaluation-item.is-growth h3 span,
	.th-card-detail__evaluation-item.is-premium h3 span {
		display: inline;
	}

	.th-card-detail__evaluation-item strong {
		height: 20px;
		font-size: 21px;
		line-height: 20px;
	}

	.th-card-detail__evaluation-item strong small {
		font-size: 7px;
	}

	.th-card-detail__evaluation-comment {
		padding-top: 4px;
		border-top-color: #f2f2f2;
		font-size: 7.5px;
		font-weight: 700;
		line-height: 1.3;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 359px) {
	.th-card-detail__evaluation-grid {
		gap: 4px;
	}

	.th-card-detail__evaluation-item:nth-child(-n + 3) {
		aspect-ratio: 1.07 / 1;
	}

	.th-card-detail__evaluation-item:nth-child(n + 4) {
		aspect-ratio: 1.2 / 1;
	}

	.th-card-detail__evaluation-item,
	.th-card-detail__evaluation-item.is-premium {
		grid-template-columns: 24px minmax(0, 1fr);
		grid-template-rows: 31px auto;
		gap: 2px 4px;
		padding: 5px 4px;
	}

	.th-card-detail__evaluation-icon {
		width: 21px;
		height: 21px;
	}

	.th-card-detail__evaluation-item > div {
		height: 29px;
		grid-template-rows: 10px 19px;
		align-self: center;
	}

	.th-card-detail__evaluation-item h3 {
		height: 10px;
		font-size: 7.5px;
		line-height: 1;
	}

	.th-card-detail__evaluation-item.is-growth h3,
	.th-card-detail__evaluation-item.is-premium h3 {
		font-size: 6px;
		letter-spacing: -0.06em;
	}

	.th-card-detail__evaluation-item strong {
		height: 19px;
		font-size: 18px;
		line-height: 19px;
	}

	.th-card-detail__evaluation-item strong small {
		font-size: 6px;
	}

	.th-card-detail__evaluation-comment {
		padding-top: 3px;
		font-size: 6.25px;
		font-weight: 700;
		line-height: 1.25;
	}
}

/* Live-data overflow guard (v1.15.0-rc14). */
@media (max-width: 359px) {
	.th-card-detail__evaluation-item:nth-child(n + 4) {
		min-height: 83px;
	}
}

/* B-layout with C-flat icons: top and card archive only (v1.15.0-rc16).
 * Header geometry intentionally inherits the shared card-detail rules. */
.home-portal-page .brand__source-logo,
.th-card-archive-page .brand__source-logo {
	object-position: 42% 58%;
}

.site-header__quick-nav { display: none; }

.home-portal-page .home-portal {
	gap: 10px;
	padding: 10px 12px 26px;
}

.home-search-shortcut {
	display: flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid #d8d8d8;
	border-radius: 4px;
	background: #fff;
	color: #222;
	font-size: .72rem;
	font-weight: 700;
	text-decoration: none;
}

.home-search-shortcut img { width: 15px; height: 15px; }
.home-feature-row { display: grid; gap: 10px; }

.home-portal-page .home-feature {
	min-height: 150px;
	grid-template-columns: minmax(0, 1.08fr) minmax(92px, .92fr);
	padding: 14px 12px;
	border-radius: 9px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .11);
}

.home-portal-page .home-feature--oripa { min-height: 146px; }
.home-portal-page .home-feature__eyebrow {
	min-height: 20px;
	margin-bottom: 7px;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: .55rem;
}
.home-portal-page .home-feature h2 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.2;
}
.home-portal-page .home-feature p { display: none; }
.home-portal-page .home-feature__visual .th-card-mini-radar { max-width: 118px; }
.home-portal-page .home-feature__visual .th-card-mini-radar svg { min-width: 0; }
.home-portal-page .home-feature__visual .th-card-mini-radar figcaption { display: none; }
.home-portal-page .home-feature--spec .th-card-mini-radar__grid polygon,
.home-portal-page .home-feature--spec .th-card-mini-radar__grid line { stroke: rgba(8, 8, 8, .72); }
.home-portal-page .home-feature--spec .th-card-mini-radar__value {
	fill: rgba(255, 255, 255, .58);
	stroke: #111;
	stroke-width: 2;
}
.home-portal-page .home-feature__arrow {
	right: auto;
	bottom: 12px;
	left: 12px;
	width: 24px;
	height: 24px;
	font-size: 1.2rem;
}
.home-feature__flat-icon {
	width: min(31vw, 116px);
	height: auto;
	justify-self: center;
}

.home-portal-page .home-portal-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.home-portal-page .home-tile {
	min-height: 120px;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	gap: 5px 8px;
	padding: 10px 8px;
	border-radius: 7px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.home-portal-page .home-tile__icon {
	display: block;
	width: 45px;
	height: 45px;
	margin: 0;
	border: 0;
	object-fit: contain;
}
.home-portal-page .home-tile h2 {
	width: 100%;
	margin: 0;
	font-size: .88rem;
	line-height: 1.2;
}
.home-portal-page .home-tile p,
.home-portal-page .home-tile__arrow { display: none; }

.home-portal-page .home-card-search { display: none; }
.home-portal-page .home-spotlight {
	padding: 12px 9px;
	border-radius: 7px;
	box-shadow: none;
}
.home-portal-page .home-spotlight__heading { margin-bottom: 9px; }
.home-portal-page .home-spotlight__heading h2 { font-size: .9rem; }
.home-portal-page .home-spotlight__heading a { font-size: .69rem; }
.home-portal-page .home-spotlight__cards { gap: 7px; }
.home-portal-page .home-spotlight-card:nth-child(n + 4) { display: none; }
.home-portal-page .home-spotlight-card { gap: 4px; }
.home-spotlight-card__slab { display: block; width: 78%; min-width: 0; margin-inline: auto; }
.home-spotlight-card__slab .th-psa-slab--summary {
	position: relative;
	display: grid;
	isolation: isolate;
	width: 100%;
	padding: 3px 3px 4px;
	border-width: 1px;
	border-radius: 5px;
	background: linear-gradient(120deg, #f2f3f4 0%, #92969a 13%, #e7e9eb 31%, #74787c 52%, #f2f3f4 73%, #85898d 100%);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .17), inset 0 0 0 2px rgba(255, 255, 255, .7);
}
.home-spotlight-card__slab .th-psa-slab__label {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto;
	align-items: start;
	gap: 1px;
	margin-bottom: 2px;
	padding: 2px;
	border: 2px solid #d81d1d;
	border-radius: 1px;
	background: linear-gradient(180deg, #fff 0%, #f4f7f8 100%);
	color: #202020;
	line-height: 1;
	text-align: left;
}
.home-spotlight-card__slab .th-psa-slab__label > strong { font-size: .42rem; }
.home-spotlight-card__slab .th-psa-slab__label > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-spotlight-card__slab .th-psa-slab__meta,
.home-spotlight-card__slab .th-psa-slab__barcode { display: none; }
.home-spotlight-card__slab .th-psa-slab__label::after,
.th-card-archive-page .th-card-summary .th-psa-slab__label::after {
	position: absolute;
	bottom: -4px;
	left: 50%;
	display: block;
	width: 7px;
	height: 7px;
	border: 1px solid #45494d;
	border-radius: 50%;
	background: linear-gradient(135deg, #ffcf00 0 48%, #202326 49% 100%);
	content: "";
	transform: translateX(-50%);
}
.home-spotlight-card__slab .th-psa-slab__image {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: .72 / 1;
	padding: 3px;
	border-width: 3px 3px 5px;
	border-style: solid;
	border-color: rgba(56, 59, 62, .9);
	border-radius: 3px;
	background: #242424;
}
.home-portal-page .home-spotlight-card__slab .th-psa-slab__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transform: none;
}
.home-spotlight-card__copy { display: grid; gap: 1px; min-width: 0; }
.home-spotlight-card__copy strong {
	display: -webkit-box;
	min-height: 2.55em;
	overflow: hidden;
	font-size: .62rem;
	line-height: 1.27;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.home-spotlight-card__copy small { color: #111; font-size: .72rem; font-weight: 900; }
.home-spotlight-card__copy em {
	justify-self: start;
	padding: 2px 4px;
	border-radius: 3px;
	background: #111;
	color: #fff;
	font-size: .48rem;
	font-style: normal;
	font-weight: 900;
}

.th-card-archive-page .th-card-archive {
	padding: 9px 12px 32px;
}
.th-card-archive-page .th-card-breadcrumb {
	min-height: 34px;
	gap: 7px;
	font-size: .69rem;
}
.th-card-archive-page .th-card-archive > h1 {
	margin: 7px 0 13px;
	font-size: 1.5rem;
}
.th-card-archive-page .th-card-search {
	gap: 6px;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.th-card-archive-page .th-card-search input {
	min-height: 42px;
	padding: 7px 10px;
	border: 1px solid #cfcfcf;
	border-radius: 4px;
	font-size: .75rem;
}
.th-card-archive-page .th-card-search button {
	min-height: 42px;
	padding: 6px 10px;
	border-radius: 4px;
	font-size: .76rem;
}
.th-card-archive-page .th-card-sort {
	margin: 10px 0 7px;
	border-radius: 5px;
}
.th-card-archive-page .th-card-sort a,
.th-card-archive-page .th-card-sort a:nth-child(1) {
	min-height: 46px;
	padding: 4px 3px;
}
.th-card-archive-page .th-card-sort a:nth-child(1) { border-radius: 4px 4px 0 0; }
.th-card-archive-page .th-card-sort a:nth-child(5) { border-radius: 0 0 0 4px; }
.th-card-archive-page .th-card-sort a:nth-child(7) { border-radius: 0 0 4px; }
.th-card-archive-page .th-card-sort strong { font-size: .69rem; line-height: 1.08; }
.th-card-archive-page .th-card-sort small { display: none; }
.th-card-archive-page .th-card-archive__meta {
	min-height: 35px;
	font-size: .72rem;
}
.th-card-archive-page .th-card-results { gap: 9px; }
.th-card-archive-page .th-card-summary {
	grid-template-columns: minmax(72px, 82px) minmax(0, 1fr) minmax(90px, 104px);
	min-height: 178px;
	gap: 7px;
	padding: 8px 31px 8px 7px;
	border-radius: 7px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .055);
}
.th-card-archive-page .th-card-summary__copy h2,
.th-card-archive-page .th-card-summary__copy h3 {
	font-size: .82rem;
	line-height: 1.22;
}
.th-card-archive-page .th-card-summary__number { margin-bottom: 6px; font-size: .58rem; }
.th-card-archive-page .th-card-summary__price span { font-size: .59rem; }
.th-card-archive-page .th-card-summary__price strong { font-size: 1.05rem; }
.th-card-archive-page .th-card-summary__metric { margin-top: 5px; font-size: .52rem; }
.th-card-archive-page .th-card-mini-radar { max-width: 104px; }
.th-card-archive-page .th-card-mini-radar__labels { font-size: 11px; }
.th-card-archive-page .th-card-mini-radar figcaption { font-size: .5rem; }
.th-card-archive-page .th-card-summary__link {
	right: 4px;
	width: 24px;
	height: 24px;
	font-size: 0;
}
.th-card-archive-page .th-card-summary__link span { font-size: 1.15rem; }
.th-card-archive-page .th-card-summary .th-psa-slab--summary {
	position: relative;
	display: grid;
	isolation: isolate;
	background: linear-gradient(120deg, #f2f3f4 0%, #92969a 13%, #e7e9eb 31%, #74787c 52%, #f2f3f4 73%, #85898d 100%);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .17), inset 0 0 0 2px rgba(255, 255, 255, .7);
}
.th-card-archive-page .th-card-summary .th-psa-slab__label {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 3px;
	align-items: start;
	gap: 1px 2px;
	margin-bottom: 3px;
	padding: 2px;
	border: 2px solid #d81d1d;
	border-radius: 1px;
	background: linear-gradient(180deg, #fff 0%, #f4f7f8 100%);
	color: #202020;
	line-height: 1;
	text-align: left;
}
.th-card-archive-page .th-card-summary .th-psa-slab__image {
	overflow: hidden;
	border-style: solid;
	border-color: rgba(56, 59, 62, .9);
	border-radius: 3px;
	background: #242424;
}

@media (min-width: 600px) and (max-width: 1023px) {
	.th-card-archive-page .th-card-search { grid-template-columns: minmax(0, 1fr) 150px; }
	.th-card-archive-page .th-card-sort { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.th-card-archive-page .th-card-sort a,
	.th-card-archive-page .th-card-sort a:nth-child(1) {
		min-height: 44px;
	}
	.th-card-archive-page .th-card-sort a:nth-child(1) { grid-column: auto; border-radius: 4px 0 0 4px; }
	.th-card-archive-page .th-card-sort a:nth-child(5) { border-radius: 0; }
	.th-card-archive-page .th-card-sort a:nth-child(7) { border-radius: 0 4px 4px 0; }
	.th-card-archive-page .th-card-summary {
		grid-template-columns: 118px minmax(0, 1fr) minmax(150px, 178px);
		min-height: 188px;
		padding: 10px 36px 10px 10px;
	}
	.th-card-archive-page .th-card-mini-radar { max-width: 170px; }
}

@media (min-width: 1024px) {
	.home-portal-page .menu-toggle,
	.th-card-archive-page .menu-toggle { display: none; }
	.home-portal-page .site-menu,
	.th-card-archive-page .site-menu { display: none !important; }
	.site-header__quick-nav {
		display: flex;
		min-width: 0;
		align-items: center;
		justify-content: flex-end;
		gap: clamp(12px, 1.7vw, 24px);
	}
	.site-header__quick-nav a {
		font-size: clamp(.64rem, .8vw, .78rem);
		font-weight: 800;
		text-decoration: none;
		white-space: nowrap;
	}
	.site-header__quick-nav a[aria-current="page"] { text-decoration: underline 2px #ffd400; text-underline-offset: 6px; }

	.home-portal-page .home-portal {
		gap: 14px;
		padding: 22px 26px 38px;
	}
	.home-search-shortcut { display: none; }
	.home-feature-row {
		grid-template-columns: minmax(0, .965fr) minmax(0, 1.035fr);
		gap: 14px;
	}
	.home-portal-page .home-feature,
	.home-portal-page .home-feature--oripa {
		min-height: 234px;
		grid-template-columns: minmax(0, 1.13fr) minmax(150px, .87fr);
		padding: 24px 24px;
		border-radius: 10px;
	}
	.home-portal-page .home-feature__eyebrow { min-height: 24px; font-size: .68rem; }
	.home-portal-page .home-feature h2 { font-size: 1.55rem; }
	.home-portal-page .home-feature__visual .th-card-mini-radar { max-width: 174px; }
	.home-portal-page .home-feature__arrow { bottom: 22px; left: 24px; width: 30px; height: 30px; }
	.home-feature__flat-icon { width: 180px; }
	.home-portal-page .home-portal-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 14px;
	}
	.home-portal-page .home-tile {
		min-height: 94px;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 10px;
		padding: 12px 13px;
	}
	.home-portal-page .home-tile__icon { width: 50px; height: 50px; flex: 0 0 50px; }
	.home-portal-page .home-tile h2 { width: auto; font-size: 1rem; text-align: left; }
	.home-portal-page .home-card-search {
		display: block;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.home-portal-page .home-card-search h2 { display: none; }
	.home-portal-page .home-card-search form { grid-template-columns: minmax(0, 1fr) 180px; gap: 10px; }
	.home-portal-page .home-card-search input,
	.home-portal-page .home-card-search button { min-height: 42px; border-radius: 4px; }
	.home-portal-page .home-spotlight { padding: 14px 12px; }
	.home-portal-page .home-spotlight__heading h2 { font-size: 1.1rem; }
	.home-portal-page .home-spotlight__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
	.home-portal-page .home-spotlight-card:nth-child(n + 4) { display: grid; }
	.home-spotlight-card__copy strong { font-size: .68rem; }
	.home-spotlight-card__copy small { font-size: .83rem; }

	.th-card-archive-page .th-card-archive { padding: 18px 24px 42px; }
	.th-card-archive-page .th-card-breadcrumb { min-height: 28px; }
	.th-card-archive-page .th-card-archive > h1 { margin: 7px 0 12px; font-size: 1.8rem; }
	.th-card-archive-page .th-card-search { grid-template-columns: minmax(0, 1fr) 168px; gap: 9px; }
	.th-card-archive-page .th-card-search input,
	.th-card-archive-page .th-card-search button { min-height: 42px; }
	.th-card-archive-page .th-card-sort {
		grid-template-columns: repeat(7, minmax(0, 1fr));
		margin: 9px 0 7px;
	}
	.th-card-archive-page .th-card-sort a,
	.th-card-archive-page .th-card-sort a:nth-child(1) {
		min-height: 42px;
		padding: 3px 2px;
	}
	.th-card-archive-page .th-card-sort a:nth-child(1) { grid-column: auto; border-radius: 4px 0 0 4px; }
	.th-card-archive-page .th-card-sort a:nth-child(5) { border-radius: 0; }
	.th-card-archive-page .th-card-sort a:nth-child(7) { border-radius: 0 4px 4px 0; }
	.th-card-archive-page .th-card-sort strong { font-size: .66rem; }
	.th-card-archive-page .th-card-results {
		grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
		gap: 10px 14px;
	}
	.th-card-archive-page .th-card-summary {
		grid-template-columns: minmax(86px, 100px) minmax(0, 1fr) minmax(110px, 130px);
		min-height: 174px;
		gap: 9px;
		padding: 9px 30px 9px 8px;
	}
	.th-card-archive-page .th-card-summary .th-psa-slab__label > strong { font-size: .55rem; }
	.th-card-archive-page .th-card-summary .th-psa-slab__meta { font-size: .24rem; }
	.th-card-archive-page .th-card-mini-radar { max-width: 128px; }
	.th-card-archive-page .th-card-summary__copy h2,
	.th-card-archive-page .th-card-summary__copy h3 { font-size: .82rem; }
	.th-card-archive-page .th-card-summary__price strong { font-size: 1.18rem; }
}

@media (max-width: 359px) {
	.th-card-archive-page .th-card-summary {
		grid-template-columns: 64px minmax(0, 1fr) 76px;
		min-height: 190px;
		gap: 4px;
		padding: 7px 26px 7px 5px;
	}
	.th-card-archive-page .th-card-summary__copy h2,
	.th-card-archive-page .th-card-summary__copy h3 {
		font-size: .69rem;
		line-height: 1.18;
	}
	.th-card-archive-page .th-card-summary__number {
		margin-bottom: 4px;
		font-size: .49rem;
	}
	.th-card-archive-page .th-card-summary__price span { font-size: .51rem; }
	.th-card-archive-page .th-card-summary__price strong { font-size: .93rem; }
	.th-card-archive-page .th-card-summary__metric {
		margin-top: 4px;
		padding: 2px 3px;
		font-size: .44rem;
	}
	.th-card-archive-page .th-card-mini-radar { max-width: 76px; }
	.th-card-archive-page .th-card-mini-radar__labels { font-size: 9px; }
	.th-card-archive-page .th-card-summary__link { right: 3px; width: 22px; height: 22px; }
}

/* Reference-driven homepage implementation (v1.15.0-rc17).
 * The rules are deliberately scoped to the portal so card, buyback, article,
 * and policy pages retain their existing geometry. */
.home-portal-page {
	background: #fff;
	color: #111;
}

.home-portal-page .home-portal-shell {
	width: min(100%, 1200px);
	box-shadow: none;
}

.home-portal-page .site-header {
	min-height: 48px;
	grid-template-columns: minmax(0, 1fr) 88px;
	gap: 8px;
	padding: 1px 14px;
	border-bottom: 1px solid #ededed;
}

.home-portal-page .brand { width: min(100%, 172px); }
.home-portal-page .brand > a { display: flex; min-height: 44px; align-items: center; }
.home-portal-page .brand__source-logo {
	width: 100%;
	max-width: 172px;
	aspect-ratio: 4.8 / 1;
	object-fit: cover;
	object-position: 42% 58%;
}

.home-portal-page .menu-toggle {
	position: relative;
	width: 88px;
	min-height: 40px;
	padding: 6px 8px;
	border-width: 1px;
	border-radius: 8px;
	background: #fecf02;
	font-size: .76rem;
	font-weight: 700;
}

.home-portal-page .menu-toggle::after,
.home-portal-page .home-panel-cta::before {
	position: absolute;
	inset: -4px 0;
	content: "";
}

.home-portal-page .home-portal {
	display: grid;
	gap: 10px;
	padding: 10px 16px 0;
	background: #fff;
}

.home-portal-page .home-search-shortcut {
	display: grid;
	width: 100%;
	min-height: 44px;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 0;
	padding: 0 8px 0 0;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
}

.home-portal-page .home-search-shortcut button {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.home-portal-page .home-search-shortcut button img { width: 19px; height: 19px; }
.home-portal-page .home-search-shortcut input {
	width: 100%;
	min-width: 0;
	height: 42px;
	padding: 0 4px;
	border: 0;
	outline: 0;
	background: transparent;
	color: #111;
	font-size: .94rem;
}
.home-portal-page .home-search-shortcut input::placeholder { color: #999; opacity: 1; }
.home-portal-page .home-search-shortcut:focus-within {
	border-color: #111;
	box-shadow: 0 0 0 2px rgba(254, 207, 2, .55);
}

.home-portal-page .home-feature-row,
.home-portal-page .home-feature-side {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
}

.home-portal-page .home-evaluation {
	padding: 12px;
	border: 1px solid #fecf02;
	border-radius: 10px;
	background: #fef8e3;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}

.home-portal-page .home-evaluation__layout {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(118px, 34%) repeat(2, minmax(0, 1fr));
	grid-template-areas:
		"card heading heading"
		"card overview overview"
		"card popularity liquidity"
		"premium scarcity growth";
	gap: 6px;
}

.home-portal-page .home-evaluation__card {
	display: block;
	min-width: 0;
	grid-area: card;
	align-self: stretch;
	color: inherit;
	text-decoration: none;
}

.home-portal-page .home-evaluation__card .th-psa-slab--summary {
	position: relative;
	display: grid;
	width: 100%;
	height: 100%;
	min-height: 0;
	grid-template-rows: auto minmax(0, 1fr);
	padding: 4px 4px 5px;
	border: 1px solid #777b7e;
	border-radius: 6px;
	background: linear-gradient(120deg, #f2f3f4 0%, #92969a 13%, #e7e9eb 31%, #74787c 52%, #f2f3f4 73%, #85898d 100%);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .16), inset 0 0 0 2px rgba(255, 255, 255, .7);
}

.home-portal-page .home-evaluation__card .th-psa-slab__label {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 3px;
	gap: 1px 2px;
	margin-bottom: 3px;
	padding: 3px;
	border: 2px solid #d81d1d;
	border-radius: 2px;
	background: #fff;
	color: #202020;
	line-height: 1;
}
.home-portal-page .home-evaluation__card .th-psa-slab__label > strong { font-size: .52rem; }
.home-portal-page .home-evaluation__card .th-psa-slab__meta { font-size: .24rem; }
.home-portal-page .home-evaluation__card .th-psa-slab__barcode { width: 22px; height: 3px; }
.home-portal-page .home-evaluation__card .th-psa-slab__image {
	position: relative;
	display: block;
	min-height: 0;
	overflow: hidden;
	padding: 3px;
	border: 3px solid rgba(56, 59, 62, .9);
	border-bottom-width: 5px;
	border-radius: 3px;
	background: #242424;
}
.home-portal-page .home-evaluation__card .th-psa-slab__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transform: none;
}
.home-portal-page .home-evaluation__card .th-psa-slab__pending,
.home-portal-page .home-evaluation__card-pending {
	display: grid;
	width: 100%;
	height: 100%;
	min-height: 200px;
	place-items: center;
	border: 1px solid #d6d6d6;
	border-radius: 6px;
	background: #f4f4f4;
	color: #666;
	font-size: .66rem;
	text-align: center;
}

.home-portal-page .home-evaluation__heading {
	display: grid;
	min-width: 0;
	grid-area: heading;
	align-content: center;
	gap: 3px;
	padding: 1px 4px 3px 8px;
}
.home-portal-page .home-evaluation__heading h2 {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}
.home-portal-page .home-evaluation__heading p {
	margin: 0;
	font-size: .72rem;
	font-weight: 500;
	line-height: 1.45;
}

.home-portal-page .home-evaluation__overview {
	display: grid;
	min-width: 0;
	min-height: 92px;
	grid-template-columns: minmax(68px, .78fr) minmax(102px, 1.22fr);
	grid-area: overview;
	align-items: center;
	gap: 2px;
	padding: 5px 6px;
	border: 1px solid #ececec;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .035);
}
.home-portal-page .home-evaluation__total { display: grid; align-content: center; gap: 5px; }
.home-portal-page .home-evaluation__total > span { font-size: .78rem; font-weight: 700; }
.home-portal-page .home-evaluation__total > strong {
	font-size: 2.35rem;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: .98;
	white-space: nowrap;
}
.home-portal-page .home-evaluation__total > strong small { margin-left: 2px; font-size: .8rem; letter-spacing: 0; }
.home-portal-page .home-evaluation__total > strong.is-pending { font-size: .85rem; letter-spacing: 0; }
.home-portal-page .home-evaluation__radar { display: grid; min-width: 0; place-items: center; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar { width: 100%; max-width: 122px; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar figcaption { display: none; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__labels { font-size: 12px; font-weight: 800; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__grid polygon,
.home-portal-page .home-evaluation__radar .th-card-mini-radar__grid line { stroke: #c5c5c5; stroke-width: 1; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__grid polygon:last-of-type { stroke: #aaa; stroke-width: 1.25; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__value { fill: rgba(254, 207, 2, .36); stroke: #efbd00; stroke-width: 3; }

.home-portal-page .home-evaluation__metric {
	display: grid;
	min-width: 0;
	min-height: 62px;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: center;
	gap: 4px;
	padding: 5px 5px;
	border: 1px solid #ececec;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .035);
}
.home-portal-page .home-evaluation__metric--popularity { grid-area: popularity; }
.home-portal-page .home-evaluation__metric--liquidity { grid-area: liquidity; }
.home-portal-page .home-evaluation__metric--premium { grid-area: premium; }
.home-portal-page .home-evaluation__metric--scarcity { grid-area: scarcity; }
.home-portal-page .home-evaluation__metric--growth { grid-area: growth; }
.home-portal-page .home-evaluation__metric-icon {
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	color: #111;
	font-size: 1.28rem;
	font-weight: 700;
	line-height: 1;
}
.home-portal-page .home-evaluation__metric--popularity .home-evaluation__metric-icon,
.home-portal-page .home-evaluation__metric--popularity strong { color: #ff2d2d; }
.home-portal-page .home-evaluation__metric--liquidity .home-evaluation__metric-icon {
	border: 1.5px solid #111;
	border-radius: 50%;
	font-size: .9rem;
}
.home-portal-page .home-evaluation__metric-copy { display: grid; min-width: 0; justify-items: center; gap: 2px; text-align: center; }
.home-portal-page .home-evaluation__metric-copy b {
	display: block;
	max-width: 100%;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.08;
	overflow-wrap: normal;
}
.home-portal-page .home-evaluation__metric-copy strong {
	color: #f28a00;
	font-size: 1.48rem;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	line-height: 1;
}
.home-portal-page .home-evaluation__metric.is-pending .home-evaluation__metric-copy strong { color: #666; font-size: .68rem; }

.home-portal-page .home-panel-cta {
	position: relative;
	display: grid;
	min-height: 44px;
	grid-template-columns: minmax(0, 1fr) 24px;
	align-items: center;
	margin-top: 8px;
	padding: 5px 8px 5px 32px;
	border-radius: 8px;
	background: #fecf02;
	color: #111;
	font-size: .94rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}
.home-portal-page .home-panel-cta span { justify-self: end; font-size: 1.45rem; line-height: 1; }
.home-portal-page .home-panel-cta:hover,
.home-portal-page .home-panel-cta:focus-visible { background: #e5b900; }
.home-portal-page .home-panel-cta:focus-visible { outline: 3px solid #111; outline-offset: 2px; }

.home-portal-page .home-oripa {
	padding: 12px;
	border: 1px solid #111;
	border-radius: 10px;
	background: #050505;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .10);
	color: #fff;
}
.home-portal-page .home-oripa__layout {
	display: grid;
	min-width: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 8px;
}
.home-portal-page .home-oripa__copy { display: grid; min-width: 0; align-content: start; gap: 7px; }
.home-portal-page .home-oripa__copy h2 {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 1.04rem;
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
}
.home-portal-page .home-oripa__copy h2 img { width: 27px; height: 27px; object-fit: contain; }
.home-portal-page .home-oripa__copy p {
	margin: 0;
	font-size: .7rem;
	font-weight: 500;
	line-height: 1.58;
}
.home-portal-page .home-oripa__tags {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 3px;
}
.home-portal-page .home-oripa__tags span {
	display: grid;
	min-height: 20px;
	place-items: center;
	padding: 2px;
	border: 1px solid #665500;
	border-radius: 4px;
	background: #111;
	color: #fecf02;
	font-size: .48rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.home-portal-page .home-oripa__flow {
	display: grid;
	min-width: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr) 10px) minmax(0, 1fr);
	align-items: center;
	gap: 2px;
}
.home-portal-page .home-oripa__step { display: grid; min-width: 0; align-self: stretch; grid-template-rows: 18px minmax(70px, 1fr) 20px; gap: 3px; text-align: center; }
.home-portal-page .home-oripa__step > b { font-size: .65rem; line-height: 18px; }
.home-portal-page .home-oripa__step > small {
	display: grid;
	place-items: center;
	color: #111;
	font-size: .46rem;
	font-weight: 700;
	line-height: 1.05;
	white-space: nowrap;
}
.home-portal-page .home-oripa__step-card {
	position: relative;
	display: grid;
	min-height: 72px;
	place-items: center;
	overflow: hidden;
	border: 1px solid #d8d8d8;
	border-radius: 5px;
	background: #fff;
	color: #111;
}
.home-portal-page .home-oripa__step-card--select::before {
	width: 34px;
	height: 43px;
	border: 3px solid #111;
	background: #111;
	box-shadow: 5px -5px 0 -2px #fff, 5px -5px 0 1px #111;
	content: "";
	transform: skewY(12deg);
}
.home-portal-page .home-oripa__step-card--select i { position: absolute; color: #fff; font-size: 1.6rem; font-style: normal; }
.home-portal-page .home-oripa__step-card--gacha::before {
	width: 39px;
	height: 39px;
	border: 3px solid #111;
	border-radius: 50%;
	background: linear-gradient(180deg, #fff 0 48%, #fecf02 49% 100%);
	content: "";
}
.home-portal-page .home-oripa__step-card--gacha::after {
	position: absolute;
	width: 9px;
	height: 9px;
	border: 2px solid #111;
	border-radius: 50%;
	background: #fff;
	content: "";
}
.home-portal-page .home-oripa__step-card--result { border-color: #fecf02; background: #fffdf0; }
.home-portal-page .home-oripa__step-card--result i {
	display: grid;
	width: 35px;
	height: 48px;
	place-items: center;
	border: 2px solid #fecf02;
	background: #050505;
	color: #fecf02;
	font-size: 1.55rem;
	font-style: normal;
}
.home-portal-page .home-oripa__flow-arrow { color: #fff; font-size: 1.35rem; font-weight: 700; text-align: center; }
.home-portal-page .home-panel-cta--oripa { margin-top: 9px; }

.home-portal-page .home-portal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.home-portal-page .home-tile {
	display: grid;
	min-width: 0;
	min-height: 70px;
	grid-template-columns: 45px minmax(0, 1fr) 16px;
	grid-template-rows: auto auto;
	align-content: center;
	align-items: center;
	gap: 2px 7px;
	padding: 8px 7px;
	border: 1px solid #e9e9e9;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .035);
	text-align: left;
}
.home-portal-page .home-tile__icon {
	display: block;
	width: 42px;
	height: 42px;
	grid-row: 1 / 3;
	grid-column: 1;
	margin: 0;
	border: 0;
	object-fit: contain;
}
.home-portal-page .home-tile h2 {
	min-width: 0;
	grid-row: 1;
	grid-column: 2;
	align-self: end;
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
}
.home-portal-page .home-tile p {
	display: block;
	min-width: 0;
	grid-row: 2;
	grid-column: 2;
	align-self: start;
	margin: 0;
	font-size: .57rem;
	font-weight: 500;
	line-height: 1.25;
}
.home-portal-page .home-tile__arrow {
	display: grid;
	width: 16px;
	height: 44px;
	grid-row: 1 / 3;
	grid-column: 3;
	place-items: center;
	align-self: center;
	border-radius: 0;
	background: transparent;
	color: #111;
	font-size: 1.35rem;
	font-weight: 400;
}

.home-portal-page .home-spotlight {
	min-width: 0;
	padding: 5px 0 8px;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}
.home-portal-page .home-spotlight__heading { margin-bottom: 8px; }
.home-portal-page .home-spotlight__heading h2 { font-size: .9rem; font-weight: 700; }
.home-portal-page .home-spotlight__heading a { color: #111; font-size: .68rem; font-weight: 500; text-decoration: none; }
.home-portal-page .home-spotlight__cards {
	display: flex;
	grid-template-columns: none;
	gap: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0 1px 3px;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}
.home-portal-page .home-spotlight__cards::-webkit-scrollbar { display: none; }
.home-portal-page .home-spotlight-card,
.home-portal-page .home-spotlight-card:nth-child(n + 4) {
	display: grid;
	width: auto;
	min-width: 0;
	flex: 0 0 128px;
	gap: 4px;
	scroll-snap-align: start;
}
.home-portal-page .home-spotlight-card__slab { width: 92%; margin-inline: auto; }
.home-portal-page .home-spotlight-card__slab .th-psa-slab__image { aspect-ratio: .95 / 1; }
.home-portal-page .home-spotlight-card__copy { gap: 2px; }
.home-portal-page .home-spotlight-card__copy strong {
	min-height: 1.35em;
	white-space: nowrap;
	font-size: .69rem;
	font-weight: 700;
	line-height: 1.35;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
}
.home-portal-page .home-spotlight-card__number {
	display: block;
	min-height: 1.3em;
	overflow: hidden;
	color: #444;
	font-size: .53rem;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.home-portal-page .home-spotlight-card__meta {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
}
.home-portal-page .home-spotlight-card__copy small { color: #ff2d2d; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.home-portal-page .home-spotlight-card__copy em {
	padding: 2px 5px;
	border-radius: 4px;
	background: #050505;
	color: #fecf02;
	font-size: .52rem;
}

.home-portal-page .site-footer--portal {
	display: grid;
	min-height: 30px;
	grid-template-columns: 100px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	gap: 1px 8px;
	padding: 2px 14px;
	background: #050505;
	font-size: .52rem;
	line-height: 1.25;
}
.home-portal-page .site-footer--portal .site-footer__brand {
	display: flex;
	min-height: 26px;
	grid-row: 1 / 3;
	grid-column: 1;
	align-items: center;
	gap: 3px;
	font-size: .77rem;
	font-style: italic;
	font-weight: 900;
}
.home-portal-page .site-footer--portal .site-footer__brand img { width: 24px; height: 24px; object-fit: contain; }
.home-portal-page .site-footer--portal .site-footer__links {
	display: flex;
	min-width: 0;
	grid-row: 1;
	grid-column: 2;
	justify-content: flex-end;
	gap: 4px 8px;
}
.home-portal-page .site-footer--portal .site-footer__links a { min-height: 16px; }
.home-portal-page .site-footer--portal small { grid-row: 2; grid-column: 2; justify-self: end; color: #d6d6d6; font-size: .46rem; }

@media (max-width: 379px) {
	.home-portal-page .site-header { grid-template-columns: minmax(0, 1fr) 82px; padding-right: 12px; padding-left: 12px; }
	.home-portal-page .home-portal { padding-right: 14px; padding-left: 14px; }
	.home-portal-page .brand { width: min(100%, 154px); }
	.home-portal-page .brand__source-logo { max-width: 154px; }
	.home-portal-page .menu-toggle { width: 82px; }
	.home-portal-page .home-evaluation__heading h2 { font-size: 1.15rem; }
	.home-portal-page .home-evaluation__metric-copy b { font-size: .66rem; }
	.home-portal-page .home-oripa__copy h2 { font-size: 1.02rem; }
	.home-portal-page .home-oripa__copy p { font-size: .68rem; }
	.home-portal-page .home-tile h2 { font-size: .72rem; }
}

@media (max-width: 359px) {
	.home-portal-page .site-header { grid-template-columns: minmax(0, 1fr) 78px; padding-right: 12px; padding-left: 12px; }
	.home-portal-page .home-portal { gap: 8px; padding-right: 12px; padding-left: 12px; }
	.home-portal-page .brand { width: min(100%, 144px); }
	.home-portal-page .brand__source-logo { max-width: 144px; }
	.home-portal-page .menu-toggle { width: 78px; }
	.home-portal-page .home-evaluation { padding: 10px; }
	.home-portal-page .home-evaluation__layout {
		grid-template-columns: 92px minmax(0, 1fr);
		grid-template-areas:
			"heading heading"
			"card overview"
			"card popularity"
			"card liquidity"
			"premium scarcity"
			"growth growth";
		gap: 5px;
	}
	.home-portal-page .home-evaluation__heading { padding-left: 2px; }
	.home-portal-page .home-evaluation__heading h2 { font-size: 1.08rem; }
	.home-portal-page .home-evaluation__heading p { font-size: .66rem; }
	.home-portal-page .home-evaluation__overview { min-height: 83px; grid-template-columns: 64px minmax(88px, 1fr); padding: 3px 4px; }
	.home-portal-page .home-evaluation__total > span { font-size: .66rem; }
	.home-portal-page .home-evaluation__total > strong { font-size: 1.85rem; }
	.home-portal-page .home-evaluation__radar .th-card-mini-radar { max-width: 98px; }
	.home-portal-page .home-evaluation__metric { min-height: 54px; grid-template-columns: 24px minmax(0, 1fr); padding: 4px; }
	.home-portal-page .home-evaluation__metric-icon { width: 24px; height: 24px; font-size: 1.05rem; }
	.home-portal-page .home-evaluation__metric-copy b { font-size: .62rem; }
	.home-portal-page .home-evaluation__metric-copy strong { font-size: 1.3rem; }
	.home-portal-page .home-evaluation__card .th-psa-slab__label > strong { font-size: .42rem; }
	.home-portal-page .home-oripa__layout { grid-template-columns: minmax(0, 1fr); }
	.home-portal-page .home-oripa__copy p br { display: none; }
	.home-portal-page .home-oripa__step { grid-template-rows: 17px 66px 18px; }
	.home-portal-page .home-portal-grid { gap: 8px; }
	.home-portal-page .home-tile { min-height: 76px; grid-template-columns: 38px minmax(0, 1fr) 12px; gap: 2px 5px; padding: 7px 5px; }
	.home-portal-page .home-tile__icon { width: 36px; height: 36px; }
	.home-portal-page .home-tile h2 { font-size: .66rem; }
	.home-portal-page .home-tile p { font-size: .49rem; }
	.home-portal-page .home-spotlight-card,
	.home-portal-page .home-spotlight-card:nth-child(n + 4) { flex-basis: 128px; }
	.home-portal-page .site-footer--portal { grid-template-columns: 90px minmax(0, 1fr); padding-right: 10px; padding-left: 10px; }
	.home-portal-page .site-footer--portal .site-footer__links { gap: 3px 5px; }
}

@media (min-width: 430px) and (max-width: 767px) {
	.home-portal-page .site-header { padding-right: 14px; padding-left: 14px; }
	.home-portal-page .home-portal { padding-right: 14px; padding-left: 14px; }
	.home-portal-page .brand { width: min(100%, 184px); }
	.home-portal-page .brand__source-logo { max-width: 184px; }
}

@media (min-width: 768px) {
	.home-portal-page .site-header { min-height: 64px; grid-template-columns: minmax(0, 1fr) 96px; padding: 6px 24px; }
	.home-portal-page .brand { width: min(100%, 180px); }
	.home-portal-page .brand__source-logo { max-width: 180px; }
	.home-portal-page .menu-toggle { width: 96px; min-height: 44px; }
	.home-portal-page .home-portal { gap: 12px; padding: 16px 24px 0; }
	.home-portal-page .home-search-shortcut { max-width: 720px; min-height: 48px; margin-inline: auto; }
	.home-portal-page .home-search-shortcut input { height: 46px; font-size: 1rem; }
	.home-portal-page .home-evaluation { padding: 16px; }
	.home-portal-page .home-evaluation__layout { grid-template-columns: 180px repeat(2, minmax(0, 1fr)); gap: 8px; }
	.home-portal-page .home-evaluation__heading h2 { font-size: 1.38rem; }
	.home-portal-page .home-evaluation__heading p { font-size: .82rem; }
	.home-portal-page .home-evaluation__overview { min-height: 122px; grid-template-columns: minmax(110px, .75fr) minmax(150px, 1.25fr); padding: 8px 12px; }
	.home-portal-page .home-evaluation__total > span { font-size: .88rem; }
	.home-portal-page .home-evaluation__total > strong { font-size: 3rem; }
	.home-portal-page .home-evaluation__radar .th-card-mini-radar { max-width: 150px; }
	.home-portal-page .home-evaluation__metric { min-height: 68px; grid-template-columns: 34px minmax(0, 1fr); padding: 7px 8px; }
	.home-portal-page .home-evaluation__metric-icon { width: 34px; height: 34px; font-size: 1.45rem; }
	.home-portal-page .home-evaluation__metric-copy b { font-size: .85rem; }
	.home-portal-page .home-evaluation__metric-copy strong { font-size: 1.75rem; }
	.home-portal-page .home-panel-cta { min-height: 46px; font-size: 1rem; }
	.home-portal-page .home-oripa__layout { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 16px; }
	.home-portal-page .home-oripa__copy h2 { font-size: 1.28rem; }
	.home-portal-page .home-oripa__copy p { font-size: .8rem; }
	.home-portal-page .home-oripa__step { grid-template-rows: 20px 96px 24px; }
	.home-portal-page .home-portal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
	.home-portal-page .home-tile { min-height: 88px; grid-template-columns: 48px minmax(0, 1fr) 16px; }
	.home-portal-page .home-tile__icon { width: 46px; height: 46px; }
	.home-portal-page .home-tile h2 { font-size: .9rem; }
	.home-portal-page .home-tile p { font-size: .65rem; }
	.home-portal-page .home-spotlight__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
	.home-portal-page .home-spotlight-card,
	.home-portal-page .home-spotlight-card:nth-child(n + 4) { width: auto; flex: initial; }
	.home-portal-page .home-spotlight-card__copy strong { font-size: .8rem; }
	.home-portal-page .home-spotlight-card__copy small { font-size: 1rem; }
	.home-portal-page .site-footer--portal { min-height: 54px; grid-template-columns: 140px minmax(0, 1fr) auto; grid-template-rows: auto; padding: 8px 24px; font-size: .62rem; }
	.home-portal-page .site-footer--portal .site-footer__brand { min-height: 38px; grid-row: 1; grid-column: 1; font-size: .9rem; }
	.home-portal-page .site-footer--portal .site-footer__links { grid-row: 1; grid-column: 2; justify-content: center; }
	.home-portal-page .site-footer--portal small { grid-row: 1; grid-column: 3; font-size: .55rem; }
}

@media (min-width: 1024px) {
	.home-portal-page .site-header { grid-template-columns: minmax(0, 190px) minmax(0, 1fr); }
	.home-portal-page .home-search-shortcut { display: grid; max-width: 800px; }
}

@media (min-width: 1180px) {
	.home-portal-page .site-header { min-height: 72px; padding-right: 40px; padding-left: 40px; }
	.home-portal-page .brand { width: min(100%, 190px); }
	.home-portal-page .brand__source-logo { max-width: 190px; }
	.home-portal-page .home-portal { gap: 16px; padding: 20px 0 0; }
	.home-portal-page .home-feature-row { grid-template-columns: minmax(0, 784px) minmax(0, 400px); gap: 16px; }
	.home-portal-page .home-feature-side { grid-template-rows: auto auto; gap: 12px; }
	.home-portal-page .home-evaluation { padding: 20px; }
	.home-portal-page .home-evaluation__layout { grid-template-columns: 205px repeat(2, minmax(0, 1fr)); gap: 10px; }
	.home-portal-page .home-evaluation__heading h2 { font-size: 1.5rem; }
	.home-portal-page .home-evaluation__heading p { font-size: .88rem; }
	.home-portal-page .home-evaluation__overview { min-height: 135px; grid-template-columns: minmax(130px, .8fr) minmax(170px, 1.2fr); }
	.home-portal-page .home-evaluation__total > strong { font-size: 3.25rem; }
	.home-portal-page .home-evaluation__radar .th-card-mini-radar { max-width: 170px; }
	.home-portal-page .home-evaluation__metric { min-height: 72px; }
	.home-portal-page .home-evaluation__metric-copy strong { font-size: 1.88rem; }
	.home-portal-page .home-panel-cta { min-height: 48px; }
	.home-portal-page .home-oripa { padding: 14px; }
	.home-portal-page .home-oripa__layout { grid-template-columns: minmax(0, .86fr) minmax(190px, 1.14fr); gap: 8px; }
	.home-portal-page .home-oripa__copy h2 { font-size: 1.08rem; }
	.home-portal-page .home-oripa__copy p { font-size: .68rem; }
	.home-portal-page .home-oripa__step { grid-template-rows: 18px 72px 20px; }
	.home-portal-page .home-portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.home-portal-page .home-tile { min-height: 82px; }
	.home-portal-page .home-spotlight { padding-right: 0; padding-left: 0; }
	.home-portal-page .home-spotlight__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
	.home-portal-page .site-footer--portal { padding-right: 40px; padding-left: 40px; }
}

/* Phase4-B1 rc19 homepage alignment layer.
 * Structure: Phase2 v1.3. Visual tokens and target geometry: Phase3 v1.2.
 * Every rule remains scoped to the TOP page. */
html:has(body.home-portal-page) { scrollbar-width: none; }
html:has(body.home-portal-page)::-webkit-scrollbar { width: 0; height: 0; }

.home-portal-page {
	--home-accent: #ffd400;
	--home-accent-soft: #fff9d9;
	--home-ink: #111111;
	--home-muted: #62625e;
	--home-line: #e2e2dc;
	--home-line-dark: #b8b8b1;
	--home-paper: #ffffff;
	--home-canvas: #f3f3f1;
	--home-panel: #fafaf7;
	--home-panel-warm: #fffced;
	--home-surface-dark: #171717;
	--home-line-accent: #d6b500;
	background: var(--home-canvas);
	color: var(--home-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
	line-height: 1.45;
}

.home-portal-page .home-portal-shell {
	width: min(100%, 1200px);
	background: var(--home-paper);
	box-shadow: 0 0 16px rgba(0, 0, 0, .06);
}

.home-portal-page .site-header {
	min-height: 64px;
	grid-template-columns: minmax(0, 1fr) 88px;
	gap: 12px;
	padding: 8px 16px;
	border-bottom: 3px solid var(--home-accent);
	background: rgba(255, 255, 255, .98);
}

.home-portal-page .brand { width: min(100%, 172px); }
.home-portal-page .brand > a { min-height: 0; }
.home-portal-page .brand__source-logo {
	width: 100%;
	max-width: 172px;
	aspect-ratio: 2048 / 793;
	object-fit: contain;
	object-position: center;
}

.home-portal-page .menu-toggle {
	width: 88px;
	min-height: 44px;
	padding: 8px;
	border: 1px solid var(--home-ink);
	border-radius: 7px;
	background: linear-gradient(180deg, #ffdc28 0%, var(--home-accent) 72%, #f0c900 100%);
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .10);
	color: var(--home-ink);
	font-size: .75rem;
	font-weight: 800;
	line-height: 1.45;
}
.home-portal-page .menu-toggle::before { content: "☰"; margin-right: 4px; font-size: 1.08em; }

.home-portal-page .home-portal {
	display: grid;
	gap: 10px;
	padding: 10px 16px 16px;
	background: var(--home-paper);
}

.home-portal-page .home-search-shortcut {
	display: grid;
	width: 100%;
	min-height: 48px;
	max-width: none;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 6px 7px 6px 12px;
	border: 1px solid var(--home-line);
	border-radius: 8px;
	background: var(--home-paper);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.home-portal-page .home-search-shortcut__icon {
	display: grid;
	width: 22px;
	height: 36px;
	place-items: center;
}

.home-portal-page .home-search-shortcut__icon img { width: 18px; height: 18px; object-fit: contain; }
.home-portal-page .home-search-shortcut input {
	width: 100%;
	min-width: 0;
	height: 36px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--home-ink);
	font-size: .8125rem;
}
.home-portal-page .home-search-shortcut input::placeholder { color: #777771; opacity: 1; }
.home-portal-page .home-search-shortcut button.home-search-shortcut__submit {
	display: inline-grid;
	width: auto;
	min-width: 88px;
	height: 36px;
	min-height: 36px;
	place-items: center;
	padding: 0 10px;
	border: 1px solid var(--home-line-accent);
	border-radius: 6px;
	background: linear-gradient(180deg, #ffdc28 0%, var(--home-accent) 72%, #f0c900 100%);
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .10);
	color: var(--home-ink);
	font-size: .75rem;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}
.home-portal-page .home-search-shortcut:focus-within {
	border-color: var(--home-ink);
	box-shadow: 0 0 0 2px rgba(255, 212, 0, .55);
}

.home-portal-page .home-feature-row,
.home-portal-page .home-feature-side {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
}

.home-portal-page .home-evaluation {
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--home-line-accent);
	border-radius: 8px;
	background:
		radial-gradient(circle at 100% 0%, rgba(255, 212, 0, .11), transparent 32%),
		linear-gradient(135deg, var(--home-paper) 0%, var(--home-panel-warm) 100%);
	box-shadow: 0 4px 14px rgba(48, 39, 0, .08);
}

.home-portal-page .home-evaluation__layout {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(118px, 34%) minmax(0, 1fr);
	grid-template-areas:
		"card heading"
		"card overview"
		"metrics metrics";
	align-items: start;
	gap: 7px;
}

.home-portal-page .home-evaluation__card {
	display: block;
	min-width: 0;
	grid-area: card;
	align-self: start;
	color: inherit;
	text-decoration: none;
}

.home-portal-page .home-evaluation__card .th-psa-slab--summary {
	display: grid;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 7;
	grid-template-rows: auto minmax(0, 1fr);
	padding: 4px 4px 5px;
	border: 1px solid #7d7d78;
	border-radius: 5px;
	background: linear-gradient(145deg, #eeeeeb 0%, #c9c9c5 52%, #e8e8e4 100%);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .82), 0 3px 8px rgba(0, 0, 0, .12);
}
.home-portal-page .home-evaluation__card .th-psa-slab__image {
	position: relative;
	display: block;
	min-height: 0;
	overflow: hidden;
	padding: 3px;
	border: 3px solid rgba(56, 59, 62, .9);
	border-bottom-width: 5px;
	border-radius: 3px;
	background: #242424;
}
.home-portal-page .home-evaluation__card .th-psa-slab__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transform: none;
}
.home-portal-page .home-evaluation__card-pending { min-height: 0; aspect-ratio: 5 / 7; }

.home-portal-page .home-evaluation__heading {
	display: block;
	min-width: 0;
	grid-area: heading;
	align-content: start;
	gap: 0;
	padding: 0;
}
.home-portal-page .home-evaluation__heading h2 {
	margin: 0;
	color: var(--home-ink);
	font-size: clamp(1.125rem, 5.1vw, 1.375rem);
	font-weight: 800;
	line-height: 1.2;
}
.home-portal-page .home-evaluation__heading p {
	margin: 3px 0 0;
	color: var(--home-muted);
	font-size: .6875rem;
	font-weight: 600;
	line-height: 1.45;
}

.home-portal-page .home-evaluation__overview {
	display: grid;
	min-width: 0;
	min-height: 118px;
	grid-template-columns: minmax(70px, .8fr) minmax(92px, 1.2fr);
	grid-area: overview;
	align-items: center;
	gap: 0;
	padding: 5px;
	border: 1px solid var(--home-line);
	border-radius: 6px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.home-portal-page .home-evaluation__total { display: block; min-width: 0; gap: 0; padding-left: 3px; }
.home-portal-page .home-evaluation__total > span { display: block; color: #353531; font-size: .75rem; font-weight: 800; line-height: 1.45; }
.home-portal-page .home-evaluation__total > strong {
	display: flex;
	align-items: baseline;
	margin-top: 2px;
	color: var(--home-ink);
	font-size: clamp(1.875rem, 8.6vw, 2.375rem);
	font-variant-numeric: tabular-nums;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}
.home-portal-page .home-evaluation__total > strong small { margin-left: 2px; font-size: .75rem; }
.home-portal-page .home-evaluation__total > strong.is-pending { font-size: .75rem; letter-spacing: 0; }
.home-portal-page .home-evaluation__radar { display: grid; min-width: 0; place-items: center; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar {
	width: 100%;
	max-width: none;
	aspect-ratio: 220 / 184;
	margin: 0;
}
.home-portal-page .home-evaluation__radar .th-card-mini-radar svg { width: 100%; height: 100%; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar figcaption { display: none; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__labels { font-size: 12px; font-weight: 800; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__grid polygon,
.home-portal-page .home-evaluation__radar .th-card-mini-radar__grid line { stroke: rgba(17, 17, 17, .22); stroke-width: 1; }
.home-portal-page .home-evaluation__radar .th-card-mini-radar__value {
	fill: rgba(255, 212, 0, .38);
	stroke: var(--home-ink);
	stroke-width: 1.7;
	stroke-linejoin: round;
}

.home-portal-page .home-evaluation__metrics {
	display: grid;
	min-width: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-area: metrics;
	gap: 7px;
}
.home-portal-page .home-evaluation__metrics > .home-evaluation__metric { grid-area: auto; }
.home-portal-page .home-evaluation__metric {
	display: flex;
	min-width: 0;
	min-height: 60px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 7px 6px;
	border: 1px solid var(--home-line);
	border-radius: 6px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
	color: var(--home-ink);
	text-align: center;
}
.home-portal-page .home-evaluation__metric-icon {
	display: grid;
	width: 25px;
	height: 25px;
	flex: 0 0 25px;
	place-items: center;
	border-radius: 50%;
	background: var(--home-accent);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .12);
	color: var(--home-ink);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
}
.home-portal-page .home-evaluation__metric--popularity .home-evaluation__metric-icon,
.home-portal-page .home-evaluation__metric--popularity strong { color: var(--home-ink); }
.home-portal-page .home-evaluation__metric--liquidity .home-evaluation__metric-icon { border: 0; font-size: 1rem; }
.home-portal-page .home-evaluation__metric-copy { display: block; min-width: 0; }
.home-portal-page .home-evaluation__metric-copy b { display: block; font-size: .625rem; font-weight: 700; line-height: 1.1; }
.home-portal-page .home-evaluation__metric-copy strong {
	display: block;
	margin-top: 2px;
	color: var(--home-ink);
	font-size: 1.3125rem;
	font-variant-numeric: tabular-nums;
	font-weight: 900;
	line-height: 1;
}
.home-portal-page .home-evaluation__metric.is-pending .home-evaluation__metric-copy strong { color: var(--home-muted); font-size: .625rem; }

.home-portal-page .home-panel-cta {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 9px;
	padding: 8px 14px;
	border: 1px solid var(--home-line-accent);
	border-radius: 6px;
	background: linear-gradient(180deg, #ffdc28 0%, var(--home-accent) 72%, #f0c900 100%);
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .10);
	color: var(--home-ink);
	font-size: .875rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}
.home-portal-page .home-panel-cta span { margin-left: auto; justify-self: auto; font-size: 1.4375rem; line-height: 1; }

.home-portal-page .home-oripa {
	min-width: 0;
	padding: 10px;
	border: 1px solid #0f0f0f;
	border-radius: 8px;
	background: radial-gradient(circle at 92% 8%, rgba(255, 212, 0, .06), transparent 34%), var(--home-surface-dark);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .14);
	color: #fff;
}
.home-portal-page .home-oripa__layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.home-portal-page .home-oripa__copy { gap: 0; }
.home-portal-page .home-oripa__copy h2 { gap: 7px; font-size: 1.125rem; font-weight: 800; line-height: 1.25; }
.home-portal-page .home-oripa__copy h2 img { width: 30px; height: 30px; padding: 3px; border-radius: 4px; background: var(--home-paper); object-fit: contain; }
.home-portal-page .home-oripa__tags { display: flex; flex-wrap: wrap; grid-template-columns: none; gap: 5px; margin-top: 8px; }
.home-portal-page .home-oripa__tags span {
	min-height: 0;
	padding: 3px 6px;
	border: 1px solid rgba(255, 212, 0, .56);
	border-radius: 4px;
	background: rgba(255, 212, 0, .07);
	color: var(--home-accent);
	font-size: .625rem;
	font-weight: 800;
	line-height: 1.2;
}
.home-portal-page .home-oripa__copy p { margin-top: 8px; color: #e7e7e2; font-size: .75rem; line-height: 1.55; }
.home-portal-page .home-oripa__flow { grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr); gap: 4px; }
.home-portal-page .home-oripa__step { grid-template-rows: auto minmax(72px, 1fr) auto; justify-items: center; gap: 4px; }
.home-portal-page .home-oripa__step > b { font-size: .6875rem; line-height: 1.45; }
.home-portal-page .home-oripa__step > small { min-height: 28px; color: #e7e7e2; font-size: .5625rem; line-height: 1.25; }
.home-portal-page .home-oripa__step-card { width: 100%; min-height: 72px; }
.home-portal-page .home-oripa__flow-arrow { color: var(--home-accent); font-size: 1.5625rem; }
.home-portal-page .home-panel-cta--oripa { margin-top: 9px; }

.home-portal-page .home-portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.home-portal-page .home-tile {
	min-height: 84px;
	grid-template-columns: 38px minmax(0, 1fr) 12px;
	gap: 3px 8px;
	padding: 8px;
	border: 1px solid var(--home-line);
	border-radius: 8px;
	background: var(--home-paper);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .07);
}
.home-portal-page .home-tile__icon { width: 36px; height: 36px; }
.home-portal-page .home-tile h2 { font-size: .8125rem; font-weight: 800; line-height: 1.25; }
.home-portal-page .home-tile p { color: var(--home-muted); font-size: .625rem; line-height: 1.25; }
.home-portal-page .home-tile__arrow { width: 12px; height: auto; font-size: 1.3125rem; }

.home-portal-page .home-spotlight { padding: 4px 0 0; }
.home-portal-page .home-spotlight__heading { margin-bottom: 8px; }
.home-portal-page .home-spotlight__heading h2 { font-size: 1rem; font-weight: 800; }
.home-portal-page .home-spotlight__heading a { min-height: 32px; display: inline-flex; align-items: center; color: #4d4d48; font-size: .75rem; font-weight: 700; }
.home-portal-page .home-spotlight__cards {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 1px 1px 8px;
	overscroll-behavior-inline: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}
.home-portal-page .home-spotlight-card,
.home-portal-page .home-spotlight-card:nth-child(n + 4) {
	display: flex;
	width: auto;
	min-width: 0;
	min-height: 100%;
	flex: 0 0 clamp(128px, 36vw, 144px);
	flex-direction: column;
	gap: 0;
	padding: 7px;
	border: 1px solid var(--home-line);
	border-radius: 6px;
	background: var(--home-paper);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .07);
	scroll-snap-align: start;
}
.home-portal-page .home-spotlight-card__slab { display: block; width: 100%; margin: 0; }
.home-portal-page .home-spotlight-card__slab .th-psa-slab--summary {
	display: grid;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 6.7;
	grid-template-rows: auto minmax(0, 1fr);
}
.home-portal-page .home-spotlight-card__slab .th-psa-slab__image { min-height: 0; aspect-ratio: auto; }
.home-portal-page .home-spotlight-card__slab .th-psa-slab__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transform: none;
}
.home-portal-page .home-spotlight-card__copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 0; }
.home-portal-page .home-spotlight-card__copy strong {
	display: block;
	min-height: 0;
	margin-top: 6px;
	overflow: visible;
	color: var(--home-ink);
	font-size: .75rem;
	font-weight: 800;
	line-height: 1.35;
	text-overflow: clip;
	white-space: normal;
	overflow-wrap: anywhere;
	-webkit-box-orient: initial;
	-webkit-line-clamp: unset;
}
.home-portal-page .home-spotlight-card__number {
	display: block;
	min-height: 0;
	margin-top: 3px;
	color: var(--home-muted);
	font-size: .625rem;
	line-height: 1.3;
	white-space: normal;
	overflow-wrap: anywhere;
}
.home-portal-page .home-spotlight-card__meta { margin-top: auto; padding-top: 6px; }
.home-portal-page .home-spotlight-card__copy small { color: var(--home-ink); font-size: .8125rem; font-weight: 700; }
.home-portal-page .home-spotlight-card__copy em { border-radius: 999px; background: var(--home-ink); color: var(--home-accent); font-size: .625rem; }

.home-portal-page .site-footer--portal {
	display: grid;
	min-height: 134.5px;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	justify-items: center;
	align-items: center;
	gap: 10px;
	padding: 16px;
	background: #111;
	box-shadow: inset 0 3px 0 var(--home-accent);
	color: #fff;
	font-size: .6875rem;
	line-height: 1.45;
	text-align: center;
}
.home-portal-page .site-footer--portal .site-footer__brand {
	display: inline-flex;
	min-height: 40px;
	grid-row: auto;
	grid-column: auto;
	align-items: center;
	gap: 7px;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 800;
}
.home-portal-page .site-footer--portal .site-footer__brand img { width: 27px; height: 27px; object-fit: contain; }
.home-portal-page .site-footer--portal .site-footer__links {
	display: flex;
	min-width: 0;
	grid-row: auto;
	grid-column: auto;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 14px;
}
.home-portal-page .site-footer--portal .site-footer__links a { display: inline-flex; min-height: 28px; align-items: center; color: #f1f1ed; }
.home-portal-page .site-footer--portal small { grid-row: auto; grid-column: auto; justify-self: center; color: #bdbdb8; font-size: .625rem; }

@media (max-width: 379px) {
	.home-portal-page .site-header { padding-right: 14px; padding-left: 14px; }
	.home-portal-page .home-portal { padding-right: 14px; padding-left: 14px; }
	.home-portal-page .brand { width: min(100%, 154px); }
	.home-portal-page .brand__source-logo { max-width: 154px; }
	.home-portal-page .menu-toggle { width: 82px; }
	.home-portal-page .home-evaluation__heading h2 { font-size: 1.125rem; }
}

@media (max-width: 359px) {
	.home-portal-page .site-header { min-height: 60px; gap: 8px; padding: 7px 12px; }
	.home-portal-page .home-portal { gap: 8px; padding: 8px 12px 12px; }
	.home-portal-page .brand { width: min(100%, 144px); }
	.home-portal-page .brand__source-logo { max-width: 144px; }
	.home-portal-page .menu-toggle { width: 78px; min-height: 42px; padding-inline: 6px; font-size: .6875rem; }
	.home-portal-page .home-search-shortcut { gap: 6px; padding-left: 9px; }
	.home-portal-page .home-search-shortcut button.home-search-shortcut__submit { min-width: 80px; padding-inline: 7px; font-size: .6875rem; }
	.home-portal-page .home-search-shortcut input { font-size: .75rem; }
	.home-portal-page .home-evaluation,
	.home-portal-page .home-oripa { padding: 8px; }
	.home-portal-page .home-evaluation__layout {
		grid-template-columns: 108px minmax(0, 1fr);
		grid-template-areas:
			"heading heading"
			"card overview"
			"metrics metrics";
		gap: 6px;
	}
	.home-portal-page .home-evaluation__overview {
		min-height: 0;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto minmax(0, 1fr);
		align-content: start;
		padding: 3px 4px 1px;
	}
	.home-portal-page .home-evaluation__total { display: grid; grid-template-columns: auto auto; align-items: baseline; justify-content: center; column-gap: 4px; padding-left: 0; }
	.home-portal-page .home-evaluation__total > span { font-size: .5625rem; line-height: 1; }
	.home-portal-page .home-evaluation__total > strong { margin-top: 0; font-size: 1.375rem; }
	.home-portal-page .home-evaluation__total > strong small { font-size: .625rem; }
	.home-portal-page .home-evaluation__radar .th-card-mini-radar { width: 100%; max-width: 154px; margin-top: -1px; }
	.home-portal-page .home-evaluation__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
	.home-portal-page .home-evaluation__metric--growth { grid-column: 1 / -1; }
	.home-portal-page .home-evaluation__metric { min-height: 50px; gap: 4px; padding: 4px; }
	.home-portal-page .home-evaluation__metric-icon { width: 20px; height: 20px; flex-basis: 20px; font-size: .75rem; }
	.home-portal-page .home-evaluation__metric-copy b { font-size: .5625rem; }
	.home-portal-page .home-evaluation__metric-copy strong { margin-top: 1px; font-size: 1rem; }
	.home-portal-page .home-portal-grid { gap: 8px; }
	.home-portal-page .home-tile { grid-template-columns: 32px minmax(0, 1fr) 10px; gap: 3px 6px; padding: 7px; }
	.home-portal-page .home-tile__icon { width: 31px; height: 31px; }
	.home-portal-page .home-tile h2 { font-size: .75rem; }
	.home-portal-page .home-spotlight-card,
	.home-portal-page .home-spotlight-card:nth-child(n + 4) { flex-basis: 128px; }
}

@media (min-width: 768px) {
	.home-portal-page .site-header { min-height: 70px; padding: 8px 24px; }
	.home-portal-page .brand { width: min(100%, 180px); }
	.home-portal-page .brand__source-logo { max-width: 180px; }
	.home-portal-page .menu-toggle { width: 96px; min-height: 44px; }
	.home-portal-page .home-portal { gap: 12px; padding: 12px 24px 20px; }
	.home-portal-page .home-search-shortcut { min-height: 48px; max-width: none; grid-template-columns: 24px minmax(0, 1fr) 120px; margin: 0; }
	.home-portal-page .home-search-shortcut input { font-size: .875rem; }
	.home-portal-page .home-search-shortcut button.home-search-shortcut__submit { width: 120px; min-height: 38px; height: 38px; font-size: .8125rem; }
	.home-portal-page .home-feature-row,
	.home-portal-page .home-feature-side { gap: 12px; }
	.home-portal-page .home-evaluation { padding: 12px; }
	.home-portal-page .home-evaluation__layout {
		grid-template-columns: 180px minmax(0, 1fr);
		grid-template-areas:
			"card heading"
			"card overview"
			"metrics metrics";
		gap: 8px 10px;
	}
	.home-portal-page .home-evaluation__heading h2 { font-size: 1.5rem; }
	.home-portal-page .home-evaluation__heading p { font-size: .75rem; }
	.home-portal-page .home-evaluation__overview {
		min-height: 0;
		grid-template-columns: minmax(120px, 140px) minmax(210px, 230px);
		justify-content: center;
		column-gap: 12px;
		padding: 5px 8px;
	}
	.home-portal-page .home-evaluation__total { justify-self: end; padding-left: 0; }
	.home-portal-page .home-evaluation__total > span { font-size: .875rem; }
	.home-portal-page .home-evaluation__total > strong { font-size: 2.875rem; }
	.home-portal-page .home-evaluation__radar { justify-self: start; }
	.home-portal-page .home-evaluation__radar .th-card-mini-radar { width: 100%; max-width: 230px; }
	.home-portal-page .home-evaluation__metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
	.home-portal-page .home-evaluation__metric,
	.home-portal-page .home-evaluation__metric--growth { min-height: 70px; grid-column: auto; flex-direction: column; gap: 4px; }
	.home-portal-page .home-evaluation__metric-copy b { font-size: .625rem; }
	.home-portal-page .home-evaluation__metric-copy strong { font-size: 1.375rem; }
	.home-portal-page .home-oripa { padding: 12px; }
	.home-portal-page .home-oripa__layout { grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); align-items: center; gap: 16px; }
	.home-portal-page .home-oripa__copy h2 { font-size: 1.25rem; }
	.home-portal-page .home-oripa__step-card { min-height: 88px; }
	.home-portal-page .home-portal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
	.home-portal-page .home-tile { min-height: 92px; }
	.home-portal-page .home-spotlight__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; padding-bottom: 0; }
	.home-portal-page .home-spotlight-card,
	.home-portal-page .home-spotlight-card:nth-child(n + 4) { width: auto; min-height: 0; flex: initial; }
	.home-portal-page .site-footer--portal {
		min-height: 72px;
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-rows: auto;
		justify-items: stretch;
		gap: 18px;
		padding: 16px 24px;
		text-align: left;
	}
	.home-portal-page .site-footer--portal .site-footer__brand { grid-row: 1; grid-column: 1; }
	.home-portal-page .site-footer--portal .site-footer__links { grid-row: 1; grid-column: 2; justify-content: center; }
	.home-portal-page .site-footer--portal small { grid-row: 1; grid-column: 3; justify-self: end; text-align: right; }
}

@media (min-width: 960px) {
	.home-portal-page .site-header { grid-template-columns: minmax(0, 190px) minmax(0, 1fr); }
	.home-portal-page .brand { width: min(100%, 190px); }
	.home-portal-page .brand__source-logo { max-width: 190px; }
	.home-portal-page .menu-toggle { display: none; }
	.home-portal-page .site-menu { display: none !important; }
	.home-portal-page .site-header__quick-nav { display: flex; }
}

@media (min-width: 1024px) {
	.home-portal-page .home-spotlight__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
	.home-portal-page .site-header { min-height: 70px; padding: 8px 20px; }
	.home-portal-page .home-portal { gap: 16px; padding: 16px 0 24px; }
	.home-portal-page .home-feature-row { grid-template-columns: minmax(0, 784px) minmax(0, 400px); gap: 16px; }
	.home-portal-page .home-feature-side { gap: 16px; }
	.home-portal-page .home-evaluation__layout {
		grid-template-columns: 230px minmax(0, 1fr);
		grid-template-areas:
			"card heading"
			"card overview"
			"metrics metrics";
		gap: 10px 12px;
	}
	.home-portal-page .home-evaluation__overview { grid-template-columns: minmax(120px, .75fr) minmax(180px, 1.25fr); justify-content: stretch; column-gap: 0; padding: 5px; }
	.home-portal-page .home-evaluation__total { justify-self: stretch; padding-left: 3px; }
	.home-portal-page .home-evaluation__radar { width: 100%; max-width: 300px; justify-self: center; }
	.home-portal-page .home-evaluation__radar .th-card-mini-radar { max-width: 300px; justify-self: center; }
	.home-portal-page .home-oripa__layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.home-portal-page .home-portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.home-portal-page .home-tile { min-height: 84px; }
	.home-portal-page .home-spotlight__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
	.home-portal-page .site-footer--portal { padding-right: 20px; padding-left: 20px; }
}
