/*
 * ISO 鑑定所（/iso/・template-parts/iso/page.php・assets/js/iso-appraisal.js）。
 *
 * サイトの世界観（オレンジと黒の太い枠・クリームの地・DIN の数字）に、鑑定所の道具を足す:
 * 鑑定台（円盤を置く盆）・走る光（読んでいるあいだ）・鑑定書（地紋の紙）・朱の印（本物）／墨の印（不一致）／灰の印（照合できず）。
 * ルートの文字サイズは 62.5%（1rem = 10px）なので px で書く。
 */

.iso-page {
	--iso-ground: var(--guide-bg, #fff4e1);
	--iso-surface: #fff;
	--iso-paper: #fffdf7;
	--iso-ink: #1d1813;
	--iso-text: #2b2620;
	--iso-muted: #6f6052;
	--iso-line: #e8e1d4;
	--iso-line-strong: #d8cebb;
	--iso-accent: var(--guide-accent, #ff5b00);
	--iso-accent-soft: #ffedca;
	--iso-ok: #1e7a45;
	--iso-ok-soft: #e8f6ee;
	--iso-vermilion: #d2381c;
	--iso-num: "Din1451Alt", "Bahnschrift", "DIN Alternate", "Arial Narrow", system-ui, sans-serif;
	--iso-brandfont: var(--font-site-brand, "linuxPro-CPL"), "Hiragino Sans", "Noto Sans JP", sans-serif;
	--iso-mono: "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", Menlo, "BIZ UDGothic", monospace;
	--iso-pop: cubic-bezier(0.2, 1.5, 0.4, 1);
	--iso-out: cubic-bezier(0.2, 0.8, 0.2, 1);

	background: var(--iso-ground);
	color: var(--iso-text);
	padding: 20px 16px 110px;
}
.iso {
	max-width: 1080px;
	margin: 0 auto;
	font: 400 16px/1.75 system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;
	overflow-wrap: anywhere;
}
.iso *,
.iso *::before,
.iso *::after {
	box-sizing: border-box;
}
.iso :where(h1, h2, p, ul, ol, dl, dd, pre) {
	margin: 0;
	padding: 0;
}
.iso :where(ul, ol) {
	list-style: none;
}
.iso [hidden] {
	display: none !important;
}
.iso :where(a, button, summary, input):focus-visible {
	outline: 3px solid var(--iso-accent);
	outline-offset: 3px;
	border-radius: 6px;
}
.iso .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.iso-crumbs ol {
	display: flex;
	gap: 10px;
	font-size: 13px;
	color: var(--iso-muted);
}
.iso-crumbs li + li::before {
	content: "/";
	margin-right: 10px;
	color: var(--iso-line-strong);
}
.iso-crumbs a {
	text-decoration: none;
	color: inherit;
}

/* ---------- 冒頭 ---------- */

.iso-hero {
	display: grid;
	gap: 22px;
	align-items: end;
	margin-top: 18px;
}
@media (min-width: 900px) {
	.iso-hero {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}
.iso-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 700 14px/1 var(--iso-brandfont);
	color: var(--iso-ink);
}
.iso-kicker span {
	padding: 5px 10px 4px;
	border-radius: 6px;
	background: var(--iso-ink);
	color: var(--iso-accent);
	font: 400 15px/1 var(--iso-num);
	letter-spacing: 0.12em;
}
.iso-hero__title {
	margin-top: 14px !important;
	font: 700 clamp(34px, 6vw, 64px)/1.15 var(--iso-brandfont);
	color: var(--iso-ink);
	text-wrap: balance;
}
.iso-hero__lead {
	max-width: 36em;
	margin-top: 14px !important;
	color: var(--iso-muted);
}
.iso-hero__lead b {
	color: var(--iso-ink);
}
.iso-stats {
	display: flex;
	gap: 0;
	padding: 14px 6px;
	border: 3px solid var(--iso-ink);
	border-radius: 16px;
	background: var(--iso-ink);
	color: #f1ede6;
	box-shadow: 6px 6px 0 #ffbe794d;
}
.iso-stat {
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end; /* 数を上にそろえる（見出しが2行になっても） */
	gap: 6px;
	padding: 0 20px;
	border-left: 1px dashed rgba(241, 237, 230, 0.25);
}
.iso-stat:first-child {
	border-left: 0;
}
.iso-stat dt {
	font-size: 12px;
	font-weight: 700;
	color: rgba(241, 237, 230, 0.64);
}
.iso-stat dd {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
.iso-stat b {
	font: 400 38px/0.95 var(--iso-num);
	color: #ffb071;
	font-variant-numeric: tabular-nums;
}
.iso-stat__today {
	padding: 1px 8px;
	border-radius: 999px;
	background: rgba(90, 208, 138, 0.16);
	color: #5ad08a;
	font-size: 12px;
	font-weight: 800;
}
@media (max-width: 560px) {
	.iso-stats {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.iso-stat {
		padding: 0 10px;
	}
	.iso-stat b {
		font-size: 30px;
	}
}

/* ---------- 鑑定台 ---------- */

.iso-desk {
	position: relative;
	margin-top: 30px;
	padding: 22px;
	border: 3px solid var(--iso-ink);
	border-radius: 24px;
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 91, 0, 0.08), transparent 45%),
		repeating-linear-gradient(135deg, rgba(29, 24, 19, 0.025) 0 2px, transparent 2px 9px),
		var(--iso-surface);
}
.iso-drop {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "disc text" "disc hint";
	align-items: center;
	column-gap: 28px;
	row-gap: 4px;
	min-height: 220px;
	padding: 30px 34px;
	border: 3px dashed var(--iso-line-strong);
	border-radius: 20px;
	background: var(--iso-ground);
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.2s ease, transform 0.25s var(--iso-pop);
}
.iso-drop:hover,
.iso-drop:focus-within,
html.is-iso-dragging .iso-drop {
	border-color: var(--iso-ink);
	background: var(--iso-accent-soft);
}
html.is-iso-dragging .iso-drop {
	border-style: solid;
	transform: scale(1.015);
}
.iso-drop__input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}
/* 計算できないブラウザ（貼る欄へ案内） */
.iso-drop.is-off {
	cursor: default;
	border-style: solid;
}
.iso .iso-drop.is-off .iso-drop__disc {
	filter: grayscale(1);
	opacity: 0.5;
}
.iso .iso-drop.is-off .iso-drop__disc::before {
	animation: none;
}
.iso-drop__disc,
.iso-reading__disc {
	grid-area: disc;
	position: relative;
	width: 150px;
	height: 150px;
	border: 4px solid var(--iso-ink);
	border-radius: 50%;
	/* 回るのは盤面の模様（::before）だけ。縁・影・つや・中心の穴は止まったまま */
	box-shadow: 6px 6px 0 var(--iso-ink);
	isolation: isolate;
}
.iso-drop__disc::before,
.iso-reading__disc::before,
.iso-drop__disc::after,
.iso-reading__disc::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	pointer-events: none;
}
.iso-drop__disc::before,
.iso-reading__disc::before {
	background: conic-gradient(from 30deg, #ffd6b8, #ffb071, #ff5b00, #ffd6b8, #fff3e3, #ffb071, #ffd6b8);
}
.iso-drop__disc::after,
.iso-reading__disc::after {
	background: radial-gradient(circle, var(--iso-ink) 0 11px, var(--iso-surface) 12px 26px, transparent 27px);
}
.iso-drop__disc i,
.iso-reading__disc i {
	position: absolute;
	inset: 16px;
	border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(255, 255, 255, 0.55) 0 8%, transparent 8% 50%, rgba(255, 255, 255, 0.35) 50% 56%, transparent 56%);
	mix-blend-mode: screen;
}
.iso-drop:hover .iso-drop__disc::before,
html.is-iso-dragging .iso-drop__disc::before {
	animation: iso-spin 1.4s linear infinite;
}
@keyframes iso-spin {
	to { transform: rotate(360deg); }
}
.iso-drop__text {
	grid-area: text;
	display: grid;
	gap: 2px;
	color: var(--iso-muted);
}
.iso-drop__text b {
	font: 700 clamp(22px, 3vw, 30px)/1.3 var(--iso-brandfont);
	color: var(--iso-ink);
}
.iso-drop__hint {
	grid-area: hint;
	font-size: 13px;
	color: var(--iso-muted);
}
@media (max-width: 640px) {
	.iso-desk {
		padding: 14px;
	}
	.iso-drop {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "disc" "text" "hint";
		justify-items: center;
		text-align: center;
		padding: 26px 18px;
	}
	.iso-drop__disc,
	.iso-reading__disc {
		width: 120px;
		height: 120px;
	}
}

