/* ============================================================
 * ai-image-toolkit.css — 🛠 AI Image Toolkit 共通スタイル
 * 対象: /ai-image-toolkit/ 配下の全ツールページ
 * 方針: PC=左右2カラムの作業台 / スマホ=縦積み（明確にレイアウト差）
 * ========================================================== */

/* ---------- 共通ヘッダー・パンくず・プライバシー表記 ---------- */

.rinka-tk-head { text-align: center; margin-bottom: 22px; }

.rinka-tk-crumb {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-bottom: 10px;
	font-size: 12px;
	color: #a894a2;
}
.rinka-tk-crumb a { color: #a06a8c; text-decoration: none; }
.rinka-tk-crumb a:hover { text-decoration: underline; }

.rinka-tk-privacy {
	display: inline-block;
	margin: 10px auto 0;
	padding: 8px 16px;
	border-radius: 999px;
	background: #eafaf1;
	border: 1px solid #bfe8d2;
	color: #2e7d5b;
	font-size: 12.5px;
	font-weight: 700;
}

/* ---------- Toolkitトップ: ツール一覧 ---------- */

.rinka-tk-tools {
	display: grid;
	gap: var(--rds-space-4, 16px);
	max-width: 860px;
	margin: 0 auto;
}
.rinka-tk-tool {
	display: flex;
	align-items: center;
	gap: var(--rds-space-4, 16px);
	padding: 18px 20px;
	border-radius: var(--rds-radius-lg, 16px);
	background: var(--rds-surface, #fff);
	border: 1px solid var(--rds-line, #eadfe6);
	box-shadow: var(--rds-shadow-1, 0 1px 2px rgba(59, 43, 52, .06));
	text-decoration: none;
	color: #4c5a55;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rinka-tk-tool:hover {
	transform: translateY(-2px);
	border-color: var(--rds-accent-line, #ecc7da);
	box-shadow: var(--rds-shadow-2, 0 8px 24px rgba(59, 43, 52, .10));
}
.rinka-tk-tool__emoji { font-size: 30px; flex: 0 0 auto; }
.rinka-tk-tool__body { flex: 1 1 auto; min-width: 0; }
.rinka-tk-tool__name { display: block; font-weight: 900; font-size: 16px; }
.rinka-tk-tool__desc { display: block; font-size: 12.5px; color: #7f8d88; margin-top: 3px; line-height: 1.6; }
.rinka-tk-tool__arrow { flex: 0 0 auto; font-weight: 900; color: var(--rds-accent, #c2568c); }

@media (min-width: 768px) {
	.rinka-tk-tools { grid-template-columns: repeat(2, 1fr); }
	.rinka-tk-tool:first-child { grid-column: 1 / -1; }
}

/* ---------- Toolkitトップ: ABOUT / 使い方 ---------- */

.rinka-tk-about__cols { display: grid; gap: 12px; max-width: 900px; margin: 0 auto; }
@media (min-width: 768px) { .rinka-tk-about__cols { grid-template-columns: repeat(3, 1fr); } }
.rinka-tk-about__col {
	padding: 18px 16px;
	border-radius: 16px;
	background: #fbfffd;
	border: 1.5px solid #e2f1ea;
}
.rinka-tk-about__col h3 { margin: 0 0 8px; font-size: 15px; }
.rinka-tk-about__col p { margin: 0; font-size: 13px; line-height: 1.9; color: #5f6d68; }

.rinka-tk-steps {
	max-width: 640px;
	margin: 0 auto;
	padding-left: 1.4em;
	font-size: 14px;
	line-height: 2;
}
.rinka-tk-steps li { margin-bottom: 6px; }

/* ---------- FAQ ---------- */

.rinka-tk-faq__list { max-width: 760px; margin: 0 auto; display: grid; gap: 8px; }
.rinka-tk-faq__item {
	border-radius: 14px;
	background: #fff;
	border: 1.5px solid #f0e4ec;
	padding: 0 16px;
	overflow: hidden;
}
.rinka-tk-faq__q {
	padding: 13px 4px;
	font-weight: 800;
	font-size: 14px;
	cursor: pointer;
	color: #6b4e60;
	list-style: none;
}
.rinka-tk-faq__q::-webkit-details-marker { display: none; }
.rinka-tk-faq__q::before { content: 'Q. '; color: #e08cb4; font-weight: 900; }
.rinka-tk-faq__a {
	margin: 0;
	padding: 0 4px 14px;
	font-size: 13.5px;
	line-height: 1.9;
	color: #6d5f68;
	border-top: 1px dashed #f0dfe9;
	padding-top: 10px;
}

/* ---------- CTA / ほかのツール ---------- */

.rinka-tk-cta__grid, .rinka-tk-others__grid { display: grid; gap: 10px; max-width: 860px; margin: 0 auto; }
@media (min-width: 768px) {
	.rinka-tk-cta__grid { grid-template-columns: repeat(3, 1fr); }
	.rinka-tk-others__grid { grid-template-columns: repeat(2, 1fr); }
}
.rinka-tk-cta__card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(150deg, #fff6fa, #ffeef5);
	border: 1.5px solid #f6d7e6;
	text-decoration: none;
	color: #5c4a56;
	transition: transform .2s ease;
}
.rinka-tk-cta__card:hover { transform: translateY(-3px); }
.rinka-tk-cta__emoji { font-size: 24px; }
.rinka-tk-cta__title { display: block; font-weight: 900; font-size: 14px; }
.rinka-tk-cta__desc { display: block; font-size: 11.5px; color: #97828e; margin-top: 2px; }
.rinka-tk-cta__arrow { margin-left: auto; color: #e08cb4; font-weight: 900; }

.rinka-tk-others__card {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 10px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 14px;
	background: #fff;
	border: 1.5px solid #e5efeb;
	text-decoration: none;
	color: #4c5a55;
	transition: border-color .2s ease;
}
.rinka-tk-others__card:hover { border-color: #9fd8c4; }
.rinka-tk-others__emoji { grid-row: 1 / 3; font-size: 24px; }
.rinka-tk-others__name { font-weight: 800; font-size: 14px; }
.rinka-tk-others__desc { font-size: 11.5px; color: #7f8d88; }

/* ---------- 作業台レイアウト（各ツール共通） ----------
 * PC: 左=画像/入力 右=結果 の2カラム / スマホ: 縦積み */

.rinka-tk-workspace { display: grid; gap: 16px; margin: 0 auto 26px; max-width: 1040px; }
@media (min-width: 900px) {
	.rinka-tk-workspace { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); align-items: start; }
	.rinka-tk-workspace--wide-right { grid-template-columns: minmax(0, 4fr) minmax(0, 5fr); }
}
.rinka-tk-panel {
	padding: 16px;
	border-radius: 18px;
	background: #fff;
	border: 2px solid #e8f2ee;
	box-shadow: 0 4px 14px rgba(120, 180, 160, .1);
}
.rinka-tk-panel__title { margin: 0 0 12px; font-size: 15px; font-weight: 900; color: #3f5a50; }

/* PCでは左パネルをスクロール追従（スマホは通常フロー） */
@media (min-width: 900px) {
	.rinka-tk-panel--sticky { position: sticky; top: 70px; }
}

/* ---------- ドロップゾーン ---------- */

.rinka-tk-drop {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 150px;
	padding: 22px 14px;
	border-radius: 14px;
	border: 2.5px dashed #b9dccf;
	background: #f6fcf9;
	color: #5f7d71;
	text-align: center;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.rinka-tk-drop:hover, .rinka-tk-drop.is-dragover { border-color: #59b891; background: #ecf9f3; }
.rinka-tk-drop__emoji { font-size: 34px; }
.rinka-tk-drop__main { font-weight: 800; font-size: 14px; }
.rinka-tk-drop__sub { font-size: 11.5px; color: #8aa79a; }
.rinka-tk-drop input[type="file"] { display: none; }

.rinka-tk-preview { margin-top: 12px; text-align: center; }
.rinka-tk-preview img, .rinka-tk-preview canvas {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .12);
}
.rinka-tk-preview__meta { margin-top: 8px; font-size: 12px; color: #7f8d88; }

/* ---------- ボタン・入力 ---------- */

.rinka-tk-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	border-radius: 999px;
	border: none;
	background: linear-gradient(135deg, #67c6a1, #4aa989);
	color: #fff;
	font-size: 13.5px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(90, 180, 150, .35);
	transition: transform .15s ease, box-shadow .15s ease;
}
.rinka-tk-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(90, 180, 150, .4); }
.rinka-tk-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.rinka-tk-btn--ghost {
	background: #fff;
	color: #4aa989;
	border: 1.5px solid #9fd8c4;
	box-shadow: none;
}
.rinka-tk-btn--pink {
	background: linear-gradient(135deg, #f49ac1, #e57aa8);
	box-shadow: 0 3px 10px rgba(230, 140, 180, .35);
}
.rinka-tk-btn--sm { padding: 6px 12px; font-size: 12px; }
.rinka-tk-btnrow { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

.rinka-tk-textarea {
	width: 100%;
	min-height: 140px;
	padding: 12px;
	border-radius: 12px;
	border: 1.5px solid #d8e8e1;
	background: #fbfffd;
	font-family: Consolas, Menlo, monospace;
	font-size: 13px;
	line-height: 1.7;
	resize: vertical;
	box-sizing: border-box;
}
.rinka-tk-textarea:focus { outline: none; border-color: #59b891; }

.rinka-tk-select, .rinka-tk-input {
	padding: 8px 12px;
	border-radius: 10px;
	border: 1.5px solid #d8e8e1;
	background: #fff;
	font-size: 13px;
	color: #3f5a50;
}
.rinka-tk-field { margin-bottom: 12px; }
.rinka-tk-field label { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 800; color: #5f7d71; }

/* ---------- 診断メーター（AI Critique） ---------- */

.rinka-tk-meters { display: grid; gap: 12px; }
.rinka-tk-meter__head { display: flex; justify-content: space-between; font-size: 13px; font-weight: 800; color: #4c5a55; }
.rinka-tk-meter__val { color: #4aa989; }
.rinka-tk-meter__bar {
	position: relative;
	height: 10px;
	margin-top: 5px;
	border-radius: 999px;
	background: #eef5f1;
	overflow: hidden;
}
.rinka-tk-meter__fill {
	position: absolute;
	inset: 0 auto 0 0;
	width: 0%;
	border-radius: 999px;
	background: linear-gradient(90deg, #8fd9bd, #4aa989);
	transition: width .6s ease;
}
.rinka-tk-meter__fill.is-warn { background: linear-gradient(90deg, #ffd28a, #f2a94e); }
.rinka-tk-meter__fill.is-bad  { background: linear-gradient(90deg, #ffa8b8, #ef7d95); }
.rinka-tk-meter__note { margin-top: 4px; font-size: 11.5px; color: #8aa79a; }

.rinka-tk-hints { display: grid; gap: 8px; margin-top: 14px; }
.rinka-tk-hint {
	display: flex;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 12px;
	font-size: 13px;
	line-height: 1.7;
}
.rinka-tk-hint--good { background: #ecf9f3; color: #2e7d5b; }
.rinka-tk-hint--warn { background: #fff7e8; color: #9a6b1e; }
.rinka-tk-hint--bad  { background: #ffeef1; color: #b04a62; }
.rinka-tk-hint__icon { flex: 0 0 auto; }

/* 構図グリッドオーバーレイ */
.rinka-tk-gridwrap { position: relative; display: inline-block; max-width: 100%; }
.rinka-tk-gridwrap canvas.rinka-tk-grid-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	border-radius: 12px;
	box-shadow: none;
}

/* ---------- Crop Simulator ---------- */

.rinka-tk-crops { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.rinka-tk-crop {
	padding: 10px;
	border-radius: 14px;
	background: #fbfffd;
	border: 1.5px solid #e2f1ea;
	text-align: center;
}
.rinka-tk-crop__name { font-size: 12px; font-weight: 900; color: #3f5a50; }
.rinka-tk-crop__ratio { font-size: 10.5px; color: #8aa79a; margin-bottom: 6px; }
.rinka-tk-crop canvas {
	width: 100%;
	height: auto;
	border-radius: 8px;
	background: #eef2f0;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
}
.rinka-tk-crop__note { margin-top: 5px; font-size: 10.5px; color: #97a8a1; line-height: 1.5; }
.rinka-tk-croptabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.rinka-tk-croptab {
	padding: 6px 12px;
	border-radius: 999px;
	border: 1.5px solid #d8e8e1;
	background: #fff;
	font-size: 12px;
	font-weight: 700;
	color: #5f7d71;
	cursor: pointer;
}
.rinka-tk-croptab.is-active { background: #4aa989; border-color: #4aa989; color: #fff; }

/* ---------- Prompt Optimizer ---------- */

.rinka-tk-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.rinka-tk-stat {
	padding: 6px 12px;
	border-radius: 10px;
	background: #f2f9f6;
	font-size: 12px;
	color: #40685a;
}
.rinka-tk-stat b { color: #2e7d5b; }
.rinka-tk-warnings { display: grid; gap: 6px; margin-top: 10px; }

/* ---------- Color Palette ---------- */

.rinka-tk-swatches { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
.rinka-tk-swatch {
	border: none;
	padding: 0 0 8px;
	border-radius: 14px;
	background: #fff;
	border: 1.5px solid #eee;
	overflow: hidden;
	cursor: pointer;
	text-align: center;
	transition: transform .15s ease;
}
.rinka-tk-swatch:hover { transform: translateY(-3px); }
.rinka-tk-swatch__color { display: block; height: 64px; }
.rinka-tk-swatch__hex { display: block; margin-top: 6px; font-family: Consolas, Menlo, monospace; font-size: 12px; font-weight: 700; color: #4c5a55; }
.rinka-tk-swatch__pct { display: block; font-size: 10.5px; color: #97a8a1; }

/* ---------- Visual Prompt Builder ---------- */

.rinka-vpb-cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.rinka-vpb-cat {
	padding: 6px 11px;
	border-radius: 999px;
	border: 1.5px solid #e3d7ee;
	background: #fff;
	font-size: 12px;
	font-weight: 700;
	color: #7a6296;
	cursor: pointer;
	transition: background .15s ease;
}
.rinka-vpb-cat.is-active { background: #8f6fc4; border-color: #8f6fc4; color: #fff; }

.rinka-vpb-search { width: 100%; box-sizing: border-box; margin-bottom: 10px; }

.rinka-vpb-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	max-height: 300px;
	overflow-y: auto;
	padding: 4px;
}
.rinka-vpb-tag {
	padding: 5px 11px;
	border-radius: 999px;
	border: 1.5px solid #ddd0ea;
	background: #faf7fd;
	font-size: 12px;
	color: #5d4a75;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.rinka-vpb-tag:hover { border-color: #8f6fc4; background: #f1e9fa; }
.rinka-vpb-tag.is-added { background: #8f6fc4; border-color: #8f6fc4; color: #fff; }
.rinka-vpb-tag__en { opacity: .75; font-size: 10.5px; margin-left: 4px; }
.rinka-vpb-tag--auto { border-style: dashed; background: #fdf9f1; border-color: #e6cf9e; color: #8a6f37; }
.rinka-vpb-tag--auto:hover { border-color: #d0a94e; background: #faf0da; }

.rinka-vpb-selected {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 44px;
	padding: 10px;
	border-radius: 12px;
	background: #faf7fd;
	border: 1.5px dashed #d3c2e6;
	margin-bottom: 10px;
}
.rinka-vpb-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 8px 5px 12px;
	border-radius: 999px;
	background: #8f6fc4;
	color: #fff;
	font-size: 12px;
	cursor: grab;
	user-select: none;
}
.rinka-vpb-chip.is-dragging { opacity: .4; }
.rinka-vpb-chip__x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .25);
	color: #fff;
	font-size: 11px;
	line-height: 1;
	cursor: pointer;
}
.rinka-vpb-chip__x:hover { background: rgba(255, 255, 255, .45); }
.rinka-vpb-chip__fav {
	border: none;
	background: transparent;
	color: #ffd9ec;
	cursor: pointer;
	font-size: 12px;
	padding: 0;
}
.rinka-vpb-empty { font-size: 12px; color: #a394b5; align-self: center; }

.rinka-vpb-output {
	width: 100%;
	min-height: 96px;
	box-sizing: border-box;
	padding: 12px;
	border-radius: 12px;
	border: 1.5px solid #d3c2e6;
	background: #fdfcff;
	font-family: Consolas, Menlo, monospace;
	font-size: 12.5px;
	line-height: 1.8;
	resize: vertical;
}

.rinka-vpb-templates { display: flex; flex-wrap: wrap; gap: 6px; }
.rinka-vpb-template {
	padding: 6px 12px;
	border-radius: 10px;
	border: 1.5px solid #e6d9f2;
	background: #fff;
	font-size: 12px;
	color: #6b5487;
	cursor: pointer;
}
.rinka-vpb-template:hover { background: #f5eefc; }

.rinka-vpb-history { display: grid; gap: 6px; max-height: 220px; overflow-y: auto; }
.rinka-vpb-history__item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 10px;
	background: #faf7fd;
	font-size: 11.5px;
	color: #5d4a75;
}
.rinka-vpb-history__text {
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
}
.rinka-vpb-history__text:hover { text-decoration: underline; }

.rinka-vpb-section + .rinka-vpb-section { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #e6dcf0; }
.rinka-vpb-section__title { margin: 0 0 8px; font-size: 13px; font-weight: 900; color: #6b5487; }

/* Builderページはアクセントを紫系に */
.rinka-toolkit-visual-prompt-builder .rinka-tk-panel { border-color: #eee4f6; box-shadow: 0 4px 14px rgba(150, 120, 190, .12); }
.rinka-toolkit-visual-prompt-builder .rinka-tk-drop { border-color: #d3c2e6; background: #faf7fd; color: #7a6296; }
.rinka-toolkit-visual-prompt-builder .rinka-tk-drop:hover,
.rinka-toolkit-visual-prompt-builder .rinka-tk-drop.is-dragover { border-color: #8f6fc4; background: #f3ecfa; }
.rinka-toolkit-visual-prompt-builder .rinka-tk-privacy { background: #f3ecfa; border-color: #d9c8ec; color: #6b4e91; }

/* ---------- トースト ---------- */

.rinka-tk-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%) translateY(20px);
	z-index: 99999;
	padding: 11px 22px;
	border-radius: 999px;
	background: rgba(60, 50, 60, .92);
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
}
.rinka-tk-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- 使い方リスト（各ツール） ---------- */

.rinka-tk-howto { max-width: 700px; margin: 0 auto; }
.rinka-tk-howto ol { padding-left: 1.4em; font-size: 14px; line-height: 2; }

/* ---------- ホーム: ヒーローCTA ［LEGACY / 未使用］ ----------
   v2.5 で Hero は .rds-hero__actions（rinka-design-system.css）へ移行済み。
   toolkit-home.php では .rinka-tk-hero-cta コンテナは描画されず、
   .rinka-tk-hero-cta__sub のみクラス名として残るが対応ルールは無し（rds-btn--quiet で表示）。
   互換のため削除せず残置。将来のクリーンアップ候補。 */

.rinka-tk-hero-cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: -6px auto 34px;
	max-width: 700px;
}
.rinka-tk-hero-cta .rinka-tk-btn {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 26px;
	font-size: 14.5px;
}
.rinka-tk-hero-cta__main { box-shadow: 0 4px 14px rgba(224, 140, 180, .35); }

/* ---------- ホーム: やりたいことからえらぶ ---------- */

.rinka-tk-goals {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 10px;
	max-width: 860px;
	margin: 0 auto;
}
.rinka-tk-goal {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 16px;
	border: 1.5px solid #e8f2ee;
	border-radius: 14px;
	background: #fff;
	color: inherit;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.rinka-tk-goal:hover {
	border-color: #67c6a1;
	box-shadow: 0 4px 14px rgba(74, 169, 137, .18);
	transform: translateY(-2px);
	color: inherit;
}
.rinka-tk-goal > span:first-child { font-size: 20px; }

/* ---------- ホーム: ツールカードのバッジ ---------- */

.rinka-tk-tool__badge {
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
	padding: 2px 10px;
	border-radius: 999px;
	background: #ffe3ef;
	color: #c9578c;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .04em;
}

/* SEOオーダー item7（2026-07-22・追加のみ）: 最近更新ツールの NEW バッジ（鮮度シグナル） */
.rinka-tk-tool__badge--new {
	background: linear-gradient(135deg, #f7a8c9, #ef8fb8);
	color: #fff;
	padding: 2px 8px;
	animation: rinka-tk-new-pulse 2.4s ease-in-out infinite;
}
@keyframes rinka-tk-new-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(239, 143, 184, .45); }
	50% { box-shadow: 0 0 0 5px rgba(239, 143, 184, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.rinka-tk-tool__badge--new { animation: none; }
}

/* ---------- ホーム: 投稿前ワークフロー ［LEGACY / 未使用］ ----------
   v2.5 で Workflow は .rds-rail（rinka-design-system.css・シグネチャ要素）へ移行済み。
   toolkit-home.php に .rinka-tk-flow の出力は無い。互換のため削除せず残置。 */

.rinka-tk-flow {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 12px;
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	counter-reset: rinka-tk-flow;
}
.rinka-tk-flow__step {
	counter-increment: rinka-tk-flow;
	position: relative;
	border: 1.5px solid #e8f2ee;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}
.rinka-tk-flow__step > a,
.rinka-tk-flow__step--goal {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 40px 18px 18px;
	color: inherit;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.7;
}
.rinka-tk-flow__step::before {
	content: "STEP " counter(rinka-tk-flow);
	position: absolute;
	top: 12px;
	left: 18px;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .1em;
	color: #4aa989;
}
.rinka-tk-flow__step--goal::before { content: "GOAL"; color: #c9578c; }
.rinka-tk-flow__step--goal { border-color: #ffd6e6; background: #fff7fb; }
.rinka-tk-flow__emoji { font-size: 26px; }
.rinka-tk-flow__step strong { font-size: 14.5px; }
.rinka-tk-flow__step > a:hover {
	background: #f3faf7;
	color: inherit;
}

@media (prefers-reduced-motion: reduce) {
	.rinka-tk-tool, .rinka-tk-cta__card, .rinka-tk-btn, .rinka-tk-swatch, .rinka-tk-goal { transition: none; }
	.rinka-tk-tool:hover, .rinka-tk-cta__card:hover, .rinka-tk-btn:hover, .rinka-tk-swatch:hover, .rinka-tk-goal:hover { transform: none; }
}

/* ============================================================
   🛠 Toolkit追加機能（さいきん使ったツール・Optimizer整形履歴）
   ※ 追記のみ。既存セレクタは変更しない。
   ============================================================ */

/* トップ「さいきん使ったツール」チップ */
.rinka-tk-recent__row {
	display: flex;
	flex-wrap: wrap;
	gap: .6em;
}
.rinka-tk-recent__chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: .45em 1.1em;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: var(--rinka-ink, #574650);
	font-size: .92rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.rinka-tk-recent__chip:hover {
	background: #fdeaf2;
	border-color: var(--rinka-accent, #f7a8c8);
	transform: translateY(-1px);
}

/* Prompt Optimizer 整形履歴 */
.rinka-tk-history__note {
	margin: 0 0 .9em;
	color: var(--rinka-ink-soft, #a08a94);
	font-size: .9rem;
}
.rinka-tk-history__list {
	display: grid;
	gap: .7em;
}
.rinka-tk-history__item {
	padding: .8em 1em;
	border: 1px solid #f3e2ea;
	border-radius: 14px;
	background: #fff;
}
.rinka-tk-history__preview {
	margin: 0 0 .55em;
	color: var(--rinka-ink, #574650);
	font-size: .86rem;
	line-height: 1.55;
	word-break: break-all;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.rinka-tk-history__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5em;
}
.rinka-tk-history__date {
	margin-right: auto;
	color: var(--rinka-ink-soft, #a08a94);
	font-size: .8rem;
	white-space: nowrap;
}
.rinka-tk-history__btn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: .35em .95em;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: var(--rinka-ink, #574650);
	font-size: .82rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.rinka-tk-history__btn:hover {
	background: #fdeaf2;
	border-color: var(--rinka-accent, #f7a8c8);
}
.rinka-tk-history__btn--del {
	border-color: #f2c9c9;
	color: #b8503f;
}
.rinka-tk-history__btn--del:hover {
	background: #fdecec;
	border-color: #e79a90;
}

/* ============================================================
   もっとばい追加分（ライブカウンター・1行表示・ネガ集・履歴全削除・きょうのヒント）
   ============================================================ */

/* Optimizer: 入力ライブカウンター */
.rinka-tk-livestats {
	margin: 6px 0 0;
	font-size: .8rem;
	color: #a08a94;
}

/* Optimizer: 1行1タグ表示トグル */
.rinka-tk-lineview {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin-top: 6px;
	font-size: .82rem;
	font-weight: 700;
	color: #574650;
	cursor: pointer;
}
.rinka-tk-lineview input {
	width: 18px;
	height: 18px;
	accent-color: #f7a8c8;
}

/* Optimizer: 履歴ぜんぶ削除（削除=赤ロール） */
.rinka-tk-history__clearall {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 12px;
	padding: 10px 18px;
	border: 1px solid #f2c9c9;
	border-radius: 999px;
	background: #fff;
	color: #c25a5a;
	font-size: .82rem;
	font-weight: 700;
	cursor: pointer;
}
.rinka-tk-history__clearall:hover { background: #fdf1f1; }

/* Optimizer: 定番ネガティブプロンプト集 */
.rinka-tk-negpresets__list {
	display: grid;
	gap: 14px;
	margin-top: 14px;
}
.rinka-tk-negpreset {
	padding: 14px 16px;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
	background: #fff;
}
.rinka-tk-negpreset__name {
	margin: 0 0 8px;
	font-size: .88rem;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-negpreset__code {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	background: #faf6f8;
	color: #574650;
	font-size: .78rem;
	line-height: 1.7;
	word-break: break-word;
}
.rinka-tk-negpreset__copy {
	margin-top: 10px;
}

/* トップ: きょうのヒント */
.rinka-tk-hint-box__text {
	margin: 10px 0 0;
	padding: 14px 16px;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
	background: #fff5f9;
	color: #574650;
	font-size: .9rem;
	line-height: 1.8;
}

/* ============================================================
 * もっと第3弾 — Palette並び順/平均色/保存・Crop位置/px/保存・Critiqueスコア・Builderカウンター
 * ========================================================== */
.rinka-tk-palsort {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.rinka-tk-palsort__label {
	font-size: 12px;
	color: #a08a94;
}
.rinka-tk-palsort__btn {
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid #f3cfdf;
	border-radius: 22px;
	background: #fff;
	color: #574650;
	font-size: 12px;
	cursor: pointer;
}
.rinka-tk-palsort__btn.is-active {
	background: #f7a8c8;
	border-color: #f7a8c8;
	color: #fff;
	font-weight: 700;
}
.rinka-tk-palavg {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0;
	font-size: 12px;
	color: #574650;
}
.rinka-tk-palavg__chip {
	min-height: 44px;
	min-width: 120px;
	padding: 8px 14px;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}
.rinka-tk-cropanchor {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.rinka-tk-cropanchor__label {
	font-size: 12px;
	color: #a08a94;
}
.rinka-tk-cropanchor__btn {
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid #f3cfdf;
	border-radius: 22px;
	background: #fff;
	color: #574650;
	font-size: 12px;
	cursor: pointer;
}
.rinka-tk-cropanchor__btn.is-active {
	background: #f7a8c8;
	border-color: #f7a8c8;
	color: #fff;
	font-weight: 700;
}
.rinka-tk-crop__px {
	font-size: 11px;
	color: #a08a94;
	margin: 4px 0 2px;
}
.rinka-tk-crop__save {
	display: block;
	width: 100%;
	min-height: 44px;
	margin-top: 8px;
	padding: 8px 12px;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	background: #fff;
	color: #574650;
	font-size: 12px;
	cursor: pointer;
}
.rinka-tk-crop__save:hover {
	background: #fdeef5;
}
.rinka-tk-score {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px;
	padding: 12px 16px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
}
.rinka-tk-score__num {
	font-size: 30px;
	font-weight: 800;
	color: #d8639a;
	line-height: 1;
}
.rinka-tk-score__num::after {
	content: ' / 100';
	font-size: 13px;
	font-weight: 600;
	color: #a08a94;
}
.rinka-tk-score__label {
	font-size: 14px;
	font-weight: 700;
	color: #574650;
}
.rinka-vpb-count {
	font-size: 12px;
	color: #a08a94;
	margin: 4px 0 0;
}

/* ============================================================
   ツール検索（トップページ）
   ============================================================ */
.rinka-tk-search {
	margin: 0 0 18px;
	padding: 14px 16px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
}
.rinka-tk-search__label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #574650;
	margin: 0 0 8px;
}
.rinka-tk-search__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	background: #fff;
	color: #574650;
	font-size: 14px;
}
.rinka-tk-search__input:focus {
	outline: none;
	border-color: #f7a8c8;
	box-shadow: 0 0 0 3px rgba(247, 168, 200, 0.25);
}
.rinka-tk-search__empty {
	font-size: 12px;
	color: #a08a94;
	margin: 8px 0 0;
}

/* ============================================================
   Aspect Ratio Explorer（/aspect-ratio/）
   ============================================================ */
.rinka-tk-kv {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 6px 14px;
	margin: 14px 0 0;
	font-size: 13.5px;
}
.rinka-tk-kv dt {
	color: #a08a94;
	font-weight: 600;
}
.rinka-tk-kv dd {
	margin: 0;
	color: #574650;
	font-weight: 700;
	word-break: break-word;
}
.rinka-tk-arsize {
	display: flex;
	align-items: flex-end;
	gap: 10px;
}
.rinka-tk-arsize .rinka-tk-field { flex: 1; margin: 0; }
.rinka-tk-arsize__x {
	padding-bottom: 12px;
	color: #a08a94;
	font-weight: 700;
}
.rinka-tk-ar-rect {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	margin: 14px 0 0;
	background: #fdf7fa;
	border: 1px dashed #f3cfdf;
	border-radius: 12px;
}
.rinka-tk-ar-rect__box {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #ffe3ef, #fff2f8);
	border: 2px solid #f7a8c8;
	border-radius: 6px;
	color: #b76a8f;
	font-size: 12px;
	font-weight: 700;
	transition: width 0.15s ease, height 0.15s ease;
	overflow: hidden;
	white-space: nowrap;
}
.rinka-tk-ar-note {
	font-size: 12.5px;
	color: #a08a94;
	margin: 10px 0 0;
	line-height: 1.7;
}
.rinka-tk-ar-subtitle {
	font-size: 14px;
	font-weight: 700;
	color: #574650;
	margin: 18px 0 6px;
}
.rinka-tk-arpresets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
}
.rinka-tk-arpreset {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-height: 44px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.rinka-tk-arpreset:hover {
	border-color: #f7a8c8;
	box-shadow: 0 2px 8px rgba(247, 168, 200, 0.25);
}
.rinka-tk-arpreset__name {
	font-size: 12.5px;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-arpreset__px {
	font-size: 11.5px;
	color: #a08a94;
}

/* ============================================================
   Prompt Weight Calculator（/prompt-weight/）
   ============================================================ */
.rinka-tk-wtrows {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 14px 0 0;
}
.rinka-tk-wtrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	font-size: 13px;
}
.rinka-tk-wtrow__tag {
	font-weight: 700;
	color: #574650;
	word-break: break-all;
}
.rinka-tk-wtrow__note {
	font-size: 11.5px;
	color: #a08a94;
}
.rinka-tk-wtrow__weight {
	margin-left: auto;
	font-weight: 700;
	color: #b76a8f;
}
.rinka-tk-wtrow__label {
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
	background: #f4efe9;
	color: #8a7a6a;
	white-space: nowrap;
}
.rinka-tk-wtrow__label--weak { background: #e9f1f7; color: #5a82a8; }
.rinka-tk-wtrow__label--std { background: #e9f5ef; color: #4aa989; }
.rinka-tk-wtrow__label--mid { background: #fdf3e4; color: #c08b3e; }
.rinka-tk-wtrow__label--strong { background: #fdeae4; color: #cf6a4a; }
.rinka-tk-wtrow__label--over { background: #fbe4ea; color: #c9486e; }
.rinka-tk-wt-stats {
	font-size: 12.5px;
	color: #a08a94;
	margin: 10px 0 0;
}
.rinka-tk-wt-disclaimer {
	font-size: 12px;
	color: #a08a94;
	margin: 14px 0 0;
	padding: 10px 12px;
	background: #fdf7fa;
	border-radius: 10px;
	line-height: 1.7;
}
.rinka-tk-wt-result {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	font-size: 13.5px;
	color: #574650;
}
.rinka-tk-wt-out {
	display: inline-block;
	padding: 5px 12px;
	background: #fff2f8;
	border: 1px solid #f7a8c8;
	border-radius: 8px;
	font-size: 14.5px;
	font-weight: 700;
	color: #b76a8f;
	word-break: break-all;
}
.rinka-tk-wt-range {
	display: block;
	width: 100%;
	min-height: 44px;
	accent-color: #f7a8c8;
}

@media (max-width: 640px) {
	.rinka-tk-arsize { flex-wrap: wrap; }
	.rinka-tk-arsize__x { display: none; }
	.rinka-tk-wtrow__weight { margin-left: 0; }
}

/* ==========================================================
   AI Image Toolkit — 追加CSS断片 B
   🔍 PNG Metadata Viewer（rinka-md-）＋ 🗜️ File Size Optimizer（rinka-cp-）
   既存の rinka-tk-* コンポーネントを再利用し、ここは新規クラスのみ。
   ========================================================== */

/* ---------- 共通 ---------- */

.rinka-tk-privacy {
	margin: 0 auto 18px;
	max-width: 720px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid #ffd6e7;
	border-radius: 12px;
	font-size: 13px;
	color: #8aa79a;
	text-align: center;
}

/* ---------- PNG Metadata Viewer ---------- */

.rinka-tk-mdtabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.rinka-tk-mdtab {
	appearance: none;
	border: 1px solid #e6ece8;
	background: #fff;
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	color: #5c6f65;
	cursor: pointer;
	transition: border-color .15s, color .15s, background .15s;
}

.rinka-tk-mdtab:hover {
	border-color: #f39;
	color: #f39;
}

.rinka-tk-mdtab.is-active {
	background: #f39;
	border-color: #f39;
	color: #fff;
	font-weight: 700;
}

.rinka-tk-mdbody {
	min-height: 120px;
	margin-bottom: 12px;
}

.rinka-tk-mditem {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 4px;
	border-bottom: 1px dashed #eef2ef;
	font-size: 13px;
}

.rinka-tk-mditem__key {
	flex: 0 0 auto;
	min-width: 92px;
	color: #8aa79a;
	font-size: 12px;
}

.rinka-tk-mditem__val {
	flex: 1 1 auto;
	min-width: 0;
	color: #3a4a41;
	word-break: break-all;
}

.rinka-tk-mdcopy {
	flex: 0 0 auto;
	padding: 2px 8px;
	line-height: 1.4;
}

.rinka-tk-mdblock {
	margin-bottom: 14px;
}

.rinka-tk-mdblock__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 4px;
}

.rinka-tk-mdblock__label {
	font-size: 12px;
	font-weight: 700;
	color: #8aa79a;
	letter-spacing: .04em;
}

.rinka-tk-mdpre {
	margin: 0;
	padding: 10px 12px;
	max-height: 320px;
	overflow: auto;
	background: #fafcfb;
	border: 1px solid #e6ece8;
	border-radius: 12px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	line-height: 1.7;
	color: #3a4a41;
	white-space: pre-wrap;
	word-break: break-all;
	-webkit-overflow-scrolling: touch;
}

.rinka-tk-mdnone {
	margin: 18px 4px;
	font-size: 13px;
	color: #8aa79a;
}

/* ---------- File Size Optimizer ---------- */

.rinka-tk-cpqueue {
	margin: 10px 0;
}

.rinka-tk-cpqueue__count {
	margin: 0;
	padding: 8px 12px;
	background: #fff5fa;
	border: 1px solid #ffd6e7;
	border-radius: 10px;
	font-size: 13px;
	color: #3a4a41;
}

.rinka-tk-cppresets {
	margin-bottom: 12px;
}

.rinka-tk-cppresets .rinka-tk-btn.is-active {
	background: #f39;
	border-color: #f39;
	color: #fff;
}

.rinka-tk-range {
	width: 100%;
	accent-color: #f39;
}

.rinka-tk-cpnote {
	margin: 6px 0 12px;
	font-size: 12px;
	line-height: 1.7;
	color: #8aa79a;
}

.rinka-tk-cpnote a {
	color: #f39;
	text-decoration: underline;
}

.rinka-tk-cpprogress {
	margin-top: 12px;
}

.rinka-tk-cpprogress__bar {
	height: 8px;
	background: #eef2ef;
	border-radius: 999px;
	overflow: hidden;
}

.rinka-tk-cpprogress__bar span {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #f39, #ff85b8);
	border-radius: 999px;
	transition: width .2s ease;
}

.rinka-tk-cpprogress__text {
	margin: 6px 0 0;
	font-size: 12px;
	color: #8aa79a;
}

.rinka-tk-cpresults {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 12px;
}

.rinka-tk-cprow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e6ece8;
	border-radius: 12px;
}

.rinka-tk-cprow--fail {
	border-color: #f5c6c6;
	background: #fff8f8;
}

.rinka-tk-cprow__name {
	flex: 1 1 100%;
	font-size: 13px;
	font-weight: 700;
	color: #3a4a41;
	word-break: break-all;
}

.rinka-tk-cprow__info {
	flex: 1 1 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	font-size: 12px;
	color: #5c6f65;
}

.rinka-tk-cprow__pct {
	font-weight: 700;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 11px;
}

.rinka-tk-cprow__pct--good {
	background: #e8f5ee;
	color: #2e8b57;
}

.rinka-tk-cprow__pct--bad {
	background: #fdeef0;
	color: #d4507a;
}

.rinka-tk-cprow__dim {
	color: #8aa79a;
}

.rinka-tk-cprow__warn {
	flex: 1 1 100%;
	margin: 0;
	font-size: 12px;
	color: #b8860b;
}

/* ---------- モバイル調整 ---------- */

@media (max-width: 600px) {
	.rinka-tk-mditem {
		flex-wrap: wrap;
	}

	.rinka-tk-mditem__key {
		flex-basis: 100%;
		min-width: 0;
	}

	.rinka-tk-mdpre {
		max-height: 240px;
		font-size: 11px;
	}

	.rinka-tk-cprow .rinka-tk-btn {
		flex: 1 1 100%;
	}
}

/* ============================================================
 * 🧬 Prompt Token Visualizer
 * ========================================================== */
.rinka-tk-vzempty {
	margin: 8px 0;
	font-size: 14px;
	color: #8a7580;
}
.rinka-tk-vzstats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 8px;
	margin: 4px 0 6px;
}
.rinka-tk-vzstat {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px 10px;
	background: #fff7fb;
	border: 1px solid #f3d7e5;
	border-radius: 10px;
}
.rinka-tk-vzstat__val {
	font-size: 14.5px;
	font-weight: 700;
	color: #b76a8f;
	word-break: break-word;
}
.rinka-tk-vzstat__label {
	font-size: 11.5px;
	color: #8a7580;
}
.rinka-tk-vznote {
	margin: 0 0 10px;
	font-size: 12px;
	color: #8a7580;
}
.rinka-tk-vzlegend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin: 0 0 10px;
	padding: 8px 10px;
	background: #fdfafc;
	border: 1px dashed #eddbe6;
	border-radius: 10px;
}
.rinka-tk-vzlegend__item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #574650;
}
.rinka-tk-vzlegend__dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.08);
	flex: 0 0 auto;
}
.rinka-tk-vzside {
	margin: 14px 0 6px;
	font-size: 14.5px;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-vzchips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 30px;
}
.rinka-tk-vzchips__none {
	margin: 0;
	font-size: 13px;
	color: #a89aa2;
}
.rinka-tk-vzchip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 6px 4px 9px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 999px;
	font-size: 13px;
	color: #4a3a43;
	line-height: 1.3;
	max-width: 100%;
}
.rinka-tk-vzchip__icon {
	font-size: 12px;
	flex: 0 0 auto;
}
.rinka-tk-vzchip__label {
	word-break: break-all;
}
.rinka-tk-vzchip__w {
	padding: 1px 6px;
	background: rgba(255, 255, 255, 0.75);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	color: #b76a8f;
	flex: 0 0 auto;
}
.rinka-tk-vzchip__x {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	line-height: 1;
	font-size: 13px;
	color: #8a7580;
	cursor: pointer;
	flex: 0 0 auto;
}
.rinka-tk-vzchip__x:hover {
	background: #fff;
	color: #d4577f;
}

/* ============================================================
 * 🎲 Prompt Randomizer
 * ========================================================== */
.rinka-tk-rdhint {
	margin: 4px 0 12px;
	font-size: 12.5px;
	color: #8a7580;
}
.rinka-tk-rdlabel {
	display: block;
	margin: 12px 0 6px;
	font-size: 13px;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-rdpresets {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.rinka-tk-rdpreset {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #f3d7e5;
	background: #fff7fb;
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 13px;
	color: #574650;
	cursor: pointer;
	min-height: 34px;
}
.rinka-tk-rdpreset:hover {
	border-color: #f7a8c8;
	background: #fff2f8;
}
.rinka-tk-rdrows {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 8px;
}
.rinka-tk-rdrow {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 8px;
	background: #fdfafc;
	border: 1px solid #f3e5ec;
	border-radius: 10px;
}
.rinka-tk-rdrow--off {
	opacity: 0.45;
}
.rinka-tk-rdrow__chk {
	width: 18px;
	height: 18px;
	accent-color: #f7a8c8;
	flex: 0 0 auto;
}
.rinka-tk-rdrow__name {
	flex: 0 0 118px;
	font-size: 12.5px;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-rdrow__tagwrap {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.rinka-tk-rdrow__tag {
	font-size: 13.5px;
	color: #4a3a43;
	word-break: break-all;
}
.rinka-tk-rdrow__ja {
	font-size: 11px;
	color: #a89aa2;
}
.rinka-tk-rdrow__btns {
	display: inline-flex;
	gap: 4px;
	flex: 0 0 auto;
}
.rinka-tk-rdrow__btn {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #f3d7e5;
	background: #fff;
	border-radius: 8px;
	min-width: 32px;
	min-height: 32px;
	font-size: 14px;
	cursor: pointer;
	line-height: 1;
}
.rinka-tk-rdrow__btn:hover {
	border-color: #f7a8c8;
	background: #fff2f8;
}
.rinka-tk-rdrow__btn--on {
	background: #ffe9f3;
	border-color: #f7a8c8;
}
.rinka-tk-rdfavs {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.rinka-tk-rdfav {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 8px;
	background: #fff7fb;
	border: 1px solid #f3d7e5;
	border-radius: 10px;
}
.rinka-tk-rdfav__text {
	flex: 1 1 auto;
	font-size: 12.5px;
	color: #574650;
	word-break: break-all;
}
.rinka-tk-rdfav__none {
	margin: 0;
	font-size: 12.5px;
	color: #a89aa2;
}


@media (max-width: 640px) {
	.rinka-tk-rdrow__name { flex-basis: 96px; }
	.rinka-tk-vzstats { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   Fork D 追加分: Batch Rename（rinka-rn-）＋ Color Harmony（rinka-hm-）
   白ベース／角丸／ピンク #f39 アクセント／グリーングレー #8aa79a
   ============================================================ */

/* ---------- 共通小物（今回追加） ---------- */
.rinka-tk-rn-note {
	font-size: 12.5px;
	color: #8aa79a;
	margin: 8px 0 0;
	line-height: 1.7;
}
.rinka-tk-rn-note a {
	color: #f39;
	text-decoration: none;
	font-weight: 600;
}
.rinka-tk-rn-note a:hover { text-decoration: underline; }
.rinka-tk-rn-subtitle {
	font-size: 14px;
	color: #334d40;
	margin: 18px 0 6px;
	padding-top: 12px;
	border-top: 1px dashed #e0ebe5;
}
.rinka-tk-rn-text {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #dde8e2;
	border-radius: 12px;
	font-size: 14px;
	background: #fff;
	color: #334d40;
	box-sizing: border-box;
}
.rinka-tk-rn-text:focus {
	outline: none;
	border-color: #f7a8c9;
	box-shadow: 0 0 0 3px rgba(255, 51, 153, 0.08);
}

/* ---------- Batch Rename: プレビューパネル（workspace外の単独カード） ---------- */
.rinka-tk-rn-panel { margin-top: 18px; }

/* ---------- Batch Rename: トークン一覧 ---------- */
.rinka-tk-rn-tokens { margin: 6px 0 4px; }
.rinka-tk-rn-token {
	display: inline-block;
	background: #f2f7f4;
	border-radius: 8px;
	padding: 3px 9px;
	margin: 2px 3px 2px 0;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 11.5px;
	color: #4a6a5c;
}

/* ---------- Batch Rename: 連番設定・オプション ---------- */
.rinka-tk-rn-seq {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 10px;
}
.rinka-tk-rn-seq .rinka-tk-field {
	flex: 1;
	min-width: 88px;
	margin: 0;
}
.rinka-tk-rn-num {
	width: 100%;
	padding: 9px 10px;
	border: 1px solid #dde8e2;
	border-radius: 12px;
	font-size: 14px;
	background: #fff;
	color: #334d40;
	box-sizing: border-box;
}
.rinka-tk-rn-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 10px 0 4px;
}
.rinka-tk-rn-checks label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	color: #5a7a6c;
	cursor: pointer;
	min-height: 28px;
}
.rinka-tk-rn-checks input[type="checkbox"] { accent-color: #f39; }

/* ---------- Batch Rename: プレビューリスト ---------- */
.rinka-tk-rn-list {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-height: 420px;
	overflow-y: auto;
	padding-right: 2px;
}
.rinka-tk-rn-row {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #e6efe9;
	border-radius: 12px;
	padding: 7px 10px;
	font-size: 12.5px;
	flex-wrap: wrap;
}
.rinka-tk-rn-row.is-dup {
	border-color: #f0b862;
	background: #fff9ef;
}
.rinka-tk-rn-row__old {
	color: #8aa79a;
	word-break: break-all;
	flex: 1 1 38%;
	min-width: 110px;
}
.rinka-tk-rn-row__arrow {
	color: #f39;
	font-weight: 700;
	flex: 0 0 auto;
}
.rinka-tk-rn-row__new {
	color: #334d40;
	font-weight: 600;
	word-break: break-all;
	flex: 1 1 38%;
	min-width: 110px;
}
.rinka-tk-rn-row__btn {
	border: none;
	background: #f2f7f4;
	border-radius: 8px;
	padding: 5px 9px;
	cursor: pointer;
	font-size: 12px;
	color: #4a6a5c;
	min-height: 30px;
	flex: 0 0 auto;
}
.rinka-tk-rn-row__btn:hover { background: #e4efe9; }
.rinka-tk-rn-row__btn--del:hover {
	background: #ffe3ee;
	color: #f39;
}

/* ---------- Batch Rename: 進捗バー ---------- */
.rinka-tk-rn-progress {
	margin-top: 10px;
	font-size: 13px;
	color: #5a7a6c;
}
.rinka-tk-rn-bar {
	height: 8px;
	background: #eef4f0;
	border-radius: 999px;
	overflow: hidden;
	margin-top: 5px;
}
.rinka-tk-rn-bar__fill {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #f7a8c9, #f39);
	border-radius: 999px;
	transition: width 0.2s ease;
}

/* ---------- Color Harmony: 入力まわり ---------- */
.rinka-tk-hm-inputs {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}
.rinka-tk-hm-hex {
	flex: 1;
	min-width: 120px;
	padding: 10px 12px;
	border: 1px solid #dde8e2;
	border-radius: 12px;
	font-size: 14px;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	background: #fff;
	color: #334d40;
	box-sizing: border-box;
}
.rinka-tk-hm-hex:focus {
	outline: none;
	border-color: #f7a8c9;
	box-shadow: 0 0 0 3px rgba(255, 51, 153, 0.08);
}
.rinka-tk-hm-picker {
	width: 46px;
	height: 46px;
	border: 1px solid #dde8e2;
	border-radius: 12px;
	padding: 3px;
	background: #fff;
	cursor: pointer;
	flex: 0 0 auto;
}

/* ---------- Color Harmony: 基準色表示 ---------- */
.rinka-tk-hm-base {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
}
.rinka-tk-hm-base__chip {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 2px 10px rgba(51, 77, 64, 0.08);
	flex: 0 0 auto;
}
.rinka-tk-hm-base__vals {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.rinka-tk-hm-base__val {
	border: none;
	background: none;
	text-align: left;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 13px;
	color: #334d40;
	cursor: pointer;
	padding: 3px 6px;
	border-radius: 8px;
	min-height: 26px;
}
.rinka-tk-hm-base__val:hover { background: #f2f7f4; color: #f39; }

/* ---------- Color Harmony: 画像パレット ---------- */
.rinka-tk-hm-imgpal {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}
.rinka-tk-hm-imgpal button {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	cursor: pointer;
	padding: 0;
	transition: transform 0.12s ease;
}
.rinka-tk-hm-imgpal button:hover { transform: scale(1.12); }

/* ---------- Color Harmony: 配色パターン ---------- */
.rinka-tk-hm-scheme { margin-top: 18px; }
.rinka-tk-hm-scheme h3 {
	font-size: 14.5px;
	color: #334d40;
	margin: 0 0 7px;
}
.rinka-tk-hm-scheme h3 small {
	color: #8aa79a;
	font-weight: 400;
	font-size: 11.5px;
	margin-left: 7px;
}
.rinka-tk-hm-row {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.rinka-tk-hm-chip {
	flex: 1 1 76px;
	min-width: 76px;
	height: 56px;
	border-radius: 12px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	cursor: pointer;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 11px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 5px;
	transition: transform 0.12s ease;
}
.rinka-tk-hm-chip:hover { transform: translateY(-2px); }

/* ---------- Color Harmony: コントラストチェック ---------- */
.rinka-tk-hm-contrast { margin-top: 14px; }
.rinka-tk-hm-crow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	flex-wrap: wrap;
	font-size: 13px;
	color: #334d40;
}
.rinka-tk-hm-crow__sample {
	width: 64px;
	height: 38px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	border: 1px solid rgba(0, 0, 0, 0.08);
	flex: 0 0 auto;
}
.rinka-tk-hm-badges {
	display: inline-flex;
	gap: 5px;
	flex-wrap: wrap;
}
.rinka-tk-hm-badge {
	font-size: 11px;
	background: #f2f7f4;
	color: #4a6a5c;
	padding: 3px 8px;
	border-radius: 999px;
	white-space: nowrap;
}

/* ---------- モバイル ---------- */
@media (max-width: 640px) {
	.rinka-tk-rn-row {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}
	.rinka-tk-rn-row__arrow { display: none; }
	.rinka-tk-rn-row__old::before { content: "変更前: "; color: #b3c9bf; }
	.rinka-tk-rn-row__new::before { content: "変更後: "; color: #f39; }
	.rinka-tk-rn-row__btn { min-height: 40px; }
	.rinka-tk-rn-seq { gap: 8px; }
	.rinka-tk-hm-chip { min-width: 62px; height: 50px; }
	.rinka-tk-hm-base__chip { width: 52px; height: 52px; }
	.rinka-tk-hm-crow { align-items: flex-start; }
}

/* ============================================================
   S1: X検索コマンドメーカー（rinka-tk-xc-*）
   ============================================================ */

.rinka-tk-xc-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 14px;
}
.rinka-tk-xc-tab {
	flex: 1;
	padding: 9px 12px;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	background: #fff;
	color: #a08a94;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: all .15s ease;
}
.rinka-tk-xc-tab.is-active {
	background: #fff5f9;
	border-color: #f7a8c8;
	color: #d8639a;
}

.rinka-tk-xc-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}
.rinka-tk-xc-preset {
	padding: 6px 11px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: #574650;
	font-size: 0.8rem;
	cursor: pointer;
	transition: all .15s ease;
}
.rinka-tk-xc-preset:hover {
	background: #fff5f9;
	border-color: #f7a8c8;
	color: #d8639a;
}

.rinka-tk-xc-grid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
@media (max-width: 560px) {
	.rinka-tk-xc-grid2 { grid-template-columns: 1fr; }
}

.rinka-tk-xc-subtitle {
	margin: 16px 0 6px;
	font-size: 0.95rem;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-xc-note {
	margin: 4px 0 10px;
	font-size: 0.78rem;
	color: #a08a94;
}

.rinka-tk-xc-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-bottom: 10px;
}
.rinka-tk-xc-filter {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.84rem;
	color: #574650;
	cursor: pointer;
}
.rinka-tk-xc-filter.is-unavailable {
	color: #c4b3bb;
}
.rinka-tk-xc-filter code {
	font-size: 0.78rem;
	background: #fff5f9;
	border-radius: 6px;
	padding: 1px 5px;
	color: #d8639a;
}

.rinka-tk-xc-mins {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 10px;
}
@media (max-width: 560px) {
	.rinka-tk-xc-mins { grid-template-columns: 1fr; }
}
.rinka-tk-xc-min label {
	display: block;
	font-size: 0.78rem;
	color: #a08a94;
	margin-bottom: 3px;
}

.rinka-tk-xc-querybox {
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 14px;
	margin-bottom: 12px;
	min-height: 54px;
}
.rinka-tk-xc-query {
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.95rem;
	color: #574650;
	word-break: break-all;
	white-space: pre-wrap;
	background: none;
	padding: 0;
}
.rinka-tk-xc-query:empty::before {
	content: "ここに検索コマンドが表示されます";
	color: #c4b3bb;
	font-family: inherit;
	font-size: 0.85rem;
}

.rinka-tk-xc-warns {
	margin: 8px 0;
	font-size: 0.8rem;
	color: #b06a2c;
}
.rinka-tk-xc-warns p {
	margin: 3px 0;
	padding: 6px 10px;
	background: #fff8ef;
	border: 1px solid #f5ddc0;
	border-radius: 8px;
}

.rinka-tk-xc-list {
	list-style: none;
	margin: 8px 0 14px;
	padding: 0;
}
.rinka-tk-xc-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	margin-bottom: 6px;
	background: #fff;
}
.rinka-tk-xc-list li code {
	flex: 1;
	font-size: 0.8rem;
	color: #574650;
	word-break: break-all;
	background: none;
	padding: 0;
}
.rinka-tk-xc-list li button {
	flex-shrink: 0;
	padding: 4px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 8px;
	background: #fff;
	color: #d8639a;
	font-size: 0.75rem;
	cursor: pointer;
}
.rinka-tk-xc-list li button:hover {
	background: #fff5f9;
	border-color: #f7a8c8;
}
.rinka-tk-xc-list .rinka-tk-xc-list__empty {
	border: none;
	background: none;
	color: #a08a94;
	font-size: 0.8rem;
}

/* ============================================================
   S1: X検索表示チェッカー（rinka-tk-xv-*）
   ============================================================ */

.rinka-tk-xv-notice {
	background: #fff5f9;
	border: 2px solid #f7a8c8;
	border-radius: 14px;
	padding: 16px 18px;
	margin: 0 0 22px;
}
.rinka-tk-xv-notice p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.7;
	color: #574650;
}

.rinka-tk-xv-grid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
@media (max-width: 560px) {
	.rinka-tk-xv-grid2 { grid-template-columns: 1fr; }
}

.rinka-tk-xv-note {
	margin: 4px 0 10px;
	font-size: 0.78rem;
	color: #a08a94;
}

.rinka-tk-xv-searches {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.rinka-tk-xv-row {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 10px 12px;
	background: #fff;
}
.rinka-tk-xv-row__head {
	margin-bottom: 8px;
}
.rinka-tk-xv-row__desc {
	display: block;
	font-size: 0.84rem;
	font-weight: 700;
	color: #574650;
	margin-bottom: 3px;
}
.rinka-tk-xv-row__q {
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.78rem;
	color: #d8639a;
	background: #fff5f9;
	border-radius: 6px;
	padding: 3px 7px;
	word-break: break-all;
}
.rinka-tk-xv-row__acts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.rinka-tk-xv-openbtn {
	flex-shrink: 0;
}

.rinka-tk-xv-recbtns {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.rinka-tk-xv-recbtn {
	padding: 4px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: #a08a94;
	font-size: 0.74rem;
	cursor: pointer;
	transition: all .15s ease;
}
.rinka-tk-xv-recbtn:hover {
	border-color: #f7a8c8;
	color: #d8639a;
	background: #fff5f9;
}
.rinka-tk-xv-recbtn--shown:hover { color: #2e8b57; border-color: #9fd7b5; background: #f2fbf5; }
.rinka-tk-xv-recbtn--hidden:hover { color: #b06a2c; border-color: #f5ddc0; background: #fff8ef; }

.rinka-tk-xv-steps {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	counter-reset: none;
}
.rinka-tk-xv-step {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 8px;
	background: #fff;
}
.rinka-tk-xv-step strong {
	display: block;
	font-size: 0.9rem;
	color: #574650;
	margin-bottom: 4px;
}
.rinka-tk-xv-step p {
	margin: 0 0 8px;
	font-size: 0.82rem;
	line-height: 1.7;
	color: #7a6570;
}

.rinka-tk-xv-summary {
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 16px;
}
.rinka-tk-xv-summary p {
	margin: 0 0 6px;
	font-size: 0.84rem;
	line-height: 1.7;
	color: #574650;
}
.rinka-tk-xv-summary p:last-child { margin-bottom: 0; }

.rinka-tk-xv-hist {
	list-style: none;
	margin: 8px 0 12px;
	padding: 0;
}
.rinka-tk-xv-hist__item {
	position: relative;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	padding: 9px 64px 9px 12px;
	margin-bottom: 6px;
	background: #fff;
}
.rinka-tk-xv-hist__empty {
	font-size: 0.8rem;
	color: #a08a94;
}
.rinka-tk-xv-hist__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 3px;
}
.rinka-tk-xv-hist__res {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	background: #fff5f9;
	color: #d8639a;
	border: 1px solid #f3cfdf;
}
.rinka-tk-xv-hist__res--shown { color: #2e8b57; border-color: #9fd7b5; background: #f2fbf5; }
.rinka-tk-xv-hist__res--hidden { color: #b06a2c; border-color: #f5ddc0; background: #fff8ef; }
.rinka-tk-xv-hist__meta {
	font-size: 0.74rem;
	color: #a08a94;
}
.rinka-tk-xv-hist__q {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.76rem;
	color: #574650;
	word-break: break-all;
}
.rinka-tk-xv-hist__memo {
	font-size: 0.76rem;
	color: #7a6570;
	margin-top: 2px;
}
.rinka-tk-xv-hist__del {
	position: absolute;
	top: 9px;
	right: 10px;
	padding: 3px 9px;
	border: 1px solid #f3cfdf;
	border-radius: 8px;
	background: #fff;
	color: #a08a94;
	font-size: 0.72rem;
	cursor: pointer;
}
.rinka-tk-xv-hist__del:hover {
	color: #d8639a;
	border-color: #f7a8c8;
}

.rinka-tk-xv-examples {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rinka-tk-xv-examples li {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 8px;
	background: #fff;
	font-size: 0.86rem;
	line-height: 1.7;
	color: #574650;
}
.rinka-tk-xv-examples li strong {
	display: block;
	color: #d8639a;
	margin-bottom: 3px;
}

/* コマンドメーカー側 EXAMPLES/NOTE 共通 */
.rinka-tk-xc-examples {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rinka-tk-xc-examples li {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 8px;
	background: #fff;
	font-size: 0.86rem;
	line-height: 1.7;
	color: #574650;
}
.rinka-tk-xc-examples li strong {
	display: block;
	color: #d8639a;
	margin-bottom: 3px;
}
.rinka-tk-xc-examples li code {
	font-size: 0.8rem;
	background: #fff5f9;
	border-radius: 6px;
	padding: 1px 6px;
	color: #d8639a;
}

/* ============================================================
   S2: X文字数カウンター（rinka-tk-cc-*）＋キャプション整形（rinka-tk-cf-*）
   ============================================================ */

/* ---------- 共通テキストエリア ---------- */
.rinka-tk-cc-textarea,
.rinka-tk-cf-textarea {
	width: 100%;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 0.95rem;
	line-height: 1.7;
	color: #574650;
	background: #fff;
	resize: vertical;
	box-sizing: border-box;
}
.rinka-tk-cc-textarea:focus,
.rinka-tk-cf-textarea:focus {
	outline: none;
	border-color: #f7a8c8;
	box-shadow: 0 0 0 3px rgba(247, 168, 200, 0.2);
}

/* ---------- X文字数カウンター ---------- */
.rinka-tk-cc-optrow {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	align-items: flex-end;
	margin: 10px 0;
}
.rinka-tk-cc-optrow .rinka-tk-field {
	flex: 1 1 180px;
	margin: 0;
}

.rinka-tk-cc-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 8px;
}
.rinka-tk-cc-big {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.rinka-tk-cc-big__num {
	font-size: 2.2rem;
	font-weight: 700;
	color: #d8639a;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.rinka-tk-cc-big__unit {
	font-size: 0.95rem;
	color: #a08a94;
}
.rinka-tk-cc-remain {
	font-size: 0.85rem;
	color: #a08a94;
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.rinka-tk-cc-remain strong {
	font-size: 1.2rem;
	color: #574650;
	font-variant-numeric: tabular-nums;
}
.rinka-tk-cc-remain.is-over strong {
	color: #d94f4f;
}

.rinka-tk-cc-bar {
	height: 8px;
	border-radius: 999px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	overflow: hidden;
	margin-bottom: 14px;
}
.rinka-tk-cc-bar__fill {
	height: 100%;
	width: 0%;
	border-radius: 999px;
	background: linear-gradient(90deg, #f7a8c8, #d8639a);
	transition: width 0.15s ease;
}
.rinka-tk-cc-bar__fill.is-warn {
	background: linear-gradient(90deg, #f5c66b, #e8a23b);
}
.rinka-tk-cc-bar__fill.is-over {
	background: linear-gradient(90deg, #e88a8a, #d94f4f);
}

.rinka-tk-cc-stats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
}
.rinka-tk-cc-stat {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	padding: 8px 12px;
	font-size: 0.8rem;
	color: #a08a94;
}
.rinka-tk-cc-stat strong {
	color: #574650;
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}

.rinka-tk-cc-note {
	margin-top: 12px;
	font-size: 0.78rem;
	line-height: 1.7;
	color: #a08a94;
	background: #fff5f9;
	border: 1px dashed #f3cfdf;
	border-radius: 10px;
	padding: 10px 12px;
}

/* スレッド分割 */
.rinka-tk-cc-thread {
	margin-top: 20px;
}
.rinka-tk-cc-threadlead {
	font-size: 0.88rem;
	color: #a08a94;
	margin: 4px 0 10px;
	line-height: 1.7;
}
.rinka-tk-cc-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.88rem;
	color: #574650;
	cursor: pointer;
	padding: 4px 0;
}
.rinka-tk-cc-check input {
	accent-color: #d8639a;
}

.rinka-tk-cc-threads {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}
.rinka-tk-cc-threadcard {
	background: #fff;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
	padding: 12px 14px;
}
.rinka-tk-cc-threadcard__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.rinka-tk-cc-threadcard__title {
	font-size: 0.85rem;
	font-weight: 700;
	color: #d8639a;
}
.rinka-tk-cc-threadcard__count {
	font-size: 0.78rem;
	color: #a08a94;
	font-variant-numeric: tabular-nums;
}
.rinka-tk-cc-threadcard__count.is-over {
	color: #d94f4f;
	font-weight: 700;
}
.rinka-tk-cc-threadcard__text {
	white-space: pre-wrap;
	word-break: break-word;
	font-size: 0.92rem;
	line-height: 1.7;
	color: #574650;
	background: #fff5f9;
	border-radius: 10px;
	padding: 10px 12px;
	margin: 0 0 8px;
}
.rinka-tk-cc-threadcard__copy {
	font-size: 0.82rem;
}

/* ---------- キャプション整形 ---------- */
.rinka-tk-cf-more {
	margin: 10px 0;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff5f9;
	padding: 10px 14px;
}
.rinka-tk-cf-more summary {
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	color: #d8639a;
	list-style: none;
}
.rinka-tk-cf-more summary::before {
	content: '▸ ';
}
.rinka-tk-cf-more[open] summary::before {
	content: '▾ ';
}
.rinka-tk-cf-more[open] summary {
	margin-bottom: 10px;
}
.rinka-tk-cf-more .rinka-tk-field {
	margin-top: 10px;
}

.rinka-tk-cf-safety {
	margin-top: 10px;
	font-size: 0.78rem;
	line-height: 1.7;
	color: #a08a94;
	background: #fff5f9;
	border: 1px dashed #f3cfdf;
	border-radius: 10px;
	padding: 10px 12px;
}

.rinka-tk-cf-emptynote {
	font-size: 0.9rem;
	color: #a08a94;
	background: #fff5f9;
	border: 1px dashed #f3cfdf;
	border-radius: 12px;
	padding: 24px 16px;
	text-align: center;
	line-height: 1.7;
}

.rinka-tk-cf-result {
	white-space: pre-wrap;
	word-break: break-word;
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.8;
	color: #574650;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 14px 16px;
	margin: 0 0 8px;
	max-height: 420px;
	overflow: auto;
}
.rinka-tk-cf-count {
	font-size: 0.8rem;
	color: #a08a94;
	line-height: 1.6;
	margin: 0 0 10px;
}

.rinka-tk-cf-difftitle {
	font-size: 0.95rem;
	font-weight: 700;
	color: #574650;
	margin: 18px 0 8px;
}
.rinka-tk-cf-diff {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.rinka-tk-cf-diff__col {
	min-width: 0;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	padding: 10px 12px;
	max-height: 320px;
	overflow: auto;
}
.rinka-tk-cf-diff__label {
	font-size: 0.75rem;
	font-weight: 700;
	color: #a08a94;
	letter-spacing: 0.06em;
	margin: 0 0 6px;
}
.rinka-tk-cf-diff__line {
	font-size: 0.82rem;
	line-height: 1.7;
	color: #574650;
	white-space: pre-wrap;
	word-break: break-word;
	border-radius: 6px;
	padding: 1px 6px;
}
.rinka-tk-cf-diff__line.is-changed {
	background: #eaf6ef;
	color: #3f7a58;
}
.rinka-tk-cf-diff__line.is-removed {
	background: #fdeaea;
	color: #b04a4a;
	text-decoration: line-through;
	text-decoration-color: rgba(176, 74, 74, 0.4);
}

/* ---------- モバイル ---------- */
@media (max-width: 640px) {
	.rinka-tk-cc-big__num {
		font-size: 1.8rem;
	}
	.rinka-tk-cc-stats {
		grid-template-columns: repeat(2, 1fr);
	}
	.rinka-tk-cf-diff {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   S3: SNS画像サイズチェッカー（rinka-tk-sz-*）
   ============================================================ */

.rinka-tk-sz-handoff {
	flex-wrap: wrap;
}
.rinka-tk-sz-note {
	margin-top: 10px;
	padding: 10px 12px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	font-size: 0.82rem;
	color: #a08a94;
	line-height: 1.7;
}
.rinka-tk-sz-empty {
	padding: 28px 16px;
	text-align: center;
	color: #a08a94;
	font-size: 0.9rem;
	background: #fff5f9;
	border: 1px dashed #f3cfdf;
	border-radius: 12px;
}
.rinka-tk-sz-carousel {
	margin-bottom: 14px;
}
.rinka-tk-sz-carousel__msg {
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 0.88rem;
	line-height: 1.7;
}
.rinka-tk-sz-carousel__msg--good {
	background: #f2faf5;
	border: 1px solid #cfe8d8;
	color: #4a7a5c;
}
.rinka-tk-sz-carousel__msg--warn {
	background: #fff9ef;
	border: 1px solid #f0dfc0;
	color: #8a6d3b;
}
.rinka-tk-sz-results {
	display: grid;
	gap: 16px;
}
.rinka-tk-sz-card {
	background: #fff;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
	padding: 14px;
}
.rinka-tk-sz-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
.rinka-tk-sz-card__thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #f3cfdf;
	background: #fff5f9;
	flex-shrink: 0;
}
.rinka-tk-sz-card__title {
	flex: 1;
	min-width: 0;
}
.rinka-tk-sz-card__name {
	display: block;
	font-weight: 700;
	font-size: 0.9rem;
	color: #574650;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rinka-tk-sz-card__dims {
	display: block;
	font-size: 0.8rem;
	color: #a08a94;
}
.rinka-tk-sz-stats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 4px 14px;
	margin: 0 0 12px;
	padding: 10px 12px;
	background: #fff5f9;
	border-radius: 10px;
}
.rinka-tk-sz-stats > div {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: 0.82rem;
}
.rinka-tk-sz-stats dt {
	color: #a08a94;
	font-weight: 600;
	flex-shrink: 0;
}
.rinka-tk-sz-stats dd {
	margin: 0;
	color: #574650;
	text-align: right;
	overflow-wrap: anywhere;
}
.rinka-tk-sz-tablewrap {
	overflow-x: auto;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
}
.rinka-tk-sz-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.82rem;
	min-width: 480px;
}
.rinka-tk-sz-table th,
.rinka-tk-sz-table td {
	padding: 8px 10px;
	border-bottom: 1px solid #f9e4ee;
	text-align: left;
	vertical-align: top;
	color: #574650;
}
.rinka-tk-sz-table thead th {
	background: #fff5f9;
	color: #a08a94;
	font-size: 0.76rem;
	white-space: nowrap;
}
.rinka-tk-sz-table tbody tr:last-child td {
	border-bottom: none;
}
.rinka-tk-sz-table__sns {
	font-weight: 700;
	white-space: nowrap;
}
.rinka-tk-sz-table__note {
	color: #a08a94;
	font-size: 0.78rem;
	line-height: 1.6;
}
.rinka-tk-sz-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 700;
	white-space: nowrap;
}
.rinka-tk-sz-badge--good {
	background: #f2faf5;
	border: 1px solid #cfe8d8;
	color: #4a7a5c;
}
.rinka-tk-sz-badge--ok {
	background: #f3f8fc;
	border: 1px solid #cfe0ee;
	color: #4a6a8a;
}
.rinka-tk-sz-badge--warn {
	background: #fff9ef;
	border: 1px solid #f0dfc0;
	color: #8a6d3b;
}
.rinka-tk-sz-badge--bad {
	background: #fdf2f4;
	border: 1px solid #eecfd6;
	color: #a05a6a;
}
.rinka-tk-sz-updated,
.rinka-tk-sz-legend {
	margin-top: 12px;
	font-size: 0.78rem;
	color: #a08a94;
	line-height: 1.7;
}

/* ============================================================
   S3: SNS画像プレビュー（rinka-tk-pv-*）
   ============================================================ */

/* --- 画像リスト（左パネル） --- */
.rinka-tk-pv-list {
	list-style: none;
	margin: 12px 0 16px;
	padding: 0;
	display: grid;
	gap: 6px;
}
.rinka-tk-pv-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 8px;
	background: #fff;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	cursor: pointer;
}
.rinka-tk-pv-item.is-selected {
	border-color: #d8639a;
	box-shadow: 0 0 0 2px rgba(216, 99, 154, 0.15);
}
.rinka-tk-pv-item__thumb {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #f3cfdf;
	background: #fff5f9;
	flex-shrink: 0;
}
.rinka-tk-pv-item__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.rinka-tk-pv-item__name {
	font-size: 0.8rem;
	font-weight: 700;
	color: #574650;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rinka-tk-pv-item__meta {
	font-size: 0.72rem;
	color: #a08a94;
}
.rinka-tk-pv-item__ctrl {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
}
.rinka-tk-pv-item__btn {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid #f3cfdf;
	border-radius: 8px;
	background: #fff5f9;
	color: #574650;
	font-size: 0.8rem;
	cursor: pointer;
	line-height: 1;
}
.rinka-tk-pv-item__btn:hover:not(:disabled) {
	background: #f7a8c8;
	color: #fff;
	border-color: #f7a8c8;
}
.rinka-tk-pv-item__btn:disabled {
	opacity: 0.35;
	cursor: default;
}
.rinka-tk-pv-item__btn--del:hover:not(:disabled) {
	background: #d8639a;
	border-color: #d8639a;
}

/* --- タブ・コントロール --- */
.rinka-tk-pv-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}
.rinka-tk-pv-tab {
	padding: 6px 14px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: #574650;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
}
.rinka-tk-pv-tab:hover {
	background: #fff5f9;
}
.rinka-tk-pv-tab.is-active {
	background: #d8639a;
	border-color: #d8639a;
	color: #fff;
}
.rinka-tk-pv-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px 16px;
	margin-bottom: 14px;
}
.rinka-tk-pv-toggles {
	flex-wrap: wrap;
}
.rinka-tk-pv-toggles .is-active {
	background: #fff5f9;
	border-color: #d8639a;
	color: #d8639a;
}

/* --- ステージ --- */
.rinka-tk-pv-stagewrap {
	position: relative;
	background: #fbfbfd;
	border: 1px solid #f3cfdf;
	border-radius: 14px;
	padding: 34px 14px 18px;
	transition: background 0.2s;
}
.rinka-tk-pv-stagewrap.is-dark {
	background: #1d1d24;
	border-color: #3a3a46;
}
.rinka-tk-pv-simlabel {
	position: absolute;
	top: 8px;
	left: 12px;
	font-size: 0.7rem;
	font-weight: 700;
	color: #a08a94;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	padding: 2px 10px;
	pointer-events: none;
	z-index: 3;
}
.rinka-tk-pv-stagewrap.is-dark .rinka-tk-pv-simlabel {
	background: rgba(29, 29, 36, 0.85);
	border-color: #3a3a46;
	color: #b9aab2;
}
.rinka-tk-pv-stage {
	max-width: 375px;
	margin: 0 auto;
}
.rinka-tk-pv-stagewrap.is-pc .rinka-tk-pv-stage {
	max-width: 600px;
}
.rinka-tk-pv-frame {
	display: grid;
	gap: 8px;
}
.rinka-tk-pv-caption {
	margin: 0;
	font-size: 0.76rem;
	color: #a08a94;
	line-height: 1.6;
}
.rinka-tk-pv-stagewrap.is-dark .rinka-tk-pv-caption {
	color: #8f8f9c;
}
.rinka-tk-pv-updated {
	margin: 10px 0 0;
	font-size: 0.76rem;
	color: #a08a94;
	line-height: 1.7;
}

/* --- タイル --- */
.rinka-tk-pv-tile {
	position: relative;
	overflow: hidden;
	background: #ececf2;
	border-radius: 12px;
	width: 100%;
}
.rinka-tk-pv-stagewrap.is-dark .rinka-tk-pv-tile {
	background: #2a2a33;
}
.rinka-tk-pv-tile.is-selected {
	outline: 2px solid #d8639a;
	outline-offset: 2px;
}
.rinka-tk-pv-tile__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	touch-action: none;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	-webkit-user-drag: none;
}
.rinka-tk-pv-tile__img:active {
	cursor: grabbing;
}
.rinka-tk-pv-tile.is-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	border: 1px dashed #d9c3ce;
}
.rinka-tk-pv-tile__empty {
	font-size: 0.76rem;
	color: #a08a94;
	padding: 8px;
	text-align: center;
}
.rinka-tk-pv-tile--single {
	max-height: 70vh;
}

/* --- X 複数枚グリッド --- */
.rinka-tk-pv-multi {
	display: grid;
	gap: 3px;
	border-radius: 14px;
	overflow: hidden;
	width: 100%;
}
.rinka-tk-pv-multi .rinka-tk-pv-tile {
	border-radius: 0;
	height: 100%;
	min-height: 0;
}
.rinka-tk-pv-multi--two {
	grid-template-columns: 1fr 1fr;
}
.rinka-tk-pv-multi--three {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
}
.rinka-tk-pv-multi--three .rinka-tk-pv-tile:first-child {
	grid-row: span 2;
}
.rinka-tk-pv-multi--four {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
}

/* --- 正方形グリッド（プロフィール） --- */
.rinka-tk-pv-gridsq {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3px;
}
.rinka-tk-pv-gridsq .rinka-tk-pv-tile {
	border-radius: 0;
	min-height: 0;
}

/* --- カルーセル --- */
.rinka-tk-pv-strip {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 6px;
	scroll-snap-type: x mandatory;
}
.rinka-tk-pv-strip .rinka-tk-pv-tile {
	flex: 0 0 78%;
	scroll-snap-align: start;
}

/* --- SNS横断比較 --- */
.rinka-tk-pv-compare {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 14px;
	align-items: start;
}
.rinka-tk-pv-compare__cell {
	min-width: 0;
}
.rinka-tk-pv-compare__label {
	margin: 0 0 6px;
	font-size: 0.74rem;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-pv-stagewrap.is-dark .rinka-tk-pv-compare__label {
	color: #d8cdd3;
}

/* --- ガイド線・セーフエリア --- */
.rinka-tk-pv-guide {
	position: absolute;
	inset: 8%;
	border: 1px dashed rgba(216, 99, 154, 0.8);
	border-radius: 4px;
	pointer-events: none;
	z-index: 2;
}
.rinka-tk-pv-band {
	position: absolute;
	left: 0;
	right: 0;
	height: 13%;
	background: rgba(87, 70, 80, 0.35);
	color: #fff;
	font-size: 0.62rem;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 2;
}
.rinka-tk-pv-band--top {
	top: 0;
}
.rinka-tk-pv-band--bottom {
	bottom: 0;
}

/* --- クロップ調整パネル --- */
.rinka-tk-pv-crop {
	margin-top: 14px;
	padding: 12px 14px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
}
.rinka-tk-pv-crop__title {
	margin: 0 0 4px;
	font-size: 0.88rem;
	color: #574650;
}
.rinka-tk-pv-crop__hint {
	margin: 0 0 10px;
	font-size: 0.78rem;
	color: #a08a94;
	line-height: 1.6;
}

/* ============================================================
 * S5: SNS投稿チェッカー（toolkit-sns-postcheck）
 * ========================================================== */

/* プラットフォーム選択ボタン */
.rinka-tk-pc-platforms {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}
.rinka-tk-pc-plat {
	padding: 8px 16px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: #574650;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s ease;
}
.rinka-tk-pc-plat:hover {
	border-color: #f7a8c8;
	background: #fff5f9;
}
.rinka-tk-pc-plat.is-active {
	background: #d8639a;
	border-color: #d8639a;
	color: #fff;
}

/* オプション行（目的・言語・CTA） */
.rinka-tk-pc-optrow {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
	margin-top: 12px;
}

/* コンパクトなドロップゾーン */
.rinka-tk-drop--compact {
	padding: 18px 14px;
	min-height: 0;
}

/* 追加画像リスト */
.rinka-tk-pc-imglist {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.rinka-tk-pc-imgitem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 12px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	font-size: 0.82rem;
	color: #574650;
	word-break: break-all;
}
.rinka-tk-pc-imgdel {
	flex: none;
	width: 26px;
	height: 26px;
	border: 1px solid #f3cfdf;
	border-radius: 50%;
	background: #fff;
	color: #a08a94;
	font-size: 0.75rem;
	line-height: 1;
	cursor: pointer;
}
.rinka-tk-pc-imgdel:hover {
	color: #d8639a;
	border-color: #f7a8c8;
}

/* 結果側 プレースホルダ */
.rinka-tk-pc-empty {
	color: #a08a94;
	font-size: 0.9rem;
	text-align: center;
	padding: 34px 12px;
}

/* 結果カテゴリカード */
.rinka-tk-pc-cat {
	background: #fff;
	border: 1px solid #f3cfdf;
	border-left-width: 4px;
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 12px;
}
.rinka-tk-pc-cat.is-ok   { border-left-color: #7fc8a0; }
.rinka-tk-pc-cat.is-info { border-left-color: #8fb8e8; }
.rinka-tk-pc-cat.is-warn { border-left-color: #f0b45c; }
.rinka-tk-pc-cat.is-spec { border-left-color: #e88faf; }
.rinka-tk-pc-cat__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}
.rinka-tk-pc-cat__title {
	margin: 0;
	font-size: 0.98rem;
	color: #574650;
}

/* ステータスチップ（点数の代わりのラベル表示） */
.rinka-tk-pc-chip {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	white-space: nowrap;
}
.rinka-tk-pc-chip.is-ok   { background: #e8f6ee; color: #2e7d54; }
.rinka-tk-pc-chip.is-info { background: #eaf2fb; color: #3568a8; }
.rinka-tk-pc-chip.is-warn { background: #fdf3e2; color: #a56a1a; }
.rinka-tk-pc-chip.is-spec { background: #fdeaf2; color: #b04a76; }

/* 結果アイテム */
.rinka-tk-pc-cat__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.rinka-tk-pc-item {
	position: relative;
	padding-left: 22px;
	font-size: 0.85rem;
	line-height: 1.6;
	color: #574650;
}
.rinka-tk-pc-item::before {
	position: absolute;
	left: 0;
	top: 0;
}
.rinka-tk-pc-item.is-ok::before   { content: "✅"; font-size: 0.75rem; }
.rinka-tk-pc-item.is-info::before { content: "💡"; font-size: 0.75rem; }
.rinka-tk-pc-item.is-warn::before { content: "✏️"; font-size: 0.75rem; }
.rinka-tk-pc-item.is-spec::before { content: "📋"; font-size: 0.75rem; }

.rinka-tk-pc-note {
	margin: 12px 0 0;
	font-size: 0.78rem;
	color: #a08a94;
	line-height: 1.6;
}

/* ワンクリック修正 */
.rinka-tk-pc-fixwrap {
	margin-top: 16px;
	padding: 14px 16px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
}
.rinka-tk-pc-fixtitle {
	margin: 0 0 10px;
	font-size: 0.9rem;
	font-weight: 700;
	color: #574650;
}
.rinka-tk-pc-fixrow {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rinka-tk-pc-fixrow .rinka-tk-btn {
	font-size: 0.8rem;
	padding: 7px 12px;
}

/* 連携ボタン群 */
.rinka-tk-pc-handoff {
	margin-top: 16px;
}
.rinka-tk-pc-handoff .rinka-tk-btnrow {
	flex-wrap: wrap;
}

/* 入力例 */
.rinka-tk-pc-examples {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 10px;
}
.rinka-tk-pc-examples li {
	background: #fff;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 0.85rem;
	line-height: 1.7;
	color: #574650;
}

/* ============================================================
 * S5: ガイド記事共通（.rinka-tk-guide）
 * ========================================================== */
.rinka-tk-guide {
	max-width: 760px;
	margin: 0 auto;
}
.rinka-tk-guide__note {
	margin: 0 0 22px;
	padding: 12px 16px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	font-size: 0.85rem;
	line-height: 1.7;
	color: #574650;
}
.rinka-tk-guide__sec {
	margin-bottom: 34px;
}
.rinka-tk-guide__sec h2 {
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid #f7a8c8;
	font-size: 1.18rem;
	color: #574650;
}
.rinka-tk-guide__sec h3 {
	margin: 22px 0 8px;
	padding-left: 10px;
	border-left: 4px solid #f7a8c8;
	font-size: 1rem;
	color: #574650;
}
.rinka-tk-guide__sec p {
	margin: 0 0 12px;
	font-size: 0.92rem;
	line-height: 1.9;
	color: #574650;
}
.rinka-tk-guide__sec code {
	padding: 2px 7px;
	background: #fff5f9;
	border: 1px solid #f3cfdf;
	border-radius: 6px;
	font-size: 0.85em;
	color: #b04a76;
	word-break: break-all;
}
.rinka-tk-guide__sec a {
	color: #d8639a;
	text-decoration: underline;
}
.rinka-tk-guide__list {
	margin: 0 0 12px;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 0.9rem;
	line-height: 1.8;
	color: #574650;
}
.rinka-tk-guide__list--num li {
	padding-left: 4px;
}
.rinka-tk-guide__checked {
	margin: 0 0 10px;
	font-size: 0.78rem;
	color: #a08a94;
}

/* テーブル（横スクロール対応） */
.rinka-tk-guide__tablewrap {
	overflow-x: auto;
	margin-bottom: 12px;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
}
.rinka-tk-guide__table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: 0.85rem;
	background: #fff;
}
.rinka-tk-guide__table th {
	background: #fff5f9;
	color: #574650;
	font-weight: 700;
	text-align: left;
	padding: 10px 12px;
	border-bottom: 2px solid #f3cfdf;
	white-space: nowrap;
}
.rinka-tk-guide__table td {
	padding: 10px 12px;
	border-bottom: 1px solid #f9e3ec;
	color: #574650;
	line-height: 1.7;
	vertical-align: top;
}
.rinka-tk-guide__table tbody tr:last-child td {
	border-bottom: none;
}

@media (max-width: 640px) {
	.rinka-tk-pc-optrow {
		grid-template-columns: 1fr;
	}
	.rinka-tk-guide__sec h2 {
		font-size: 1.08rem;
	}
}

/* ============================================================
 * S4: ALTテキスト作成（rinka-tk-alt-*）＋ ハッシュタグ整理（rinka-tk-ht-*）
 * ========================================================== */

/* ---------- ALTテキスト作成 ---------- */
.rinka-tk-alt-tpl {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}
.rinka-tk-alt-tpl__btn {
	padding: 7px 14px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff5f9;
	color: #574650;
	font-size: 0.85rem;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}
.rinka-tk-alt-tpl__btn:hover {
	background: #ffe9f2;
	border-color: #f7a8c8;
}
.rinka-tk-alt-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 14px;
}
@media (max-width: 640px) {
	.rinka-tk-alt-grid {
		grid-template-columns: 1fr;
	}
}
.rinka-tk-alt-hint {
	font-size: 0.8rem;
	color: #a08a94;
	margin: 6px 0 0;
}
.rinka-tk-alt-multi {
	margin-top: 14px;
	padding: 12px 14px;
	border: 1px dashed #f3cfdf;
	border-radius: 12px;
	background: #fff5f9;
}
.rinka-tk-alt-multi__title {
	font-size: 0.95rem;
	color: #d8639a;
	margin: 14px 0 8px;
}
.rinka-tk-alt-limits {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}
.rinka-tk-alt-limit {
	padding: 4px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	color: #8aa79a;
	font-size: 0.78rem;
}
.rinka-tk-alt-limit.is-over {
	border-color: #e6a23c;
	color: #b8860b;
	background: #fdf6ec;
}
.rinka-tk-alt-limit--note {
	border-style: dashed;
	color: #a08a94;
}
.rinka-tk-alt-variant {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	padding: 12px 14px;
	margin-bottom: 10px;
}
.rinka-tk-alt-variant__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 6px;
}
.rinka-tk-alt-variant__label {
	font-weight: 700;
	font-size: 0.88rem;
	color: #d8639a;
}
.rinka-tk-alt-variant__count {
	font-size: 0.78rem;
	color: #a08a94;
}
.rinka-tk-alt-variant__text {
	margin: 0 0 8px;
	padding: 8px 10px;
	border-radius: 10px;
	background: #fff5f9;
	color: #574650;
	font-size: 0.9rem;
	line-height: 1.7;
	word-break: break-word;
}
.rinka-tk-alt-variant__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rinka-tk-alt-history {
	margin-top: 10px;
}
.rinka-tk-alt-history__title {
	font-size: 0.95rem;
	color: #d8639a;
	margin: 14px 0 8px;
}
.rinka-tk-alt-history__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 10px;
	background: #fff;
	margin-bottom: 6px;
}
.rinka-tk-alt-history__text {
	margin: 0;
	font-size: 0.82rem;
	color: #574650;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.rinka-tk-alt-history__btns {
	display: flex;
	gap: 6px;
	flex-shrink: 0;
}
.rinka-tk-alt-guide {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 12px;
}
.rinka-tk-alt-guide > div {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	padding: 14px 16px;
}
.rinka-tk-alt-guide h3 {
	font-size: 0.92rem;
	color: #d8639a;
	margin: 0 0 6px;
}
.rinka-tk-alt-guide p {
	font-size: 0.85rem;
	color: #574650;
	line-height: 1.7;
	margin: 0;
}
.rinka-tk-alt-example {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	padding: 14px 16px;
	margin-bottom: 12px;
}
.rinka-tk-alt-example h3 {
	font-size: 0.95rem;
	color: #d8639a;
	margin: 0 0 6px;
}
.rinka-tk-alt-example p {
	font-size: 0.88rem;
	color: #574650;
	line-height: 1.75;
	margin: 0;
}
.rinka-tk-alt-notes ul {
	margin: 0;
	padding-left: 1.3em;
}
.rinka-tk-alt-notes li {
	font-size: 0.88rem;
	color: #574650;
	line-height: 1.8;
}

/* ---------- ハッシュタグ整理 ---------- */
.rinka-tk-ht-hint {
	font-size: 0.8rem;
	color: #a08a94;
	margin: 6px 0 0;
}
.rinka-tk-ht-subtitle {
	font-size: 0.95rem;
	color: #d8639a;
	margin: 14px 0 8px;
}
.rinka-tk-ht-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}
.rinka-tk-ht-stat {
	padding: 4px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff5f9;
	color: #574650;
	font-size: 0.78rem;
}
.rinka-tk-ht-stat--fix {
	background: #eef7f1;
	border-color: #cfe8d8;
	color: #4d8a68;
}
.rinka-tk-ht-stat--sns {
	background: #fff;
	color: #8aa79a;
}
.rinka-tk-ht-stat--sns.is-over {
	border-color: #e6a23c;
	background: #fdf6ec;
	color: #b8860b;
}
.rinka-tk-ht-warnings {
	margin-bottom: 8px;
}
.rinka-tk-ht-warning {
	margin: 0 0 4px;
	padding: 6px 10px;
	border: 1px solid #f5dcb8;
	border-radius: 10px;
	background: #fdf6ec;
	color: #8a6d2a;
	font-size: 0.8rem;
	line-height: 1.6;
}
.rinka-tk-ht-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}
.rinka-tk-ht-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 8px 5px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff;
	font-size: 0.84rem;
	color: #574650;
}
.rinka-tk-ht-chip__lang {
	font-size: 0.66rem;
	font-weight: 700;
	color: #a08a94;
	border: 1px solid #f3cfdf;
	border-radius: 6px;
	padding: 1px 4px;
	background: #fff5f9;
}
.rinka-tk-ht-chip__tag {
	word-break: break-all;
}
.rinka-tk-ht-chip__group {
	border: 1px solid #f3cfdf;
	border-radius: 8px;
	background: #fff5f9;
	color: #a08a94;
	font-size: 0.72rem;
	padding: 2px 4px;
	max-width: 110px;
}
.rinka-tk-ht-chip__btn {
	border: none;
	background: none;
	color: #d8639a;
	font-size: 0.9rem;
	cursor: pointer;
	padding: 0 2px;
	line-height: 1;
}
.rinka-tk-ht-chip__btn:hover {
	color: #b8437a;
}
.rinka-tk-ht-groups {
	margin-top: 4px;
}
.rinka-tk-ht-group {
	display: flex;
	gap: 10px;
	align-items: baseline;
	padding: 6px 0;
	border-top: 1px dashed #f3cfdf;
	font-size: 0.84rem;
}
.rinka-tk-ht-group__name {
	flex-shrink: 0;
	min-width: 6em;
	font-weight: 700;
	color: #d8639a;
}
.rinka-tk-ht-group__tags {
	color: #574650;
	word-break: break-all;
}
.rinka-tk-ht-handoff {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed #f3cfdf;
}
.rinka-tk-ht-favs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.rinka-tk-ht-favbtn {
	padding: 4px 10px;
	border: 1px solid #f3cfdf;
	border-radius: 999px;
	background: #fff5f9;
	color: #574650;
	font-size: 0.8rem;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}
.rinka-tk-ht-favbtn:hover {
	background: #ffe9f2;
	border-color: #f7a8c8;
}
.rinka-tk-ht-sets {
	margin: 12px 0;
}
.rinka-tk-ht-set {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 10px 12px;
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	margin-bottom: 8px;
}
.rinka-tk-ht-set__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.rinka-tk-ht-set__name {
	font-weight: 700;
	font-size: 0.88rem;
	color: #574650;
}
.rinka-tk-ht-set__preview {
	font-size: 0.76rem;
	color: #a08a94;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 340px;
}
.rinka-tk-ht-set__btns {
	display: flex;
	gap: 6px;
	flex-shrink: 0;
}
.rinka-tk-ht-importlabel {
	cursor: pointer;
}
.rinka-tk-ht-guidance {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 12px;
	margin-bottom: 10px;
}
.rinka-tk-ht-guidance__item {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	padding: 14px 16px;
}
.rinka-tk-ht-guidance__item h3 {
	font-size: 0.92rem;
	color: #d8639a;
	margin: 0 0 6px;
}
.rinka-tk-ht-guidance__item p {
	font-size: 0.85rem;
	color: #574650;
	line-height: 1.7;
	margin: 0;
}
.rinka-tk-ht-examples .rinka-tk-ht-example {
	border: 1px solid #f3cfdf;
	border-radius: 12px;
	background: #fff;
	padding: 14px 16px;
	margin-bottom: 12px;
}
.rinka-tk-ht-example h3 {
	font-size: 0.95rem;
	color: #d8639a;
	margin: 0 0 6px;
}
.rinka-tk-ht-example p {
	font-size: 0.88rem;
	color: #574650;
	line-height: 1.75;
	margin: 0;
}
.rinka-tk-ht-notes ul {
	margin: 0;
	padding-left: 1.3em;
}
.rinka-tk-ht-notes li {
	font-size: 0.88rem;
	color: #574650;
	line-height: 1.8;
}

/* ============================================================
   ㉒ RDS ブランド統一オーバーライド（2026-07-17・追記のみ）
   旧ミントグリーン系の作業面配色（#4aa989 / #67c6a1 / #8aa79a 系）を
   RDS プラム/ローズトークンへ寄せる。既存ルール・セレクタ・IDは一切
   変更せず、後方カスケードのみで上書き（削除・改変なし）。
   メーター/ヒント等の Success 意味色は --rds-ok 系の緑を維持する。
   ============================================================ */

/* --- テキスト階層（旧グリーングレー → プラムグレー） --- */
.rinka-tk-tool,
.rinka-tk-others__card,
.rinka-tk-meter__head,
.rinka-tk-swatch__hex { color: var(--rds-ink, #3b2b34); }
.rinka-tk-tool__desc,
.rinka-tk-others__desc,
.rinka-tk-preview__meta { color: var(--rds-ink-soft, #6d5a64); }
.rinka-tk-panel__title,
.rinka-tk-crop__name,
.rinka-tk-select,
.rinka-tk-input { color: var(--rds-ink, #3b2b34); }
.rinka-tk-field label,
.rinka-tk-croptab { color: var(--rds-ink-soft, #6d5a64); }
.rinka-tk-drop__sub,
.rinka-tk-meter__note,
.rinka-tk-crop__ratio,
.rinka-tk-privacy,
.rinka-tk-mditem__key,
.rinka-tk-mdblock__label,
.rinka-tk-mdnone,
.rinka-tk-cpnote,
.rinka-tk-cpprogress__text,
.rinka-tk-cprow__dim,
.rinka-tk-rn-note,
.rinka-tk-rn-row__old,
.rinka-tk-hm-scheme h3 small,
.rinka-tk-alt-limit,
.rinka-tk-ht-stat--sns { color: var(--rds-ink-faint, #9b8a93); }

/* --- 面・ヘアライン（旧ミント面 → 白＋プラムヘアライン） --- */
.rinka-tk-about__col,
.rinka-tk-crop {
  background: var(--rds-surface, #fff);
  border-color: var(--rds-line, #eadfe6);
}
.rinka-tk-about__col p { color: var(--rds-ink-soft, #6d5a64); }
.rinka-tk-panel { border-color: var(--rds-line, #eadfe6); }
.rinka-tk-goal { border-color: var(--rds-line, #eadfe6); }
.rinka-tk-goal:hover {
  border-color: var(--rds-accent, #c2568c);
  box-shadow: 0 4px 14px rgba(194, 86, 140, .16);
}

/* --- ドロップゾーン（主要着地点はブランドアクセントで示す） --- */
.rinka-tk-drop {
  border-color: var(--rds-accent-line, #ecc7da);
  background: var(--rds-accent-soft, #f9eef4);
}
.rinka-tk-drop:hover,
.rinka-tk-drop.is-dragover {
  border-color: var(--rds-accent, #c2568c);
  background: var(--rds-accent-soft-2, #f3dcea);
}

/* --- ボタン（Primary役 = ブランドグラデーションに統一） --- */
.rinka-tk-btn {
  background: linear-gradient(135deg, var(--rds-accent, #c2568c), var(--rds-accent-strong, #a63d74));
  box-shadow: 0 3px 10px rgba(194, 86, 140, .28);
}
.rinka-tk-btn:hover { box-shadow: 0 6px 14px rgba(194, 86, 140, .34); }
.rinka-tk-btn--ghost {
  background: var(--rds-surface, #fff);
  color: var(--rds-accent-strong, #a63d74);
  box-shadow: none;
}

/* --- 入力系フォーカス --- */
.rinka-tk-textarea { background: var(--rds-surface, #fff); }
.rinka-tk-textarea:focus { border-color: var(--rds-accent, #c2568c); }

/* --- 数値・選択タブ（アクティブはアクセント） --- */
.rinka-tk-meter__val { color: var(--rds-accent-strong, #a63d74); }
.rinka-tk-croptab.is-active {
  background: var(--rds-accent, #c2568c);
  border-color: var(--rds-accent, #c2568c);
}

/* --- 旧ワークフロー（LEGACY・未使用だが表示互換のため色だけ整合） --- */
.rinka-tk-flow__step { border-color: var(--rds-line, #eadfe6); }
.rinka-tk-flow__step::before { color: var(--rds-accent, #c2568c); }
.rinka-tk-flow__step > a:hover { background: var(--rds-accent-soft, #f9eef4); }

/* --- 更新日表記（rinka_toolkit_page_head が出力） --- */
.rinka-tk-updated { margin-top: 6px; }

/* SEOオーダー item7（2026-07-22・追加のみ）: 『今日のツールTip』日替わり1行（page_head直下） */
.rinka-tk-tip {
	margin: 8px auto 0;
	max-width: 720px;
	padding: 8px 14px;
	border-radius: 12px;
	background: #fff6fa;
	border: 1px dashed rgba(239, 143, 184, .5);
	font-size: 12.5px;
	line-height: 1.6;
	color: #7a5568;
	text-align: left;
}
.rinka-tk-tip__label {
	font-weight: 800;
	color: #c9578c;
}

/* --- ㉒-2 Round 2 残色掃き（2026-07-17・追記のみ） --- */
/* パネル影：緑ティント → 墨プラムの淡影 */
.rinka-tk-panel { box-shadow: 0 4px 14px rgba(59, 43, 52, .06); }
/* 他ツールカードのホバー枠：ミント → プラムヘアライン */
.rinka-tk-others__card:hover { border-color: var(--rds-accent-line, #ecc7da); }
/* ゴーストボタンの枠線（背景/文字は㉒で調整済） */
.rinka-tk-btn--ghost { border-color: var(--rds-accent-line, #ecc7da); }
/* 入力系の基本枠線：緑グレー → ニュートラルヘアライン */
.rinka-tk-textarea,
.rinka-tk-select,
.rinka-tk-input { border-color: var(--rds-line, #eadfe6); }
/* 体重計算「標準」チップ：情報系につきブランドソフト面へ */
.rinka-tk-wtrow__label--std {
  background: var(--rds-accent-soft, #f9eef4);
  color: var(--rds-accent-strong, #a63d74);
}
/* ドロップゾーン内テキスト：緑インク → ソフト墨 */
.rinka-tk-drop { color: var(--rds-ink-soft, #6d5a64); }

/* ============================================================
   優先アクション（2026-07-22・追記のみ）:
   作例Before/After / デモ動画 / BOOTH一言リンク / 目的別比較表
   ============================================================ */

/* --- 作例（Before / After） --- */
.rinka-tk-example__note {
	font-size: 12.5px;
	color: var(--rds-ink-faint, #9b8a93);
	margin: 4px 0 10px;
}
.rinka-tk-example__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
}
.rinka-tk-example__fig {
	margin: 0;
	border: 1px solid var(--rds-line, #eadfe6);
	border-radius: 14px;
	background: var(--rds-surface, #fff);
	padding: 10px;
	text-align: center;
}
.rinka-tk-example__fig img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
	margin: 0 auto;
}
.rinka-tk-example__fig figcaption {
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--rds-accent-strong, #a63d74);
}

/* --- 操作デモ動画 --- */
.rinka-tk-demo__video {
	display: block;
	width: 100%;
	max-width: 720px;
	margin: 8px auto 0;
	border-radius: 14px;
	border: 1px solid var(--rds-line, #eadfe6);
	background: #000;
}

/* --- BOOTH一言リンク（本文読み終わり直後・1ページ1箇所） --- */
.rinka-tk-softpromo {
	margin: 18px auto 0;
	max-width: 720px;
	padding: 10px 14px;
	border-radius: 12px;
	background: #fff6fa;
	border: 1px dashed rgba(239, 143, 184, .5);
	font-size: 13px;
	line-height: 1.6;
	text-align: left;
}
.rinka-tk-softpromo a {
	color: #c9578c;
	font-weight: 700;
	text-decoration: none;
}
.rinka-tk-softpromo a:hover { text-decoration: underline; }

/* --- 目的別比較表（トップ・横スクロール対応） --- */
.rinka-tk-compare__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-top: 8px;
}
.rinka-tk-compare__table {
	width: 100%;
	min-width: 560px;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--rds-surface, #fff);
	border: 1px solid var(--rds-line, #eadfe6);
	border-radius: 14px;
	overflow: hidden;
	font-size: 13px;
}
.rinka-tk-compare__table th,
.rinka-tk-compare__table td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid var(--rds-line, #eadfe6);
	color: var(--rds-ink-soft, #6d5a64);
	line-height: 1.5;
}
.rinka-tk-compare__table thead th {
	background: var(--rds-accent-soft, #f9eef4);
	color: var(--rds-accent-strong, #a63d74);
	font-weight: 800;
	font-size: 12.5px;
}
.rinka-tk-compare__table tbody tr:last-child th,
.rinka-tk-compare__table tbody tr:last-child td { border-bottom: none; }
.rinka-tk-compare__table tbody tr:hover { background: #fff8fb; }
.rinka-tk-compare__table td a {
	color: #c9578c;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.rinka-tk-compare__table td a:hover { text-decoration: underline; }