/* 読んでいるあいだ: 円盤が回り、光が走る */
.iso-reading {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "disc info";
	align-items: center;
	gap: 28px;
	padding: 30px 34px;
}
@media (max-width: 640px) {
	.iso-reading {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "disc" "info";
		justify-items: center;
		padding: 20px 8px;
	}
}
.iso-reading__disc::before {
	animation: iso-spin 1.1s linear infinite;
}
.iso-reading__beam {
	position: absolute;
	inset: -14px;
	border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(255, 91, 0, 0) 0 70%, rgba(255, 91, 0, 0.55) 90%, rgba(255, 255, 255, 0.9) 100%);
	mask: radial-gradient(circle, transparent 60%, #000 61%);
	animation: iso-spin 1.6s linear infinite;
}
.iso-reading__info {
	grid-area: info;
	display: grid;
	gap: 10px;
	width: 100%;
	min-width: 0;
}
.iso-reading__file {
	font-weight: 800;
	color: var(--iso-ink);
}
.iso-reading__bar {
	position: relative;
	height: 16px;
	overflow: hidden;
	border: 3px solid var(--iso-ink);
	border-radius: 999px;
	background: var(--iso-ground);
}
.iso-reading__bar i {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--p, 0%);
	background: repeating-linear-gradient(-45deg, var(--iso-accent) 0 10px, #ff8a3d 10px 20px);
	background-size: 28px 28px;
	animation: iso-stripe 0.6s linear infinite;
	transition: width 0.25s linear;
}
@keyframes iso-stripe {
	to { background-position: 28px 0; }
}
.iso-reading__nums {
	display: flex;
	align-items: baseline;
	gap: 14px;
	font-size: 14px;
	color: var(--iso-muted);
	font-variant-numeric: tabular-nums;
}
.iso-reading__nums b {
	font: 400 34px/1 var(--iso-num);
	color: var(--iso-ink);
}
/* 指紋の欄: 踊る英数字（span）が、左から本当の指紋（b）に定まる */
.iso-reading__hex {
	display: block;
	min-height: 3.2em;
	padding: 8px 10px;
	border-radius: 10px;
	background: var(--iso-ink);
	color: rgba(255, 176, 113, 0.5);
	font: 400 13px/1.55 var(--iso-mono);
	letter-spacing: 0.04em;
	word-break: break-all;
}
.iso-reading__hex b {
	font-weight: 400;
	color: #5ad08a;
}
.iso-reading__cancel {
	justify-self: start;
	padding: 0;
	border: 0;
	background: none;
	color: var(--iso-muted);
	font-size: 13px;
	font-family: inherit;
	text-decoration: underline;
	cursor: pointer;
}

/* ---------- 鑑定書 ---------- */

.iso-cert {
	outline: none;
}
.iso-cert__paper {
	position: relative;
	padding: 34px clamp(20px, 5vw, 48px) 30px;
	border: 3px solid var(--iso-ink);
	border-radius: 18px;
	background:
		radial-gradient(circle at 100% 0%, rgba(255, 182, 120, 0.18), transparent 40%),
		var(--iso-paper);
	overflow: hidden;
}
/* 地紋（紙の縁の細い線） */
.iso-cert__paper::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(29, 24, 19, 0.18);
	border-radius: 11px;
	background:
		repeating-linear-gradient(90deg, rgba(210, 56, 28, 0.06) 0 1px, transparent 1px 6px) top / 100% 8px no-repeat,
		repeating-linear-gradient(90deg, rgba(210, 56, 28, 0.06) 0 1px, transparent 1px 6px) bottom / 100% 8px no-repeat;
	pointer-events: none;
}
.iso-cert.is-in .iso-cert__paper {
	animation: iso-cert-rise 0.6s var(--iso-pop) both;
}
@keyframes iso-cert-rise {
	from { opacity: 0; transform: translateY(40px) rotate(-1.5deg) scale(0.97); }
}
.iso-cert.is-stamped .iso-cert__paper {
	animation: iso-thud 0.3s ease both;
}
@keyframes iso-thud {
	40% { transform: translateY(3px) scale(0.995); }
}
.iso-cert.is-stamped.is-shake .iso-cert__paper {
	animation: iso-shake 0.42s ease both;
}
.iso-cert.is-authentic .iso-cert__verdict {
	color: var(--iso-ok);
}
.iso-cert.is-mismatch .iso-cert__verdict {
	color: var(--iso-vermilion);
}
.iso-cert__head {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 4px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--iso-ink);
	text-align: center;
}
.iso-cert__org {
	font: 400 13px/1 var(--iso-num);
	letter-spacing: 0.18em;
	color: var(--iso-muted);
}
.iso-cert__title {
	font: 700 30px/1.3 var(--iso-brandfont);
	letter-spacing: 0.4em;
	color: var(--iso-ink);
}
.iso-cert__no {
	font-size: 13px;
	color: var(--iso-muted);
}
.iso-cert__no b {
	display: inline-block;
	margin: 0 10px 0 4px;
	font: 400 20px/1 var(--iso-num);
	color: var(--iso-ink);
	letter-spacing: 0.06em;
}
/* 通し番号が届いたら、パタッと裏返って出る */
.iso-cert__no b.is-flip {
	animation: iso-flip 0.5s var(--iso-pop);
}
@keyframes iso-flip {
	from { opacity: 0; transform: perspective(200px) rotateX(-90deg); }
}
.iso-cert__verdict {
	position: relative;
	margin-top: 22px !important;
	font: 700 clamp(22px, 3.2vw, 30px)/1.35 var(--iso-brandfont);
	color: var(--iso-ink);
	padding-right: 140px;
}
.iso-cert__text {
	position: relative;
	margin-top: 8px !important;
	max-width: 40em;
	color: var(--iso-text);
	padding-right: 140px;
}
@media (max-width: 640px) {
	.iso-cert__verdict,
	.iso-cert__text {
		padding-right: 0;
	}
}
.iso-cert__fields {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	margin-top: 20px !important;
	padding-top: 16px;
	border-top: 1px dashed var(--iso-line-strong);
}
.iso-cert__fields div.is-wide {
	grid-column: 1 / -1;
}
.iso-cert__fields dt {
	font-size: 12px;
	font-weight: 700;
	color: var(--iso-muted);
}
.iso-cert__fields dd {
	font-weight: 700;
	color: var(--iso-ink);
}
.iso-cert__fields code {
	display: block;
	padding: 6px 8px;
	border-radius: 8px;
	background: rgba(29, 24, 19, 0.05);
	font: 400 13px/1.55 var(--iso-mono);
	color: var(--iso-text);
	word-break: break-all;
}
@media (max-width: 560px) {
	.iso-cert__fields {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 印（本物＝朱・不一致＝墨・照合できず＝灰） */
.iso-stamp {
	--stamp: var(--iso-vermilion);
	position: absolute;
	top: 104px;
	right: clamp(18px, 4vw, 44px);
	z-index: 3;
	display: grid;
	place-items: center;
	width: 120px;
	height: 120px;
	border: 5px solid var(--stamp);
	border-radius: 50%;
	box-shadow: inset 0 0 0 3px var(--iso-paper), inset 0 0 0 6px var(--stamp);
	color: var(--stamp);
	font: 800 30px/1.1 var(--iso-brandfont);
	text-align: center;
	letter-spacing: 0.04em;
	mix-blend-mode: multiply;
	opacity: 0;
	transform: rotate(-12deg) scale(2.3);
	/* かすれ（朱肉のむら） */
	-webkit-mask-image: radial-gradient(circle at 30% 30%, #000 55%, rgba(0, 0, 0, 0.78) 72%, #000 88%);
	mask-image: radial-gradient(circle at 30% 30%, #000 55%, rgba(0, 0, 0, 0.78) 72%, #000 88%);
}
.iso-stamp span {
	display: block;
	max-width: 5.2em;
	font-size: 0.9em;
}
.iso-stamp.is-mismatch {
	--stamp: #1d1813;
}
.iso-stamp.is-unknown {
	--stamp: #7a6d60;
	font-size: 21px;
}
.iso-cert.is-stamped .iso-stamp {
	animation: iso-stamp 0.42s var(--iso-pop) forwards;
}
@keyframes iso-stamp {
	0% { opacity: 0; transform: rotate(-24deg) scale(2.3); }
	60% { opacity: 0.95; transform: rotate(-11deg) scale(0.9); }
	100% { opacity: 0.92; transform: rotate(-12deg) scale(1); }
}
/* スマホ: 印は見出しのすぐ下の真ん中に（下に置くと、押される瞬間が画面の外になる） */
@media (max-width: 640px) {
	.iso-cert__paper {
		display: flex;
		flex-direction: column;
	}
	.iso-cert__paper > * {
		order: 2;
	}
	.iso-cert__head {
		order: 0;
	}
	.iso-stamp {
		order: 1;
		position: relative;
		top: auto;
		right: auto;
		flex: none;
		margin: 18px auto 0;
		width: 96px;
		height: 96px;
		font-size: 24px;
	}
	.iso-stamp.is-unknown {
		font-size: 18px;
	}
}
.iso-cert__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}
.iso-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 46px;
	padding: 6px 18px;
	border: 3px solid var(--iso-ink);
	border-radius: 12px;
	background: var(--iso-accent);
	color: #fff;
	font-weight: 800;
	font-size: 15px;
	line-height: 1.2;
	font-family: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 4px 0 var(--iso-ink);
}
.iso-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 0 var(--iso-ink);
	color: #fff;
}
.iso-btn:active {
	transform: translateY(3px);
	box-shadow: 0 1px 0 var(--iso-ink);
}
.iso-btn--ghost {
	background: var(--iso-surface);
	color: var(--iso-ink);
}
.iso-btn--ghost:hover {
	background: var(--iso-accent-soft);
	color: var(--iso-ink);
}
.iso-sparks {
	position: fixed;
	inset: 0;
	z-index: 100030;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

/* ---------- 貼って調べる・照らせる ISO・しくみ ---------- */

.iso-h {
	font: 700 22px/1.4 var(--iso-brandfont);
	color: var(--iso-ink);
}
.iso-paste,
.iso-known,
.iso-how {
	margin-top: 40px;
}
.iso-paste__form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.iso-paste__form input {
	flex: 1 1 360px;
	min-width: 0;
	min-height: 50px;
	padding: 8px 14px;
	border: 3px solid var(--iso-ink);
	border-radius: 12px;
	background: var(--iso-surface);
	font: 400 15px/1.4 var(--iso-mono);
	color: var(--iso-ink);
}
.iso-paste__err {
	margin-top: 8px !important;
	color: var(--iso-vermilion);
	font-weight: 700;
	font-size: 14px;
}
.iso-paste__form.is-shake {
	animation: iso-shake 0.35s ease;
}
@keyframes iso-shake {
	20% { transform: translateX(-6px); }
	40% { transform: translateX(6px); }
	60% { transform: translateX(-4px); }
	80% { transform: translateX(3px); }
}
.iso-paste__cmd {
	margin-top: 12px;
}
.iso-paste__cmd summary {
	font-weight: 700;
	color: var(--iso-ink);
	cursor: pointer;
}
.iso-paste__cmd p {
	margin: 10px 0 4px !important;
	font-size: 13px;
	color: var(--iso-muted);
}
.iso-paste__cmd pre {
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--iso-ink);
	color: #f1ede6;
	font: 400 13px/1.6 var(--iso-mono);
	overflow-x: auto;
}
.iso-known__lead {
	margin-top: 6px !important;
	font-size: 14px;
	color: var(--iso-muted);
}
.iso-known__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 10px;
	margin-top: 14px !important;
}
.iso-known__tile {
	--iso-brand: var(--iso-accent);
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 10px;
	padding: 8px 12px 8px 8px;
	border: 2px solid var(--iso-line-strong);
	border-radius: 12px;
	background: var(--iso-surface);
	color: var(--iso-ink);
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.iso-known__tile:hover {
	border-color: var(--iso-ink);
	transform: translateY(-2px);
}
.iso-known__logo {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 4px;
	border: 2px solid var(--iso-ink);
	border-radius: 11px;
	background: var(--iso-surface);
	box-shadow: 2px 2px 0 var(--iso-brand);
	font: 700 15px/1 var(--iso-brandfont);
}
.iso-known__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.iso-known__name {
	font-weight: 800;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.iso-known__count {
	font: 400 15px/1 var(--iso-num);
	color: var(--iso-accent);
}
.iso-how__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 14px;
	margin-top: 14px !important;
	counter-reset: iso-how;
}
.iso-how__list li {
	position: relative;
	padding: 16px 18px 16px 58px;
	border: 2px solid var(--iso-ink);
	border-radius: 14px;
	background: var(--iso-surface);
	font-size: 14px;
	color: var(--iso-muted);
	counter-increment: iso-how;
}
.iso-how__list li::before {
	content: counter(iso-how);
	position: absolute;
	top: 14px;
	left: 14px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--iso-ink);
	color: #ffb071;
	font: 400 18px/1 var(--iso-num);
}
.iso-how__list b {
	display: block;
	font: 700 15px/1.5 var(--iso-brandfont);
	color: var(--iso-ink);
}
.iso-how__next {
	margin-top: 16px !important;
	font-weight: 700;
}
.iso-how__next a {
	color: var(--iso-ink);
}

/* ページのどこに落としてもよい、の合図 */
html.is-iso-dragging body::after {
	content: "離すと鑑定します（ファイルは送りません）";
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 100003;
	max-width: calc(100vw - 32px);
	padding: 12px 22px;
	border: 3px solid #1d1813;
	border-radius: 999px;
	background: #ff5b00;
	color: #fff;
	font: 700 15px/1.4 system-ui, sans-serif;
	transform: translateX(-50%);
	pointer-events: none;
}
.iso-toast {
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 100002;
	max-width: calc(100vw - 32px);
	padding: 10px 18px;
	border: 3px solid var(--iso-ink);
	border-radius: 999px;
	background: var(--iso-ink);
	color: #f1ede6;
	font-size: 14px;
	font-weight: 700;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 20px);
	transition: opacity 0.2s ease, transform 0.3s var(--iso-pop);
}
.iso-toast.is-on {
	opacity: 1;
	transform: translate(-50%, 0);
}

@media (prefers-reduced-motion: reduce) {
	.iso *,
	.iso *::before,
	.iso *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	.iso-cert.is-stamped .iso-stamp {
		opacity: 0.92;
		transform: rotate(-12deg);
	}
}

/* パソコンの Goodly アプリ: ISO を「プログラムから開く」で鑑定できる（goodly-pwa の file_handlers） */
.iso-app-hint {
	margin: 12px 4px 0 !important;
	padding: 10px 14px;
	border: 2px dashed var(--iso-line-strong);
	border-radius: 12px;
	color: var(--iso-muted);
	font-size: 13px;
}
.iso-app-hint[hidden] {
	display: none;
}

