/**
 * rinka-home.css — りんかワールド ホーム画面化・下部ナビ・回遊導線（追加のみ）
 *
 * 色の役割（指示書準拠・原色/ソシャゲ発光は使わない）:
 *   ピンク  = りんか・なかよし系   青 = 遠征・情報   緑 = ペット・完了
 *   紫    = ストーリー・シークレット  オレンジ = 受取可能な報酬  赤 = エラーのみ
 * デザイントークンは main.css の --rinka-* を共用（無い環境用のフォールバック付き）。
 */

/* ============ 1. スマホ固定下部ナビ ============ */

.rinka-bottom-nav {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9990;
	display: none; /* JSが body.rinka-has-bottom-nav を付けたモバイルでのみ表示 */
	background: color-mix(in srgb, var(--rinka-surface, #fffdfd) 92%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-top: 1px solid var(--rinka-border, #f3dce6);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	box-shadow: 0 -4px 18px rgba(214, 143, 177, 0.12);
}
@supports not (background: color-mix(in srgb, #fff 92%, transparent)) {
	.rinka-bottom-nav { background: rgba(255, 253, 253, 0.94); }
}
body.rinka-has-bottom-nav .rinka-bottom-nav { display: flex; }
@media (min-width: 783px) {
	body.rinka-has-bottom-nav .rinka-bottom-nav { display: none; }
}

.rinka-bottom-nav__item {
	position: relative;
	flex: 1 1 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 2px;
	min-height: 52px; /* 44px以上のタップ領域 */
	padding: 6px 2px 5px;
	text-decoration: none;
	color: var(--rinka-ink-soft, #8a7580);
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 1;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.15s ease;
}
.rinka-bottom-nav__item:focus-visible {
	outline: 2px solid var(--rinka-accent, #f5b5cd);
	outline-offset: -2px;
	border-radius: 10px;
}
.rinka-bottom-nav__ico { font-size: 1.28rem; line-height: 1; }
.rinka-bottom-nav__label { letter-spacing: 0.02em; }
.rinka-bottom-nav__item.is-now {
	color: var(--rinka-accent-strong, #d16a97);
}
.rinka-bottom-nav__item.is-now::before {
	content: '';
	position: absolute;
	top: 4px; left: 50%;
	transform: translateX(-50%);
	width: 26px; height: 3px;
	border-radius: 3px;
	background: var(--rinka-accent, #f5b5cd);
}
.rinka-bottom-nav__badge {
	position: absolute;
	top: 5px; right: calc(50% - 17px);
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #f0a35e; /* オレンジ = 受取可能・お楽しみあり */
	border: 1.5px solid var(--rinka-surface, #fffdfd);
}

/* 二重固定ナビ防止: 下部ナビがあるときは Cocoon のモバイルボタンを隠し、本文に余白 */
@media (max-width: 782px) {
	body.rinka-has-bottom-nav { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
	body.rinka-has-bottom-nav .mobile-menu-buttons { display: none !important; }
}

/* ============ 2. メニューシート ============ */

.rinka-nav-sheet { position: fixed; inset: 0; z-index: 9995; }
.rinka-nav-sheet__backdrop {
	position: absolute; inset: 0;
	background: rgba(70, 45, 60, 0.35);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.rinka-nav-sheet__panel {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	max-height: 76vh;
	overflow-y: auto;
	background: var(--rinka-surface, #fffdfd);
	border-radius: 20px 20px 0 0;
	padding: 14px 16px calc(18px + env(safe-area-inset-bottom, 0px));
	transform: translateY(100%);
	transition: transform 0.22s ease;
	box-shadow: 0 -8px 30px rgba(120, 70, 95, 0.18);
}
.rinka-nav-sheet.is-open .rinka-nav-sheet__backdrop { opacity: 1; }
.rinka-nav-sheet.is-open .rinka-nav-sheet__panel { transform: translateY(0); }
.rinka-nav-sheet__head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 6px;
}
.rinka-nav-sheet__title { font-weight: 900; color: var(--rinka-ink, #4a3540); }
.rinka-nav-sheet__close {
	border: none;
	background: var(--rinka-surface-soft, #fdf1f6);
	color: var(--rinka-ink-soft, #8a7580);
	width: 44px; height: 44px;
	border-radius: 50%;
	font-size: 1rem;
	cursor: pointer;
}
.rinka-nav-sheet__group {
	margin: 12px 0 6px;
	font-size: 0.78rem;
	font-weight: 900;
	color: var(--rinka-ink-soft, #8a7580);
}
.rinka-nav-sheet__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}
.rinka-nav-sheet__item {
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	min-height: 60px;
	padding: 9px 2px 7px;
	background: var(--rinka-surface-soft, #fdf1f6);
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 14px;
	text-decoration: none;
	color: var(--rinka-ink, #4a3540);
	font-size: 0.66rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
}
.rinka-nav-sheet__item > span:first-child { font-size: 1.25rem; }
@media (max-width: 359px) {
	.rinka-nav-sheet__grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---- 2b. メニューシートの装飾（2026-07-31 追加・行き先拡充とデザイン強化） ----
 * 色の役割: pink=りんか / blue=遠征・情報 / green=そだてる /
 *           purple=ものがたり・コレクション / orange=受け取れるもの。
 * 原色・ソシャゲ的な発光は使わず、やわらかいトーンでまとめる。 */

.rinka-nav-sheet__panel { max-height: 84vh; padding-top: 8px; }
.rinka-nav-sheet__panel::before {
	/* パネル上部のほんのりピンクのかぶり（のっぺり感をなくす） */
	content: '';
	position: absolute; left: 0; right: 0; top: 0; height: 120px;
	background: linear-gradient(180deg, rgba(245, 181, 205, 0.16), rgba(245, 181, 205, 0));
	border-radius: 20px 20px 0 0;
	pointer-events: none;
}
.rinka-nav-sheet__panel > * { position: relative; }

.rinka-nav-sheet__handle {
	width: 44px; height: 5px;
	margin: 2px auto 8px;
	border-radius: 99px;
	background: var(--rinka-border, #f3dce6);
	cursor: pointer;
}
.rinka-nav-sheet__head {
	position: sticky; top: 0; z-index: 2;
	padding: 4px 0 6px;
	background: var(--rinka-surface, #fffdfd);
}
.rinka-nav-sheet__title { display: inline-flex; align-items: center; gap: 6px; font-size: 0.98rem; }

/* 大きめの入口（トップ／今日のガチャ） */
.rinka-nav-sheet__hero {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 2px 0 4px;
}
.rinka-nav-sheet__hero-item {
	display: flex; align-items: center; gap: 9px;
	min-height: 58px;
	padding: 10px 11px;
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 16px;
	background: linear-gradient(135deg, var(--rinka-surface-soft, #fdf1f6), var(--rinka-surface, #fffdfd));
	box-shadow: 0 2px 8px rgba(120, 70, 95, 0.06);
	text-decoration: none;
	color: var(--rinka-ink, #4a3540);
}
.rinka-nav-sheet__hero-ico {
	flex: none;
	width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 12px;
	background: var(--rinka-surface, #fffdfd);
	border: 1px solid var(--rinka-border, #f3dce6);
	font-size: 1.15rem;
}
.rinka-nav-sheet__hero-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rinka-nav-sheet__hero-title { font-size: 0.76rem; font-weight: 900; line-height: 1.25; }
.rinka-nav-sheet__hero-sub {
	font-size: 0.62rem; font-weight: 600; line-height: 1.25;
	color: var(--rinka-ink-soft, #8a7580);
}
@media (max-width: 359px) {
	.rinka-nav-sheet__hero { grid-template-columns: 1fr; }
}

/* 見出し：色の役割どおりの小さな印をつけて、かたまりを見分けやすくする */
.rinka-nav-sheet__group {
	display: flex; align-items: center; gap: 6px;
	margin: 14px 0 7px;
}
.rinka-nav-sheet__group::after {
	content: '';
	flex: 1 1 auto; height: 1px;
	background: linear-gradient(90deg, var(--t, #f5b5cd), rgba(0, 0, 0, 0));
	opacity: 0.6;
}

/* トーン（見出し・タイル・チップ共通） */
.rinka-nav-sheet [data-tone="pink"] { --t: #f5b5cd; --tb: #fdf1f6; }
.rinka-nav-sheet [data-tone="blue"] { --t: #a9c9ef; --tb: #eef4fc; }
.rinka-nav-sheet [data-tone="green"] { --t: #a6d6ba; --tb: #edf7f1; }
.rinka-nav-sheet [data-tone="purple"] { --t: #c8b3e6; --tb: #f3eefb; }
.rinka-nav-sheet [data-tone="orange"] { --t: #f0a35e; --tb: #fdf2e7; }

.rinka-nav-sheet__item {
	position: relative;
	justify-content: center;
	min-height: 66px;
	padding: 10px 3px 8px;
	background: var(--tb, #fdf1f6);
	border-color: var(--t, #f3dce6);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.rinka-nav-sheet__item > span:first-child {
	display: flex; align-items: center; justify-content: center;
	width: 30px; height: 30px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.72);
	font-size: 1.1rem;
	line-height: 1;
}
.rinka-nav-sheet__item:active { transform: scale(0.97); }
.rinka-nav-sheet__item.is-now {
	box-shadow: inset 0 0 0 2px var(--t, #f5b5cd);
	background: var(--rinka-surface, #fffdfd);
}
/* まだ遊んでいないところにだけ、そっと点をつける */
.rinka-nav-sheet__dot {
	position: absolute; top: 6px; right: 7px;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #f0a35e;
	box-shadow: 0 0 0 2px var(--rinka-surface, #fffdfd);
}
.rinka-nav-sheet__dot[hidden] { display: none; }

/* さがす・しらべる：タイルではなく横並びのチップにして単調さをなくす */
.rinka-nav-sheet__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.rinka-nav-sheet__chip {
	display: inline-flex; align-items: center; gap: 5px;
	min-height: 44px;
	padding: 8px 13px;
	border: 1px solid var(--t, #f3dce6);
	border-radius: 99px;
	background: var(--tb, #fdf1f6);
	color: var(--rinka-ink, #4a3540);
	font-size: 0.7rem; font-weight: 700;
	text-decoration: none;
}
.rinka-nav-sheet__chip.is-now { box-shadow: inset 0 0 0 2px var(--t, #a9c9ef); background: var(--rinka-surface, #fffdfd); }

.rinka-nav-sheet__foot {
	margin: 14px 0 2px;
	text-align: center;
	font-size: 0.62rem;
	color: var(--rinka-ink-soft, #8a7580);
}

/* ============ 3. 「つぎはこれであそぼ？」コンパクト回遊ブロック ============ */

.rinka-fs-next {
	margin: 26px 0 8px;
	padding: 16px 16px 12px;
	background: var(--rinka-surface-soft, #fdf1f6);
	border: 1px dashed var(--rinka-border, #f3dce6);
	border-radius: var(--rinka-radius, 16px);
}
.rinka-fs-next__title {
	margin: 0 0 10px;
	font-size: 1rem;
	font-weight: 900;
	color: var(--rinka-ink, #4a3540);
}
.rinka-fs-nav--next {
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	margin: 0;
}
.rinka-fs-nav--next .rinka-fs-nav__card { padding: 13px 8px 11px; }
.rinka-fs-nav--next .rinka-fs-nav__sub { display: none; } /* コンパクト版は説明を省略 */
.rinka-fs-next__all {
	margin: 10px 0 0;
	text-align: right;
	font-size: 0.85rem;
}
.rinka-fs-next__all a {
	color: var(--rinka-accent-strong, #d16a97);
	text-decoration: none;
	font-weight: 700;
}
.rinka-fs-next__all a:hover { text-decoration: underline; }
.rinka-fs-next__all--row {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 4px 8px;
}
.rinka-fs-next__sep {
	color: var(--rinka-accent-strong, #d16a97);
	opacity: 0.45;
	font-weight: 700;
}
@media (max-width: 480px) {
	.rinka-fs-nav--next { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.rinka-fs-nav--next .rinka-fs-nav__card { padding: 10px 4px 9px; }
	.rinka-fs-nav--next .rinka-fs-nav__title { font-size: 0.72rem; }
}
/* 眠っているコーナーへの日替わり回遊枠（2026-07-16）。「✨きょうのおすすめ」ピル付きで1枠だけ目立たせる */
.rinka-fs-nav__card--spot {
	border: 1.5px solid var(--rinka-accent-strong, #d16a97);
	background: linear-gradient(180deg, #fff 0%, var(--rinka-surface-soft, #fdf1f6) 100%);
	overflow: visible;
}
.rinka-fs-nav__spot {
	position: absolute;
	top: -9px;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	font-size: 0.62rem;
	font-weight: 900;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 999px;
	color: #fff;
	background: var(--rinka-accent-strong, #d16a97);
	box-shadow: 0 2px 6px rgba(209, 106, 151, 0.35);
}

/* りんかマニア：ゲームごとの解放スロット（2026-07-19・実カード/ミステリータイルを排他表示。display:contentsでgridの直接子扱いのまま維持） */
.rinka-mania-slot { display: contents; }
/* .rinka-fs-nav__card { display:flex } が同じ詳細度でHTML標準の[hidden]（UAスタイルのdisplay:none）に勝ってしまい、
   hidden属性を付けても実カードが消えず「解放済み/未解放タイルが両方出る」不具合の真因だった。明示的に上書きする。 */
.rinka-mania-slot__real[hidden],
.rinka-mania-slot__mystery[hidden] { display: none !important; }

/* りんかマニアのミステリータイル（未解放時の伏せ表示。2026-07-19・rinka-mania-gate.js が表示切替） */
.rinka-fs-nav__card--mystery {
	border: 1px dashed var(--rinka-border-strong, rgba(209, 106, 151, .35));
	background: var(--rinka-surface-soft, #fdf1f6);
	cursor: default;
}
.rinka-fs-nav__card--mystery .rinka-fs-nav__emoji,
.rinka-fs-nav__card--mystery .rinka-fs-nav__title,
.rinka-fs-nav__card--mystery .rinka-fs-nav__desc {
	opacity: .55;
}
.rinka-fs-nav__mysterynote {
	margin: 10px 2px 0;
	font-size: .78rem;
	color: var(--rinka-text-muted, #8a7a83);
	text-align: center;
}

/* ============ 4. ホーム: あいさつ ============ */

.rinka-home-greet {
	margin: 0 0 14px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #fdf1f6, #f4f6fd); /* ピンク→うす青の透明感 */
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: var(--rinka-radius, 16px);
}
.rinka-home-greet__main {
	margin: 0;
	font-weight: 800;
	color: var(--rinka-ink, #4a3540);
	line-height: 1.7;
}
.rinka-home-greet__back {
	margin: 6px 0 0;
	font-size: 0.88rem;
	color: var(--rinka-accent-strong, #d16a97); /* ピンク = りんか・なかよし */
	font-weight: 700;
}

/* ============ 5. ホーム: 今日やること ============ */

.rinka-home-tasks { margin: 10px 0 4px; }
.rinka-home-tasks__meter {
	margin: 0 0 8px;
	font-size: 0.9rem;
	color: var(--rinka-ink-soft, #8a7580);
}
.rinka-home-tasks__meter strong {
	color: #4f9e6b; /* 緑 = 完了 */
	font-size: 1.1rem;
}
.rinka-home-tasks__list {
	display: flex; flex-direction: column; gap: 8px;
}
.rinka-home-task {
	display: flex; align-items: center; gap: 10px;
	min-height: 48px;
	padding: 9px 14px;
	background: var(--rinka-surface, #fffdfd);
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 14px;
	text-decoration: none;
	color: var(--rinka-ink, #4a3540);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
a.rinka-home-task:hover {
	transform: translateY(-1px);
	box-shadow: var(--rinka-shadow, 0 4px 14px rgba(214, 143, 177, 0.14));
}
.rinka-home-task.is-done {
	background: #f2faf4; /* 緑 = 完了（やわらかく） */
	border-color: #d4ecdb;
	color: var(--rinka-ink-soft, #8a7580);
}
.rinka-home-task__state { font-size: 1rem; }
.rinka-home-task__emoji { font-size: 1.15rem; }
/* 日課アイコンのSVG化（2026-07-18 追記のみ・🐰は絵文字のまま） */
.rinka-home-task__emoji { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; }
.rinka-home-task__emoji .rds-icon { display: block; color: var(--rinka-accent-strong, #d16a97); }
.rinka-home-task.is-done .rinka-home-task__emoji .rds-icon { color: #4f9e6b; }
.rinka-home-task__title { flex: 1 1 auto; font-weight: 700; font-size: 0.92rem; }
.rinka-home-task__cta {
	font-size: 0.8rem;
	font-weight: 800;
	color: var(--rinka-accent-strong, #d16a97);
	white-space: nowrap;
}
.rinka-home-task.is-done .rinka-home-task__cta { color: #4f9e6b; }

/* ---- 達成演出のふきだし（りんかがひとことしゃべる・rinka-home.js が制御） ---- */
.rinka-home-fanfare {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 12px;
	padding: 10px 16px;
	background: linear-gradient(135deg, #fff4fa 0%, #fdeaf3 100%);
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 16px;
	box-shadow: 0 6px 18px rgba(214, 143, 177, 0.18);
	color: var(--rinka-ink, #4a3540);
	/* 既定は隠す。is-show で下からふわっと出す */
	opacity: 0;
	transform: translateY(6px) scale(0.98);
	max-height: 0;
	overflow: hidden;
	padding-top: 0; padding-bottom: 0;
	margin-bottom: 0;
	transition: opacity 0.28s ease, transform 0.28s ease,
		max-height 0.28s ease, padding 0.28s ease, margin 0.28s ease;
}
.rinka-home-fanfare.is-show {
	opacity: 1;
	transform: translateY(0) scale(1);
	max-height: 160px;
	padding-top: 10px; padding-bottom: 10px;
	margin-bottom: 12px;
}
.rinka-home-fanfare__face { font-size: 1.4rem; flex: 0 0 auto; }
.rinka-home-fanfare__text {
	flex: 1 1 auto;
	font-weight: 800;
	font-size: 0.98rem;
	line-height: 1.5;
}
.rinka-home-fanfare.is-grand {
	background: linear-gradient(135deg, #fff2c8 0%, #ffe1f0 55%, #e7dcff 100%);
	border-color: #f4d38a;
	box-shadow: 0 10px 28px rgba(224, 170, 120, 0.28);
}
.rinka-home-fanfare.is-grand .rinka-home-fanfare__text {
	font-size: 1.06rem;
}
.rinka-home-fanfare__voice-btn {
	flex: 0 0 auto;
	width: 32px; height: 32px;
	border: none; border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: 0 2px 8px rgba(214, 143, 177, 0.28);
	font-size: 1rem; line-height: 1;
	cursor: pointer;
	animation: rinka-home-voicebtn-pulse 1.4s ease-in-out infinite;
}
.rinka-home-fanfare__voice-btn:hover,
.rinka-home-fanfare__voice-btn:focus-visible { background: #fff; }
@keyframes rinka-home-voicebtn-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
	.rinka-home-fanfare__voice-btn { animation: none; }
	.rinka-home-fanfare { transition: opacity 0.2s ease; transform: none; }
	.rinka-home-fanfare.is-show { transform: none; }
}

/* ============ 6. ホーム: 続きから遊ぶ／新しく解放 ============ */

.rinka-home-resume {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px;
	margin: 12px 0 4px;
}
.rinka-home-resume__item {
	display: flex; align-items: center; gap: 10px;
	min-height: 56px;
	padding: 11px 14px;
	background: var(--rinka-surface, #fffdfd);
	border: 1px solid #dbe4f5; /* 青 = 続き・情報 */
	border-left: 4px solid #9db8e8;
	border-radius: 14px;
	text-decoration: none;
	color: var(--rinka-ink, #4a3540);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.rinka-home-resume__item:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(140, 165, 215, 0.18);
}
.rinka-home-resume__emoji { font-size: 1.4rem; }
.rinka-home-resume__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rinka-home-resume__text { font-weight: 700; font-size: 0.88rem; line-height: 1.5; }
.rinka-home-resume__cta { font-size: 0.78rem; font-weight: 800; color: #5f7fc0; }

.rinka-home-new {
	display: flex; flex-direction: column; gap: 8px;
	margin: 12px 0 4px;
}
.rinka-home-new__item {
	display: block;
	padding: 11px 14px;
	background: #f7f3fb; /* 紫 = 新解放・シークレット */
	border: 1px solid #e6dcf2;
	border-left: 4px solid #b79ad6;
	border-radius: 14px;
	text-decoration: none;
	color: var(--rinka-ink, #4a3540);
	font-weight: 700;
	font-size: 0.9rem;
	line-height: 1.6;
}
.rinka-home-new__item:hover { box-shadow: 0 4px 14px rgba(160, 130, 200, 0.16); }

/* ============ 7. ホーム: ヒーローのコンパクト化・応援まとめ ============ */

.rinka-fansite-page .rinka-hero,
.home .rinka-hero {
	padding-top: clamp(18px, 4vw, 30px);
	padding-bottom: clamp(16px, 3.5vw, 26px);
}
.rinka-hero__title { font-size: clamp(1.35rem, 4.6vw, 2rem); }

/* ============ 8. セーブお引っ越し ============ */

.rinka-save__card {
	margin: 20px 0;
	padding: 18px 18px 14px;
	background: var(--rinka-surface, #fffdfd);
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: var(--rinka-radius, 16px);
	box-shadow: var(--rinka-shadow, 0 4px 14px rgba(214, 143, 177, 0.1));
}
.rinka-save__title { margin: 0 0 8px; font-size: 1.05rem; color: var(--rinka-ink, #4a3540); }
.rinka-save__lead {
	margin: 0 0 12px;
	font-size: 0.88rem;
	line-height: 1.9;
	color: var(--rinka-ink-soft, #8a7580);
}
/* お引っ越しで引き継がれないもの（サーバー記録）の注記＝控えめ（2026-09-25） */
.rinka-save__note {
	margin: -4px 0 12px;
	font-size: 0.78rem;
	line-height: 1.7;
	color: var(--rinka-ink-soft, #8a7580);
	opacity: 0.9;
}
.rinka-save__row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.rinka-save__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 4px;
	min-height: 44px;
	padding: 9px 16px;
	background: var(--rinka-surface-soft, #fdf1f6);
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 999px;
	color: var(--rinka-ink, #4a3540);
	font-size: 0.86rem;
	font-weight: 800;
	cursor: pointer;
	text-decoration: none;
}
.rinka-save__btn:hover { border-color: var(--rinka-accent, #f5b5cd); }
.rinka-save__btn--primary {
	background: var(--rinka-accent, #f5b5cd);
	border-color: var(--rinka-accent, #f5b5cd);
	color: #fff;
}
.rinka-save__btn--file { cursor: pointer; }
.rinka-save__btn--danger {
	background: #fdf2f2; /* 赤はエラー・危険操作のみ */
	border-color: #f0c9c9;
	color: #b04a4a;
}
.rinka-save__paste { margin: 4px 0 8px; }
.rinka-save__paste textarea {
	width: 100%;
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 10px;
	padding: 8px 10px;
	font-size: 0.8rem;
	margin-bottom: 6px;
}
.rinka-save__status { margin: 4px 0 8px; font-size: 0.86rem; min-height: 1.4em; color: var(--rinka-ink-soft, #8a7580); }
.rinka-save__status.is-ok { color: #4f9e6b; }
.rinka-save__status.is-err { color: #b04a4a; }
.rinka-save__danger { margin-top: 8px; font-size: 0.84rem; color: var(--rinka-ink-soft, #8a7580); }
.rinka-save__danger summary { cursor: pointer; font-weight: 700; }
.rinka-save__danger p { margin: 8px 0; line-height: 1.8; }

/* ============ 9. モバイル微調整（320〜430px・横スクロール禁止） ============ */

@media (max-width: 430px) {
	.rinka-home-resume { grid-template-columns: 1fr; }
	.rinka-home-task__title { font-size: 0.86rem; }
	.rinka-save__row { flex-direction: column; }
	.rinka-save__btn { width: 100%; }
}

/* ============================================================
 * きずなランク・郵便箱・かけら交換所・おみくじ履歴（rinka-bond.js / fansite.js）
 * 色の役割: ピンク=りんか/きずな・紫=手紙(シークレット系)・オレンジ=交換所(報酬)・赤なし
 * ========================================================== */

/* ---- きずなランク（ピンク） ---- */
.rinka-bond-rank__card {
	background: var(--rinka-surface, #fff);
	border: 1px solid var(--rinka-border, #f3d9e4);
	border-left: 4px solid var(--rinka-pink, #e88aa8);
	border-radius: 14px;
	padding: 16px;
}
.rinka-bond-rank__now {
	margin: 0 0 8px;
	font-size: 1.15rem;
}
.rinka-bond-rank__emoji { font-size: 1.5rem; margin-right: 6px; }
.rinka-bond-steps {
	display: flex;
	gap: 6px;
	margin: 0 0 10px;
}
.rinka-bond-step {
	width: 34px; height: 34px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--rinka-bg-soft, #faf4f7);
	border: 1px solid var(--rinka-border, #f3d9e4);
	filter: grayscale(1); opacity: .45;
	font-size: 1rem;
}
.rinka-bond-step.is-on { filter: none; opacity: 1; background: #fdeef4; border-color: var(--rinka-pink, #e88aa8); }
.rinka-bond-bar {
	height: 10px;
	border-radius: 999px;
	background: var(--rinka-bg-soft, #f6e9ef);
	overflow: hidden;
	margin: 4px 0 6px;
}
.rinka-bond-bar__fill {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #f5b8cd, var(--rinka-pink, #e88aa8));
	transition: width .4s ease;
}
.rinka-bond-rank__next { margin: 0 0 8px; font-size: .9rem; color: var(--rinka-text-soft, #8a6b78); }
.rinka-bond-rank__hint { margin: 0; font-size: .82rem; color: var(--rinka-text-soft, #8a6b78); }

/* トップのあいさつ内チップ */
.rinka-bond-chip {
	margin: 8px 0 0;
	display: inline-block;
	font-size: .85rem;
	background: #fdeef4;
	border: 1px solid var(--rinka-border, #f3d9e4);
	border-radius: 999px;
	padding: 4px 12px;
	color: var(--rinka-text, #5a4450);
}
.rinka-bond-chip__title { color: var(--rinka-pink, #d06a8e); font-weight: 600; }

/* ---- 郵便箱（紫） ---- */
.rinka-mail-lead { margin: 0 0 10px; font-size: .9rem; color: var(--rinka-text-soft, #8a6b78); }
.rinka-mail-badge {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 22px; height: 22px;
	border-radius: 999px;
	background: #ff9d3d;
	color: #fff;
	font-size: .75rem;
	padding: 0 6px;
	vertical-align: middle;
}
.rinka-mail-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 8px;
}
.rinka-mail-item {
	display: flex; align-items: center; gap: 8px;
	min-height: 44px;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--rinka-surface, #fff);
	border: 1px solid #e2d4ef;
	border-left: 4px solid #b79ad6;
	font: inherit; font-size: .9rem;
	color: var(--rinka-text, #5a4450);
	text-align: left;
	cursor: pointer;
}
.rinka-mail-item:hover { background: #f8f3fc; }
.rinka-mail-item.is-read { opacity: .75; }
.rinka-mail-item.is-locked {
	cursor: default;
	opacity: .6;
	flex-wrap: wrap;
	border-left-color: #cfc4dc;
	background: var(--rinka-bg-soft, #f8f5fb);
}
.rinka-mail-item__emoji { font-size: 1.2rem; }
.rinka-mail-item__title { flex: 1; }
.rinka-mail-item__new {
	background: #ff9d3d; color: #fff;
	font-size: .68rem; font-weight: 700;
	border-radius: 999px; padding: 2px 8px;
}
.rinka-mail-item__cond { width: 100%; font-size: .75rem; color: var(--rinka-text-soft, #8a6b78); }
.rinka-mail-open { margin-top: 12px; }
.rinka-mail-paper {
	background: #fdfbff;
	border: 1px solid #e2d4ef;
	border-radius: 14px;
	padding: 18px 16px;
	box-shadow: 0 2px 10px rgba(150, 120, 190, .08);
}
.rinka-mail-paper p { margin: 0 0 10px; font-size: .92rem; line-height: 1.9; }
.rinka-mail-paper__title { font-weight: 700; font-size: 1rem; }
.rinka-mail-paper__sign { margin-bottom: 0; text-align: right; color: #9a7fbb; }

/* ---- かけら交換所（オレンジ=報酬） ---- */
.rinka-ex-balance { margin: 0 0 4px; font-size: 1rem; }
.rinka-ex-balance strong { color: #d97b1f; }
.rinka-ex-lead { margin: 0 0 12px; font-size: .82rem; color: var(--rinka-text-soft, #8a6b78); }
.rinka-ex-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 10px;
}
.rinka-ex-item {
	display: flex; flex-direction: column; gap: 6px;
	padding: 14px 12px;
	border-radius: 12px;
	background: var(--rinka-surface, #fff);
	border: 1px solid #f2ddc7;
	border-top: 3px solid #f0a75a;
}
.rinka-ex-item.is-owned { border-top-color: #7cbf8e; }
.rinka-ex-item__emoji { font-size: 1.5rem; }
/* 生成イラストが置かれた交換所アイテム（絵文字の代わりに角丸サムネで表示・2026-07-12） */
.rinka-ex-item__emoji--img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
	background: #fbf1e6;
	border: 1px solid #f2ddc7;
}
.rinka-ex-item__emoji--img img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.rinka-ex-item__name { font-weight: 700; font-size: .92rem; }
.rinka-ex-item__desc { font-size: .78rem; color: var(--rinka-text-soft, #8a6b78); flex: 1; }
.rinka-ex-btn {
	min-height: 44px;
	border-radius: 999px;
	border: 1px solid #f0a75a;
	background: #fff6ec;
	color: #b3641a;
	font: inherit; font-size: .85rem; font-weight: 600;
	cursor: pointer;
	padding: 8px 12px;
}
.rinka-ex-btn:hover:not(:disabled) { background: #ffe9d2; }
.rinka-ex-btn:disabled { opacity: .5; cursor: default; }
.rinka-ex-btn.is-owned { border-color: #cbb5e2; background: #f8f3fc; color: #7a5da0; }
.rinka-ex-btn.is-equipped { border-color: #7cbf8e; background: #eef8f0; color: #3c7a4f; }
.rinka-ex-owned { min-height: 44px; display: inline-flex; align-items: center; font-size: .85rem; color: #3c7a4f; }
.rinka-ex-message {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fff6ec;
	border: 1px solid #f2ddc7;
	font-size: .9rem;
	line-height: 1.8;
}

/* ---- 交換のきろく（交換履歴・2026-08-04） ---- */
.rinka-ex-hist {
	margin-top: 14px;
	background: var(--rinka-surface, #fff);
	border: 1px solid var(--rinka-border, #f3d9e4);
	border-radius: 14px;
	padding: 10px 14px;
}
.rinka-ex-hist__sum {
	cursor: pointer;
	font-weight: 700;
	font-size: .92rem;
	padding: 4px 0;
	list-style-position: inside;
}
.rinka-ex-hist__list { list-style: none; margin: 8px 0 0; padding: 0; max-height: 260px; overflow-y: auto; }
.rinka-ex-hist__row {
	display: flex; gap: 10px; align-items: baseline;
	padding: 5px 0;
	border-bottom: 1px dashed var(--rinka-border, #f3d9e4);
	font-size: .88rem;
}
.rinka-ex-hist__row:last-child { border-bottom: 0; }
.rinka-ex-hist__date { color: var(--rinka-text-soft, #8a6b78); font-size: .78rem; white-space: nowrap; }
.rinka-ex-hist__name { flex: 1; min-width: 0; }
.rinka-ex-hist__cost { color: var(--rinka-text-soft, #8a6b78); font-size: .82rem; white-space: nowrap; }

/* ---- おみくじ履歴 ---- */
.rinka-fs-omikuji__history {
	max-width: 480px;
	margin: 18px auto 0;
	background: var(--rinka-surface, #fff);
	border: 1px solid var(--rinka-border, #f3d9e4);
	border-radius: 14px;
	padding: 14px 16px;
}
.rinka-fs-omikuji__history-title { margin: 0 0 8px; font-weight: 700; font-size: .92rem; }
.rinka-fs-omikuji__history-list { list-style: none; margin: 0; padding: 0; }
.rinka-fs-omikuji__history-list li {
	display: flex; gap: 10px; align-items: baseline;
	padding: 5px 0;
	border-bottom: 1px dashed var(--rinka-border, #f3d9e4);
	font-size: .88rem;
}
.rinka-fs-omikuji__history-list li:last-child { border-bottom: 0; }
.rinka-fs-omikuji__history-date { color: var(--rinka-text-soft, #8a6b78); font-size: .78rem; }

/* ---- モバイル ---- */
@media (max-width: 430px) {
	.rinka-mail-list, .rinka-ex-grid { grid-template-columns: 1fr 1fr; }
	.rinka-bond-step { width: 30px; height: 30px; }
}
@media (max-width: 340px) {
	.rinka-mail-list, .rinka-ex-grid { grid-template-columns: 1fr; }
}

/* ---- 季節イベントチップ（青=お知らせ/情報） ---- */
.rinka-season-chip {
	margin: 8px 0 0;
	display: inline-block;
	font-size: .85rem;
	background: #eef5fc;
	border: 1px solid #cfe0f2;
	border-radius: 999px;
	padding: 4px 12px;
	color: #3f5b76;
	line-height: 1.7;
}

/* ---- きずなランクアップのお祝いトースト（ピンク・自動で消える） ---- */
.rinka-bond-toast {
	position: fixed;
	left: 50%;
	bottom: calc(84px + env(safe-area-inset-bottom, 0px));
	transform: translate(-50%, 12px);
	background: #fdeef4;
	border: 1px solid var(--rinka-pink, #e88aa8);
	color: #5a4450;
	border-radius: 999px;
	padding: 10px 18px;
	font-size: .9rem;
	box-shadow: 0 4px 16px rgba(230, 130, 165, .25);
	opacity: 0;
	transition: opacity .35s ease, transform .35s ease;
	z-index: 9999;
	max-width: min(92vw, 480px);
	text-align: center;
}
.rinka-bond-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

/* きずなチップ内のかけら残高（オレンジ=報酬系） */
.rinka-bond-chip__coins {
	margin-left: 8px;
	color: #b3641a;
	font-weight: 600;
}

/* ============================================================
 * トップページ再整理（2026-07）
 * はじめての方カード / 状態チップ / 手紙5行クランプ / 続きから遊ぶ上限
 * ============================================================ */

/* ---- はじめての方カード（旧ヒーローのコンパクト版・✕で閉じられる） ---- */
.rinka-home-welcome__card {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	padding: 22px 20px;
	border-radius: 18px;
	background: linear-gradient(135deg, #fdf2f7 0%, #f7f0fc 100%);
	border: 1px solid var(--rinka-border, #f3d9e4);
	text-align: center;
}
.rinka-home-welcome__title {
	margin: 4px 0 8px;
	font-size: 1.25rem;
}
.rinka-home-welcome__lead {
	margin: 0 0 14px;
	font-size: .9rem;
	line-height: 1.9;
	color: var(--rinka-text-soft, #8a6b78);
}
.rinka-home-welcome__buttons {
	display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
}
.rinka-home-welcome__close {
	position: absolute;
	top: 8px; right: 8px;
	width: 44px; height: 44px;
	border: 0; background: transparent;
	border-radius: 50%;
	font-size: 1rem;
	color: var(--rinka-text-soft, #8a6b78);
	cursor: pointer;
}
.rinka-home-welcome__close:hover { background: rgba(230, 130, 165, .12); }

/* ---- メインゲームカードの状態チップ（文字で区別・色は補助） ---- */
.rinka-fs-nav__card { position: relative; }
.rinka-home-chip {
	position: absolute;
	top: 8px; right: 8px;
	font-size: .68rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 3px 9px;
	line-height: 1.5;
	pointer-events: none;
}
.rinka-home-chip--new  { background: #fdeef4; border: 1px solid #e88aa8; color: #b04a72; }
.rinka-home-chip--wait { background: #eef5fc; border: 1px solid #cfe0f2; color: #3f5b76; }
.rinka-home-chip--done { background: #eef8f0; border: 1px solid #a8d8b5; color: #3c7a4f; }

/* ---- 今日のりんか: 手紙は5行まで（続きは「今日のりんかページ」1本に統一） ---- */
.rinka-daily-hero__letter-text {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
#rinka-daily-letter-more { display: none !important; }

/* ---- 続きから遊ぶ: すべて見るリンク＋スマホは2件まで ---- */
.rinka-home-resume__more {
	display: block;
	text-align: center;
	font-size: .85rem;
	padding: 10px;
	color: var(--rinka-text-soft, #8a6b78);
	text-decoration: none;
}
.rinka-home-resume__more:hover { text-decoration: underline; }
@media (max-width: 600px) {
	.rinka-home-resume .rinka-home-resume__item:nth-child(n+3) { display: none; }
}

/* ---- 動きをひかえめに（OS設定を尊重） ---- */
@media (prefers-reduced-motion: reduce) {
	.rinka-home-welcome__card,
	.rinka-home-chip,
	.rinka-home-resume__item,
	.rinka-bond-toast {
		transition: none !important;
		animation: none !important;
	}
}

/* ============================================================
 * 交換所拡張（2026-07）: ホーム背景きせかえ・あいさつ特別版・限定イラスト
 * ========================================================== */

/* ---- ホーム背景きせかえ（交換所 type:'bg' / rinka-bond.js が body に付与） ---- */
body.rinka-home-bg--sakura {
	background: linear-gradient(180deg, #fff5f9 0%, #ffeaf3 40%, #fff 100%) fixed;
}
body.rinka-home-bg--yozora {
	background: linear-gradient(180deg, #edf1fb 0%, #e4e9f7 40%, #fdfdff 100%) fixed;
}

/* ---- あいさつ特別バージョン（交換所 type:'greet'） ---- */
.rinka-greeting-special {
	margin: 6px 0 0;
	padding: 8px 12px;
	border-radius: 12px;
	background: linear-gradient(90deg, #fdeef4, #f5edfc);
	border: 1px solid #f0d3e0;
	font-size: .88rem;
	color: var(--rinka-text, #5a4652);
}

/* ---- 限定イラスト レア枠（うっすら見えるティザー → 交換で開封） ---- */
.rinka-ex-rare {
	margin-top: 18px;
	padding: 14px;
	border-radius: 14px;
	border: 1px solid #e8d3f0;
	background: linear-gradient(180deg, #faf3fd, #fdf6fa);
	text-align: center;
}
.rinka-ex-rare__head {
	margin: 0 0 10px;
	font-weight: 700;
	font-size: .95rem;
	color: var(--rinka-text, #5a4652);
}
.rinka-ex-rare__teaser {
	position: relative;
	display: inline-block;
	max-width: 260px;
	border-radius: 12px;
	overflow: hidden;
	background: #2a2230;
}
.rinka-ex-rare__teaser img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	/* 加工して暗く・うっすら見える程度に（原本はサーバーからは同URL＝交換後にはっきり表示） */
	filter: brightness(.25) blur(5px) saturate(.7);
	transform: scale(1.04); /* blurの縁のにじみを隠す */
}
/* 交換前は本物のイラストをDOMに出さない＝集めるまで絶対に見られない・保存できない（2026-07-12） */
.rinka-ex-rare__teaser--locked {
	width: 200px;
	max-width: 66vw;
	aspect-ratio: 3 / 4;
	background:
		radial-gradient(120% 90% at 50% 18%, rgba(200, 162, 74, .28), transparent 60%),
		linear-gradient(160deg, #3a2f45 0%, #241d2c 55%, #2a2230 100%);
	box-shadow: inset 0 0 40px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(200, 162, 74, .18);
}
.rinka-ex-rare__q {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	color: rgba(255, 255, 255, .85);
	text-shadow: 0 2px 10px rgba(0, 0, 0, .5);
	pointer-events: none;
}
.rinka-ex-rare__desc {
	margin: 10px auto 12px;
	max-width: 420px;
	font-size: .85rem;
	color: var(--rinka-text-soft, #8a6b78);
}
.rinka-ex-rare__btn { min-width: 180px; }

/* ---- 開封演出: 光って回って、加工前のイラストが登場 ---- */
.rinka-ex-rare-reveal { text-align: center; }
.rinka-ex-rare-reveal__title {
	margin: 0 0 10px;
	font-weight: 700;
	color: var(--rinka-text, #5a4652);
}
.rinka-ex-rare-reveal__img {
	display: inline-block;
	max-width: min(320px, 90%);
	height: auto;
	border-radius: 12px;
	animation: rinka-rare-reveal 1.6s ease-out both;
	box-shadow: 0 0 24px rgba(240, 170, 210, .9), 0 0 60px rgba(200, 150, 240, .5);
}
@keyframes rinka-rare-reveal {
	0%   { transform: rotate(-360deg) scale(.2); opacity: 0; filter: brightness(3); }
	60%  { transform: rotate(0deg) scale(1.06); opacity: 1; filter: brightness(1.6); }
	100% { transform: rotate(0deg) scale(1); opacity: 1; filter: brightness(1); }
}
.rinka-ex-rare-reveal__msg {
	margin: 10px 0 4px;
	font-size: .9rem;
	color: var(--rinka-text, #5a4652);
}
.rinka-ex-rare-reveal__save { margin: 6px 0 0; font-size: .9rem; }

/* ---- てにいれた限定イラスト（自分のコレクション表示） ---- */
.rinka-ex-rare-owns { margin-top: 16px; text-align: center; }
.rinka-ex-rare-owns__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}
.rinka-ex-rare-own {
	margin: 0;
	max-width: 180px;
}
.rinka-ex-rare-own img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(90, 70, 82, .18);
}
.rinka-ex-rare-own figcaption {
	margin-top: 4px;
	font-size: .78rem;
	color: var(--rinka-text-soft, #8a6b78);
}
/* レア度バッジ（SSR以上・2026-07-12 #34） */
.rinka-ex-rare-own__rar {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 900;
	color: #7a5200;
	background: linear-gradient(135deg, #ffe9a8, #ffd76b);
}

@media (prefers-reduced-motion: reduce) {
	.rinka-ex-rare-reveal__img {
		animation: none !important;
	}
}

/* ============================================================
 * 🔥 明日また来る理由（rinka-revisit.js・トップ最上部フック・2026-07-16 提案 #3/#4/#6）
 *   ・来てすぐ遊べる 1タップガチャ／連続ログイン報酬（SECRETまであとN日）／遠征のソフト誘導
 *   ・RDS トークンにフォールバック付きで寄せつつ、既存 rinka-* 変数も尊重
 * ============================================================ */
.rinka-revisit {
	margin: 0 0 14px;
}
.rinka-revisit__inner {
	border-radius: 16px;
	padding: 14px 16px;
	background: linear-gradient(135deg, #fff4f9 0%, #fdeaf3 55%, #f3e9ff 100%);
	border: 1px solid var(--rinka-line, #f0d6e4);
	box-shadow: 0 4px 18px rgba(150, 90, 120, .12);
}
.rinka-revisit__main {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.rinka-revisit__emoji {
	font-size: 1.7rem;
	line-height: 1;
	flex: 0 0 auto;
}
.rinka-revisit__text {
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.rinka-revisit__headline {
	font-size: 1.02rem;
	font-weight: 900;
	color: var(--rinka-text, #5a3d4c);
	line-height: 1.35;
}
.rinka-revisit__sub {
	font-size: .82rem;
	color: var(--rinka-text-soft, #8a6b78);
	line-height: 1.4;
}
.rinka-revisit__cta {
	flex: 0 0 auto;
	appearance: none;
	border: 0;
	cursor: pointer;
	text-decoration: none;
	font-weight: 900;
	font-size: .95rem;
	color: #fff;
	padding: 11px 18px;
	border-radius: 999px;
	background: linear-gradient(135deg, #ff8fbf, #ff6fa6);
	box-shadow: 0 4px 14px rgba(255, 111, 166, .38);
	transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
	white-space: nowrap;
}
.rinka-revisit__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(255, 111, 166, .48);
	filter: brightness(1.03);
}
.rinka-revisit__cta:active {
	transform: translateY(0);
}
.rinka-revisit__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.rinka-revisit__chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .78rem;
	line-height: 1.3;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	border: 1px solid var(--rinka-line, #f0d6e4);
	color: var(--rinka-text, #5a3d4c);
	text-decoration: none;
}
.rinka-revisit__chip b {
	color: #d5477e;
	font-weight: 900;
}
.rinka-revisit__chip--exp,
a.rinka-revisit__chip--exp {
	background: rgba(255, 255, 255, .9);
	transition: transform .12s ease, box-shadow .12s ease;
}
.rinka-revisit__chip--exp:hover {
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(150, 90, 120, .18);
}
.rinka-revisit__chip--tomorrow {
	background: linear-gradient(135deg, #fff7dd, #ffeec0);
	border-color: #f4dfa0;
}
@media (max-width: 480px) {
	.rinka-revisit__cta {
		width: 100%;
		text-align: center;
	}
	.rinka-revisit__text {
		flex-basis: 60%;
	}
}

/* ── あつめ→継続の案内（#5・2026-07-16）。芽吹きの緑アクセントで「つづけると増える」を表現 ── */
.rinka-home-nextstep {
	margin: 4px 0 14px;
	padding: 12px 14px 6px;
	background: linear-gradient(180deg, rgba(230, 248, 235, 0.55), rgba(255, 253, 253, 0.9));
	border: 1px solid #cfe9d8;
	border-radius: 16px;
}
.rinka-home-nextstep__lead {
	margin: 0 0 8px;
	font-weight: 800;
	font-size: 0.92rem;
	color: var(--rinka-ink, #3f5c48);
}
.rinka-home-nextstep__items {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}
.rinka-home-nextstep__item {
	display: flex; align-items: center; gap: 10px;
	min-height: 52px;
	padding: 10px 13px;
	background: var(--rinka-surface, #fffdfd);
	border: 1px solid #cfe9d8;
	border-left: 4px solid #7fc79a; /* 緑 = 成長・つづける */
	border-radius: 13px;
	text-decoration: none;
	color: var(--rinka-ink, #3f4b44);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.rinka-home-nextstep__item:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(120, 190, 150, 0.2);
}
.rinka-home-nextstep__emoji { font-size: 1.35rem; }
.rinka-home-nextstep__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rinka-home-nextstep__text { font-weight: 700; font-size: 0.85rem; line-height: 1.5; }
.rinka-home-nextstep__cta { font-size: 0.76rem; font-weight: 800; color: #479169; }
@media (max-width: 480px) {
	.rinka-home-nextstep__items { grid-template-columns: 1fr; }
}

/* ── 💗👑 好感度・人気ランキング導線バナー（2026-07-17・AI診断対応。自前クラスのみ・既存不変更） ──
 * ヒーロー直下の2枚バナー。ピンク=なかよし系 / 金=ランキングの色役割に合わせる。 */
.rinka-feature-nav { margin: 4px 0 10px; }
.rinka-feature-nav__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.rinka-feature-nav__card {
	display: flex; align-items: center; gap: 12px;
	min-height: 64px;
	padding: 13px 16px;
	border-radius: 16px;
	text-decoration: none;
	color: var(--rinka-ink, #4a3540);
	border: 1px solid var(--rinka-border, #f3dce6);
	background: var(--rinka-surface, #fffdfd);
	box-shadow: 0 3px 12px rgba(214, 143, 177, 0.10);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.rinka-feature-nav__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(214, 143, 177, 0.22);
}
.rinka-feature-nav__card:focus-visible {
	outline: 2px solid var(--rinka-accent, #f5b5cd);
	outline-offset: 2px;
}
.rinka-feature-nav__card--affection {
	background: linear-gradient(135deg, #fff0f6, #ffe3ee);
	border-color: #f7cbdd;
}
.rinka-feature-nav__card--ranking {
	background: linear-gradient(135deg, #fff8e6, #ffefc7);
	border-color: #f1dfa8;
}
.rinka-feature-nav__emoji {
	flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.82);
	font-size: 1.45rem;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}
.rinka-feature-nav__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rinka-feature-nav__title { font-weight: 900; font-size: 0.98rem; line-height: 1.3; }
.rinka-feature-nav__card--affection .rinka-feature-nav__title { color: #c2537e; }
.rinka-feature-nav__card--ranking .rinka-feature-nav__title { color: #a5761c; }
.rinka-feature-nav__desc {
	font-size: 0.78rem;
	color: var(--rinka-ink-soft, #8a7580);
	line-height: 1.45;
}
.rinka-feature-nav__arrow {
	margin-left: auto;
	flex: 0 0 auto;
	font-weight: 900;
	color: var(--rinka-accent-strong, #d16a97);
}
.rinka-feature-nav__card--ranking .rinka-feature-nav__arrow { color: #c08a2a; }
@media (max-width: 560px) {
	.rinka-feature-nav__row { grid-template-columns: 1fr; }
	.rinka-feature-nav__card { min-height: 56px; padding: 11px 14px; }
}

/* ── #35 ヒーロー直下CTA（2026-07-18 追記のみ・主役1＋補助2） ── */
.rinka-hero-cta { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 18px auto 6px; }
/* 🐰 りんかの一言（改善提案①・2026-07-22）: CTAの上の日替わりひとこと吹き出し */
.rinka-hero-cta__voice { margin: 0 0 2px; padding: 7px 16px; border-radius: 16px; background: rgba(255, 255, 255, 0.78); border: 1.5px dashed rgba(231, 134, 174, 0.55); color: var(--rinka-accent-strong, #c2568c); font-size: 0.9rem; font-weight: 700; text-align: center; line-height: 1.5; }
.rinka-hero-cta__main { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 14px 30px; border-radius: 999px; background: linear-gradient(135deg, #e786ae, #c2568c); color: #fff; font-weight: 800; font-size: 1.05rem; text-decoration: none; box-shadow: 0 6px 18px rgba(194, 86, 140, 0.35); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.rinka-hero-cta__main:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(194, 86, 140, 0.45); color: #fff; }
.rinka-hero-cta__icon svg { display: block; }
.rinka-hero-cta__badge { position: absolute; top: -8px; right: -6px; background: #ffd54d; color: #7a4a00; font-size: 0.68rem; font-weight: 900; padding: 2px 8px; border-radius: 999px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18); }
.rinka-hero-cta__subs { display: flex; gap: 10px; }
.rinka-hero-cta__sub { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid rgba(194, 86, 140, 0.4); color: var(--rinka-accent-strong, #c2568c); background: rgba(255, 255, 255, 0.7); font-weight: 700; font-size: 0.88rem; text-decoration: none; transition: background 0.15s ease; }
.rinka-hero-cta__sub:hover { background: rgba(231, 134, 174, 0.14); }
.rinka-hero-cta__subicon svg { display: block; }
@media (prefers-reduced-motion: reduce) {
	.rinka-hero-cta__main, .rinka-hero-cta__sub { transition: none; }
	.rinka-hero-cta__main:hover { transform: none; }
}
@media (prefers-color-scheme: dark) {
	.rinka-hero-cta__sub { background: rgba(36, 26, 34, 0.7); color: #e79ec4; border-color: rgba(231, 134, 174, 0.45); }
	.rinka-hero-cta__voice { background: rgba(36, 26, 34, 0.7); color: #e79ec4; border-color: rgba(231, 134, 174, 0.4); }
}

/* ---- 手紙の開封演出（2026-07-23・封筒ぱかっ→便箋ふわっ）---- */
.rinka-mail-open--inline { grid-column: 1 / -1; margin-top: 2px; }
.rinka-mail-env {
	position: relative;
	display: flex; align-items: center; justify-content: center;
	min-height: 84px;
	font-size: 3rem;
	pointer-events: none;
}
.rinka-mail-env__body {
	display: inline-block;
	animation: rinka-mail-env-pop 0.62s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.rinka-mail-env__heart,
.rinka-mail-env__spark {
	position: absolute;
	font-size: 1.3rem;
	opacity: 0;
}
.rinka-mail-env__heart {
	left: calc(50% + 22px); top: 8px;
	animation: rinka-mail-env-float 0.7s ease-out 0.25s both;
}
.rinka-mail-env__spark {
	left: calc(50% - 46px); top: 14px;
	animation: rinka-mail-env-float 0.7s ease-out 0.38s both;
}
@keyframes rinka-mail-env-pop {
	0% { transform: scale(0.3) rotate(-14deg); opacity: 0; }
	55% { transform: scale(1.18) rotate(6deg); opacity: 1; }
	100% { transform: scale(1) rotate(0deg); opacity: 1; }
}
@keyframes rinka-mail-env-float {
	0% { transform: translateY(8px) scale(0.5); opacity: 0; }
	60% { opacity: 1; }
	100% { transform: translateY(-14px) scale(1.1); opacity: 0; }
}
/* 便箋は封筒が開いてから（is-opened）ふわっと登場 */
.rinka-mail-open.has-fx .rinka-mail-paper {
	opacity: 0;
	transform: translateY(14px) scale(0.98);
}
.rinka-mail-open.has-fx.is-opened .rinka-mail-paper {
	opacity: 1;
	transform: none;
	transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.rinka-mail-open.has-fx.is-opened .rinka-mail-env {
	display: none;
}
@media (prefers-reduced-motion: reduce) {
	.rinka-mail-env__body, .rinka-mail-env__heart, .rinka-mail-env__spark { animation: none; }
	.rinka-mail-env__heart, .rinka-mail-env__spark { opacity: 0; }
	.rinka-mail-open.has-fx .rinka-mail-paper { opacity: 1; transform: none; transition: none; }
	.rinka-mail-open.has-fx .rinka-mail-env { display: none; }
}

/* #16 クリエイターCTA上部版はユーザー指示で撤去（2026-07-29） */

/* ── #18 スマホ親指ゾーンナビ（2026-07-29 追記のみ）──
   トップの主要導線（ガチャ・今日のりんか・あそぶ）を画面下部に固定表示。
   スマホ（640px以下）だけ。各ボタンはタップ領域44px以上・safe-area対応。 */
.rinka-thumb-nav { display: none; }
@media (max-width: 640px) {
  .rinka-thumb-nav {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    z-index: 900;
    display: flex;
    gap: 6px;
    padding: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.16);
    border: 1px solid rgba(244, 143, 177, 0.35);
  }
  .rinka-thumb-nav__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 44px;
    min-width: 44px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    color: #555;
    white-space: nowrap;
  }
  .rinka-thumb-nav__btn:active {
    background: var(--rinka-day-accent, var(--rinka-accent, #f48fb1));
    color: #fff;
  }
  /* 固定バーが最下部コンテンツに重ならないよう余白を足す */
  .rinka-homepage { padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
  @media (prefers-color-scheme: dark) {
    .rinka-thumb-nav {
      background: rgba(30, 30, 36, 0.9);
      border-color: rgba(244, 143, 177, 0.3);
    }
    .rinka-thumb-nav__btn { color: #ddd; }
  }
}

/* ── #21 手紙へのおへんじチップ（2026-07-29 追記のみ）──
   便箋の下に任意の返事チップを表示。押さなくてもOK・PIIなし。 */
.rinka-mail-reply {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed rgba(154, 127, 187, 0.35);
}
.rinka-mail-reply__lead {
  margin: 0 0 8px;
  font-size: 12.5px;
  color: #9a7fbb;
}
.rinka-mail-reply__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rinka-mail-reply__chip {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgba(244, 143, 177, 0.5);
  background: rgba(244, 143, 177, 0.08);
  color: #a75d80;
  border-radius: 999px;
  padding: 8px 14px;
  min-height: 40px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
.rinka-mail-reply__chip:hover {
  background: rgba(244, 143, 177, 0.18);
  transform: translateY(-1px);
}
.rinka-mail-reply__chip:active {
  background: var(--rinka-day-accent, var(--rinka-accent, #f48fb1));
  color: #fff;
}
.rinka-mail-reply__done {
  margin: 0;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(244, 143, 177, 0.1);
  border: 1px dashed rgba(244, 143, 177, 0.4);
  color: #a75d80;
  font-size: 13px;
  line-height: 1.7;
}
@media (prefers-color-scheme: dark) {
  .rinka-mail-reply__chip { background: rgba(244, 143, 177, 0.14); color: #f4b8ce; }
  .rinka-mail-reply__done { background: rgba(244, 143, 177, 0.14); color: #f4b8ce; }
}

/* ============================================================
   🌸 かけらの使い道を3段に分ける（2026-07-31 改善提案・交換所）
   「すぐ交換できる／ためて交換／いちばんのごほうび」
   ・かけらを何に使えばいいのか、値段順ではなく“いつ手が届くか”で並べ直す。
   ・段ごとの色は既存の交換所パレット（#f0a75a / #f2ddc7 / #fff6ec）に寄せる。
   ・中身が空の段は rinka-bond.js 側で丸ごと出さないので、空見出しは発生しない。
   ============================================================ */
.rinka-ex-tier {
  margin: 20px 0 0;
  padding: 14px 14px 4px;
  border-radius: 14px;
  border: 1px solid #f5e6d4;
  border-left: 4px solid #f0a75a;
  background: rgba(255, 246, 236, 0.55);
}
.rinka-ex-tier:first-of-type { margin-top: 14px; }
.rinka-ex-tier__head {
  margin: 0 0 2px;
  font-size: 1.02rem;
  font-weight: 900;
  line-height: 1.35;
  color: #a1631f;
}
.rinka-ex-tier__sub {
  margin: 0 0 12px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--rinka-ink-soft, #8a7580);
}
.rinka-ex-tier .rinka-ex-grid { margin: 0; }

/* すぐ＝あたたかいオレンジ／ためて＝やさしいピンク／ごほうび＝ゴールド */
.rinka-ex-tier--soon   { border-left-color: #f0a75a; background: rgba(255, 246, 236, 0.55); }
.rinka-ex-tier--soon   .rinka-ex-tier__head { color: #a1631f; }
.rinka-ex-tier--save   { border-left-color: #e79ac0; background: rgba(255, 244, 249, 0.55); border-color: #f7dfeb; }
.rinka-ex-tier--save   .rinka-ex-tier__head { color: #b3548a; }
.rinka-ex-tier--reward { border-left-color: #e0b93f; background: rgba(255, 250, 233, 0.6);  border-color: #f2e5b8; }
.rinka-ex-tier--reward .rinka-ex-tier__head { color: #96741a; }

@media (max-width: 560px) {
  .rinka-ex-tier { padding: 12px 11px 4px; }
  .rinka-ex-tier__head { font-size: 0.96rem; }
}

@media (prefers-color-scheme: dark) {
  .rinka-ex-tier          { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.10); }
  .rinka-ex-tier--save    { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.10); }
  .rinka-ex-tier--reward  { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.12); }
  .rinka-ex-tier--soon   .rinka-ex-tier__head { color: #f3bd7d; }
  .rinka-ex-tier--save   .rinka-ex-tier__head { color: #f2b0d0; }
  .rinka-ex-tier--reward .rinka-ex-tier__head { color: #edd07a; }
}

/* ============================================================
   🎯 最初の1画面（2026-07-31 改善提案）— 主役以外を一段下げる
   滞在34秒＝最初の1画面が勝負。「今日やること」が1つだけ大きく見える形にする。
   主役（#rinka-daily-hero）を大きくするのは rinka-daily-hero.css 側。
   こちらは “プロの定石” のとおり、要素を足さずに競合する周辺だけを一段下げる。
   ・消さない／隠さない。サイズ・影・余白だけを落として主従を作る。
   ・タップ領域（44px）は落とさない。文字色のコントラストも下げない。
   ・トップページ限定（.rinka-fansite が付く下層ページには効かせない）。
   ・rinka-revisit.js の setCta() など JS には一切触っていない（CSSのみ）。
   ============================================================ */
/* 主役のまわりに余白を作って、視線が1か所に落ちるようにする */
.rinka-homepage:not(.rinka-fansite) #rinka-daily-hero { margin: 6px 0 32px; }

/* ① 明日また来る理由バー（ヒーローの真上）— 帯として細くする */
.rinka-homepage:not(.rinka-fansite) .rinka-revisit__inner {
  padding: 10px 13px;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(150, 90, 120, 0.07);
}
.rinka-homepage:not(.rinka-fansite) .rinka-revisit__emoji { font-size: 1.32rem; }
.rinka-homepage:not(.rinka-fansite) .rinka-revisit__headline { font-size: 0.94rem; }
.rinka-homepage:not(.rinka-fansite) .rinka-revisit__sub { font-size: 0.78rem; }
.rinka-homepage:not(.rinka-fansite) .rinka-revisit__cta {
  /* 高さ（＝タップ領域）は保ったまま、主張だけ下げる */
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 16px;
  font-size: 0.88rem;
  box-shadow: 0 2px 8px rgba(255, 111, 166, 0.24);
}

/* ② 今日のひとこと投票 — カードの浮きを抑える */
.rinka-homepage:not(.rinka-fansite) .rinka-vote__card {
  box-shadow: 0 2px 9px rgba(214, 143, 177, 0.10);
}
.rinka-homepage:not(.rinka-fansite) .rinka-vote__title { font-size: 0.95rem; }

/* ③ 今週の新作バンド — 影を落として帯に戻す */
.rinka-homepage:not(.rinka-fansite) .rinka-new-band__link {
  box-shadow: 0 2px 8px rgba(214, 143, 177, 0.12);
}

/* ④ 好感度／ランキングの2枚（いちばんの競合）— 一回り小さく */
.rinka-homepage:not(.rinka-fansite) .rinka-feature-nav__card {
  min-height: 56px;
  padding: 11px 14px;
  gap: 10px;
  box-shadow: 0 2px 8px rgba(214, 143, 177, 0.08);
}
.rinka-homepage:not(.rinka-fansite) .rinka-feature-nav__emoji {
  width: 36px;
  height: 36px;
  font-size: 1.2rem;
}
.rinka-homepage:not(.rinka-fansite) .rinka-feature-nav__title { font-size: 0.9rem; }
.rinka-homepage:not(.rinka-fansite) .rinka-feature-nav__desc { font-size: 0.74rem; }
.rinka-homepage:not(.rinka-fansite) .rinka-feature-nav__card:hover {
  box-shadow: 0 4px 13px rgba(214, 143, 177, 0.18);
}

/* ゲームであそぶ（#rinka-home-arcade・2026-09-24）：ノベルの「見つけた結末」を小さく1行で */
.rinka-fs-nav__prog { display: block; margin-top: 4px; font-size: 10px; font-weight: 700; color: #d6457a; letter-spacing: .02em; }

/* ゲームであそぶ：ロゴのカード（2026-09-27 制作者「ゲームのロゴにできないかな」） */
.rinka-sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
#rinka-home-arcade .rinka-fs-nav__logo {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 64px; margin: 0 auto 6px;
}
#rinka-home-arcade .rinka-fs-nav__logo img {
	display: block; max-width: 100%; max-height: 64px; width: auto; height: auto;
	object-fit: contain; filter: drop-shadow(0 2px 3px rgba(120, 60, 90, .18));
	transition: transform .2s ease;
}
#rinka-home-arcade .rinka-fs-nav__card:hover .rinka-fs-nav__logo img,
#rinka-home-arcade .rinka-fs-nav__card:focus-visible .rinka-fs-nav__logo img { transform: scale(1.06) rotate(-1deg); }
/* ゲームの遊び方の見出し（2026-10-20 制作者「ながく続けるならこれ、みたいに分けて」） */
#rinka-home-arcade .rinka-arcade-group__title {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px;
	margin: 18px 0 8px; padding: 0 0 0 10px; border-left: 4px solid #ff8fb1;
	font-size: 15px; font-weight: 800; line-height: 1.4; color: #6b3a52;
}
#rinka-home-arcade .rinka-arcade-group__title small { font-size: 11px; font-weight: 600; color: #a07a8c; }
#rinka-home-arcade .rinka-arcade-group__title--long { border-left-color: #ffb347; }
#rinka-home-arcade .rinka-arcade-group__title--story { border-left-color: #b79af0; }
#rinka-home-arcade .rinka-section__title + .rinka-arcade-group__title { margin-top: 6px; }

/* 近日公開（2026-10-20 制作者「ルミナは近日公開・リンクなし・ロゴは灰色」）＝front-page.php の10番目に 'soon' を入れたタイル */
#rinka-home-arcade .rinka-fs-nav__card.is-soon { cursor: default; pointer-events: none; }
#rinka-home-arcade .rinka-fs-nav__card.is-soon .rinka-fs-nav__logo img { filter: grayscale(1) brightness(.78) contrast(1.05) opacity(.8) drop-shadow(0 2px 3px rgba(60, 50, 70, .22)); }
#rinka-home-arcade .rinka-fs-nav__card.is-soon .rinka-fs-nav__desc { opacity: .6; }
#rinka-home-arcade .rinka-fs-nav__soon {
	display: inline-block; margin-top: 4px; padding: 1px 10px; border-radius: 999px;
	background: #ece8ee; color: #7d7482; font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1.5;
}
/* NEW の印（2026-10-20 制作者「ロゴの右上に小さくNEW・アップした日もわかるように」）＝front-page.php の9番目に m/d を入れた時だけ出る */
#rinka-home-arcade .rinka-fs-nav__logo { position: relative; }
#rinka-home-arcade .rinka-fs-nav__new {
	position: absolute; top: -4px; right: 2px; z-index: 2;
	display: inline-flex; align-items: baseline; gap: 3px;
	padding: 1px 6px 2px; border-radius: 999px;
	background: linear-gradient(135deg, #ff5a8a, #ff8fb1); color: #fff;
	font-style: normal; font-weight: 800; font-size: 9px; letter-spacing: .06em; line-height: 1.3;
	box-shadow: 0 1px 3px rgba(190, 40, 90, .35); pointer-events: none;
}
#rinka-home-arcade .rinka-fs-nav__new small { font-size: 8px; font-weight: 700; letter-spacing: 0; opacity: .92; }
@media (min-width: 720px) {
	#rinka-home-arcade .rinka-fs-nav__logo { height: 76px; }
	#rinka-home-arcade .rinka-fs-nav__logo img { max-height: 76px; }
}

/* ============================================================
   2026-09-27 トップページ診断「すぐやる」（front-page.php と対）
   ・最初の1画面＝ヘッダー → はじめての人向けの説明1文 → 今日のりんか（絵）。
   ・あいさつ＋「また来る理由」（ガチャの帯）は1枚のカード .rinka-home-today にたたんで今日のりんかの下へ。
   ・色は今までの変数・同じピンク系。押せる所の高さ（44px）は落とさない。
   戻し方: このブロックを消し、front-page.php の説明の段と .rinka-home-today を元の位置へ戻す。
   ============================================================ */
/* はじめての人向け「何のサイトか」（段落・見出しではない） */
.rinka-home-intro[hidden] { display: none !important; }
.rinka-home-intro {
	margin: 2px 0 10px;
	padding: 9px 13px;
	border-left: 3px solid var(--rinka-day-accent, var(--rinka-accent, #f48fb1));
	background: rgba(255, 255, 255, .7);
	border-radius: 0 12px 12px 0;
}
.rinka-home-intro__text {
	margin: 0;
	font-size: .86rem;
	line-height: 1.65;
	color: var(--rinka-ink, #4a3540);
}
/* 絵を上に：説明のすぐ下に今日のりんか（余白を少しつめる） */
.rinka-homepage:not(.rinka-fansite) #rinka-daily-hero { margin-top: 0; }

/* あいさつ＋ガチャの帯を1枚に */
.rinka-home-today { margin: 12px 0 0; }
.rinka-home-today:not(:has(> :not([hidden]))) { display: none; }   /* JS が何も描かなかった時は入れ物ごと出さない */
.rinka-homepage:not(.rinka-fansite) .rinka-home-today {
	padding: 12px 14px;
	border-radius: 18px;
	background: linear-gradient(135deg, #fff6fa 0%, #fdeef5 60%, #f5eeff 100%);
	border: 1px solid var(--rinka-line, #f0d6e4);
	box-shadow: 0 2px 10px rgba(150, 90, 120, .08);
}
/* 中の2つは、それぞれのカードの見た目を外して1枚の中の段にする */
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-home-greet {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
}
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-home-greet__main {
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.6;
}
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-bond-chip,
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-season-chip {
	margin-top: 6px;
	font-size: .78rem;
	padding: 3px 10px;
}
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-revisit { margin: 0; }
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-home-greet:not([hidden]) + .rinka-revisit:not([hidden]) {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed var(--rinka-line, #f0d6e4);
}
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-revisit__inner {
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-revisit__chips { margin-top: 8px; gap: 6px; }
.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-revisit__chip { padding: 4px 10px; font-size: .74rem; }
@media (max-width: 480px) {
	/* スマホ：ボタンは横いっぱいのまま（押しやすさ優先）、文と絵文字は1行に */
	.rinka-homepage:not(.rinka-fansite) .rinka-home-today .rinka-revisit__main { gap: 8px 10px; }
}

/* 感想：トップは2件＋「もっと見る」（rinka-voices.js の data-recent="2"）。押せる所は44px以上のボタンに */
#rinka-home-voices .rinka-voices__pastbtn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 20px;
	border: 1px solid var(--rinka-line, #f0d6e4);
	border-radius: 999px;
	background: rgba(255, 255, 255, .85);
	font-size: .84rem;
	font-weight: 700;
	color: var(--rinka-accent-strong, #d16a97);
	opacity: 1;
}

/* 放課後の5秒などノベルのアイコン絵（四角い絵を角丸に・2026-09-27） */
#rinka-home-arcade .rinka-fs-nav__logo--icon img { width: 64px; height: 64px; max-height: none; object-fit: cover; border-radius: 16px; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(120, 60, 90, .22); filter: none; }
@media (min-width: 720px) { #rinka-home-arcade .rinka-fs-nav__logo--icon img { width: 76px; height: 76px; } }

/* ---------- 2026-09-27 ゲームランキングの入口を目立たせる（制作者「もうすこしめだたせて」） ----------
   front-page.php「ゲームであそぶ」の下。小さな白いボタン → 金色のバナー（トロフィー＋見出し＋しめきり＋→） */
.rinka-home-grk__banner {
	position: relative; display: flex; align-items: center; gap: 14px;
	max-width: 560px; margin: 14px auto 0; padding: 14px 16px 14px 14px; min-height: 76px;
	border-radius: 22px; text-decoration: none; color: #6b3f10; overflow: hidden; isolation: isolate;
	background: linear-gradient(120deg, #fff4c9 0%, #ffd66b 45%, #ffb347 100%);
	border: 2px solid #ffe7a0;
	box-shadow: 0 10px 22px -10px rgba(214, 140, 20, .65), 0 4px 0 #e59d2a, inset 0 1px 0 rgba(255,255,255,.8);
	transition: transform .18s ease, box-shadow .18s ease;
}
.rinka-home-grk__banner::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.7) 45%, transparent 60%);
	transform: translateX(-120%); animation: rinka-grk-shine 3.6s ease-in-out infinite;
}
@keyframes rinka-grk-shine { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
.rinka-home-grk__banner:hover { transform: translateY(-2px); color: #6b3f10; }
.rinka-home-grk__banner:active { transform: translateY(2px); box-shadow: 0 6px 14px -8px rgba(214,140,20,.6), 0 1px 0 #e59d2a; }
.rinka-home-grk__banner:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 3px; }
.rinka-home-grk__banner-ico {
	flex: none; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
	background: radial-gradient(circle at 35% 30%, #fff, #fff3cf 60%, #ffe08a);
	box-shadow: 0 0 0 3px rgba(255,255,255,.7), 0 4px 10px -4px rgba(180,110,0,.6);
}
.rinka-home-grk__banner-img { width: 40px; height: 40px; object-fit: contain; animation: rinka-grk-bob 2.4s ease-in-out infinite; }
@keyframes rinka-grk-bob { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-3px) rotate(4deg); } }
.rinka-home-grk__banner-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; line-height: 1.25; }
.rinka-home-grk__banner-kicker { font-size: .66rem; font-weight: 900; letter-spacing: .14em; color: #b0660b; }
.rinka-home-grk__banner-title { font-size: 1.22rem; font-weight: 900; color: #5a300a; }
.rinka-home-grk__banner-sub { font-size: .76rem; font-weight: 700; color: #8a5210; }
.rinka-home-grk__banner-go {
	flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
	background: #fff; color: #e08a12; box-shadow: 0 3px 0 #e59d2a;
}
@media (max-width: 420px) {
	.rinka-home-grk__banner { gap: 10px; padding: 12px; }
	.rinka-home-grk__banner-ico { width: 48px; height: 48px; }
	.rinka-home-grk__banner-img { width: 34px; height: 34px; }
	.rinka-home-grk__banner-title { font-size: 1.08rem; }
	.rinka-home-grk__banner-sub { font-size: .7rem; }
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .rinka-home-grk__banner { border-color: #c98a26; }
}
@media (prefers-reduced-motion: reduce) {
	.rinka-home-grk__banner::before, .rinka-home-grk__banner-img { animation: none !important; }
	.rinka-home-grk__banner { transition: none; }
}

/* ============================================================
   今日の進みぐあい 刷新（2026-09-27・追加のみ）
   制作者「今日のすすみぐあい もあたらしくしてね」
   ・上に進捗リング（N/M）＋ひとこと＋つぶつぶゲージ
   ・日課はアイコン丸つきのタイル／できたらミントに変わって ぽんっ と弾む
   ・全部できたら金色のコンプリート表示（花火・りんかのボイスは従来どおり rinka-home.js）
   ・クラスは rinka-home.js が付ける .rinka-dq（既存の .rinka-home-task* はそのまま使う）
   ============================================================ */
.rinka-home-tasks.rinka-dq { margin: 12px 0 4px; }

.rinka-dq__head {
	display: flex; align-items: center; gap: 14px;
	margin: 0 0 12px;
	padding: 14px 16px;
	background:
		linear-gradient(var(--rinka-surface, #fff), var(--rinka-surface, #fff)) padding-box,
		linear-gradient(120deg, #ffc3dc, #d9c6ff 60%, #bfe6ff) border-box;
	border: 2px solid transparent;
	border-radius: 22px;
	box-shadow: 0 10px 24px -14px rgba(214, 110, 160, 0.55);
}
.rinka-dq__ring { position: relative; flex: none; width: 64px; height: 64px; }
.rinka-dq__ring svg { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }
.rinka-dq__ring-bg { fill: none; stroke: #f7e1ec; stroke-width: 7; }
.rinka-dq__ring-fg {
	fill: none; stroke: url(#rinka-dq-grad); stroke-width: 7; stroke-linecap: round;
	transition: stroke-dashoffset 0.9s cubic-bezier(0.22, 1, 0.36, 1), stroke 0.3s ease;
}
.rinka-dq__ring-num {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	line-height: 1; color: var(--rinka-ink, #4a3540);
}
.rinka-dq__ring-num b { font-size: 1.45rem; font-weight: 900; color: var(--rinka-accent-strong, #d16a97); }
.rinka-dq__ring-num small { font-size: 0.78rem; font-weight: 800; opacity: 0.6; margin: 5px 0 0 1px; }

.rinka-dq__summary { flex: 1 1 auto; min-width: 0; }
.rinka-dq .rinka-home-tasks__meter { margin: 0; font-size: 0.8rem; font-weight: 700; }
.rinka-dq .rinka-home-tasks__meter strong { font-size: 1rem; }
.rinka-dq__hint {
	display: flex; align-items: center; gap: 5px;
	margin: 2px 0 8px; font-size: 1rem; font-weight: 900; line-height: 1.35;
	color: var(--rinka-accent-strong, #d16a97);
}
.rinka-dq__hint .rds-icon { flex: none; }
.rinka-dq__pips { display: flex; gap: 4px; }
.rinka-dq__pip {
	flex: 1 1 0; height: 7px; border-radius: 99px; background: #f6e3ec;
	transition: background-color 0.3s ease;
}
.rinka-dq__pip.is-on { background: linear-gradient(90deg, #ff8fbf, #b58cff); }

/* ---- 日課タイル ---- */
.rinka-dq .rinka-home-tasks__list { display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 720px) {
	.rinka-dq .rinka-home-tasks__list { grid-template-columns: 1fr 1fr; gap: 10px; }
}
.rinka-dq .rinka-home-task {
	min-height: 56px; padding: 8px 12px 8px 10px; gap: 10px;
	border-radius: 18px;
	border: 1px solid var(--rinka-border, #f3dce6);
	background: var(--rinka-surface, #fff);
	box-shadow: 0 3px 0 rgba(236, 190, 212, 0.55);
}
.rinka-dq a.rinka-home-task:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(236, 190, 212, 0.55), 0 10px 18px -10px rgba(214, 110, 160, 0.5); }
.rinka-dq a.rinka-home-task:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
.rinka-dq .rinka-home-task__state { flex: none; display: inline-flex; color: #e9a9c6; line-height: 0; }
.rinka-dq .rinka-home-task__state svg { width: 24px; height: 24px; }
.rinka-dq .rinka-home-task__emoji {
	flex: none; width: 38px; height: 38px; min-width: 38px; border-radius: 50%;
	background: linear-gradient(145deg, #fff0f6, #ffe0ee);
	box-shadow: inset 0 -2px 0 rgba(233, 150, 190, 0.25);
}
.rinka-dq .rinka-home-task__emoji .rds-icon { width: 20px; height: 20px; }
.rinka-dq .rinka-home-task__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.rinka-dq .rinka-home-task__title { font-size: 0.92rem; line-height: 1.35; letter-spacing: 0.02em; }
.rinka-dq .rinka-home-task__sub { font-size: 0.72rem; font-weight: 700; line-height: 1.3; color: var(--rinka-ink-soft, #8a7580); }
.rinka-dq .rinka-home-task__cta {
	flex: none; display: inline-flex; align-items: center; gap: 1px;
	padding: 6px 8px 6px 12px; border-radius: 99px;
	background: linear-gradient(135deg, #ff8fbf, #f06aa6);
	color: #fff; font-size: 0.78rem; font-weight: 900;
	box-shadow: 0 2px 0 #d9508e;
}
.rinka-dq .rinka-home-task__cta .rds-icon { width: 16px; height: 16px; }

/* できた！ */
.rinka-dq .rinka-home-task.is-done {
	background: linear-gradient(135deg, #effbf3, #e3f6ea);
	border-color: #cdebd7;
	box-shadow: 0 3px 0 rgba(160, 214, 180, 0.6);
}
.rinka-dq .rinka-home-task.is-done .rinka-home-task__state { color: #3fb07a; }
.rinka-dq .rinka-home-task.is-done .rinka-home-task__emoji { background: linear-gradient(145deg, #f4fff7, #d9f2e2); box-shadow: inset 0 -2px 0 rgba(80, 170, 110, 0.18); }
.rinka-dq .rinka-home-task.is-done .rinka-home-task__title { color: #5f8a6d; }
.rinka-dq .rinka-home-task.is-done .rinka-home-task__cta {
	background: none; box-shadow: none; padding: 6px 4px; color: #3a9c6a;
}

/* ゲームを1回あそぶ（新しい日課＝ラベンダーで少しだけ目立たせる） */
.rinka-dq .rinka-home-task--game:not(.is-done) {
	background: linear-gradient(135deg, #fbf7ff, #f3ecff);
	border-color: #e1d3ff;
	box-shadow: 0 3px 0 rgba(196, 172, 245, 0.6);
}
.rinka-dq .rinka-home-task--game:not(.is-done) .rinka-home-task__emoji { background: linear-gradient(145deg, #f6f0ff, #e6dbff); }
.rinka-dq .rinka-home-task--game:not(.is-done) .rinka-home-task__emoji .rds-icon { color: #8a63d8; }
.rinka-dq .rinka-home-task--game:not(.is-done) .rinka-home-task__cta { background: linear-gradient(135deg, #b58cff, #8f6ae8); box-shadow: 0 2px 0 #7453c9; }

/* いま達成した瞬間：タイルが ぽんっ・チェックがくるっ */
.rinka-dq .rinka-home-task.is-new { animation: rinka-dq-pop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rinka-dq .rinka-home-task.is-new .rinka-home-task__state { animation: rinka-dq-check 0.7s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes rinka-dq-pop { 0% { transform: scale(0.94); } 55% { transform: scale(1.04); } 100% { transform: scale(1); } }
@keyframes rinka-dq-check { 0% { transform: scale(0) rotate(-90deg); } 70% { transform: scale(1.25) rotate(8deg); } 100% { transform: scale(1) rotate(0); } }

/* コンプリート：金色のリング＋きらっと光る見出しカード */
.rinka-dq.is-complete .rinka-dq__head {
	background:
		linear-gradient(135deg, #fffaf0, #fff3dc) padding-box,
		linear-gradient(120deg, #ffd66b, #ffb3d2 55%, #c9b2ff) border-box;
	position: relative; overflow: hidden;
}
.rinka-dq.is-complete .rinka-dq__head::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.85) 50%, transparent 65%);
	transform: translateX(-120%);
	animation: rinka-dq-shine 3.2s ease-in-out 0.4s infinite;
}
@keyframes rinka-dq-shine { 0% { transform: translateX(-120%); } 45%, 100% { transform: translateX(120%); } }
.rinka-dq.is-complete .rinka-dq__ring-fg { stroke: #f2b233; }
.rinka-dq.is-complete .rinka-dq__ring-bg { stroke: #fbe9c2; }
.rinka-dq.is-complete .rinka-dq__ring-num b { color: #c9820d; }
.rinka-dq.is-complete .rinka-dq__ring { animation: rinka-dq-glow 2.4s ease-in-out infinite; border-radius: 50%; }
@keyframes rinka-dq-glow { 0%, 100% { filter: drop-shadow(0 0 0 rgba(242, 178, 51, 0)); } 50% { filter: drop-shadow(0 0 8px rgba(242, 178, 51, 0.7)); } }
.rinka-dq__hint.is-complete { color: #b8740a; }
.rinka-dq__hint.is-complete .rds-icon { fill: #ffcf4d; stroke: #d99a14; }
.rinka-dq.is-complete .rinka-dq__pip.is-on { background: linear-gradient(90deg, #ffcf4d, #ffa8c9); }
.rinka-dq .rinka-home-tasks__meter-msg { color: #3a9c6a; font-weight: 900; }
/* コンプリート時は下の「コンプリート！」と同じ内容なので、見た目だけ隠す（読み上げには残す） */
.rinka-dq.is-complete .rinka-home-tasks__meter-msg {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* 吹き出しの顔（SVG化）と🔊ボタン（押せる所44px） */
.rinka-home-fanfare__face .rds-icon { display: block; color: var(--rinka-accent-strong, #d16a97); }
.rinka-home-fanfare.is-grand .rinka-home-fanfare__face .rds-icon { color: #d99a14; }
.rinka-home-fanfare__voice-btn { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--rinka-accent-strong, #d16a97); }

@media (max-width: 480px) {
	.rinka-dq .rinka-home-task { gap: 8px; padding: 8px 8px 8px 8px; }
	.rinka-dq .rinka-home-task__state svg { width: 20px; height: 20px; }
	.rinka-dq .rinka-home-task__emoji { width: 34px; height: 34px; min-width: 34px; }
	.rinka-dq .rinka-home-task__title { font-size: 0.86rem; letter-spacing: 0; }
	.rinka-dq .rinka-home-task__sub { letter-spacing: 0; }
	.rinka-dq .rinka-home-task__cta { padding: 6px 4px 6px 10px; letter-spacing: 0; }
}
@media (max-width: 380px) {
	.rinka-dq__head { gap: 10px; padding: 12px; }
	.rinka-dq__ring { width: 56px; height: 56px; }
	.rinka-dq__ring-num b { font-size: 1.25rem; }
	.rinka-dq__hint { font-size: 0.92rem; }
	.rinka-dq .rinka-home-task__emoji { width: 34px; height: 34px; min-width: 34px; }
}
@media (min-width: 720px) {
	.rinka-dq__ring { width: 76px; height: 76px; }
	.rinka-dq__ring-num b { font-size: 1.7rem; }
	.rinka-dq__hint { font-size: 1.08rem; }
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .rinka-dq .rinka-home-task.is-done { background: rgba(80, 170, 110, 0.14); border-color: rgba(120, 200, 150, 0.35); }
	:root:not([data-theme="light"]) .rinka-dq .rinka-home-task.is-done .rinka-home-task__title { color: #9fd9b3; }
	:root:not([data-theme="light"]) .rinka-dq .rinka-home-task--game:not(.is-done) { background: rgba(150, 120, 230, 0.14); border-color: rgba(180, 150, 255, 0.35); }
	:root:not([data-theme="light"]) .rinka-dq.is-complete .rinka-dq__head { background: linear-gradient(135deg, rgba(255, 214, 107, 0.14), rgba(255, 179, 210, 0.12)) padding-box, linear-gradient(120deg, #ffd66b, #ffb3d2 55%, #c9b2ff) border-box; }
}
@media (prefers-reduced-motion: reduce) {
	.rinka-dq__ring-fg { transition: none; }
	.rinka-dq .rinka-home-task.is-new,
	.rinka-dq .rinka-home-task.is-new .rinka-home-task__state,
	.rinka-dq.is-complete .rinka-dq__ring,
	.rinka-dq.is-complete .rinka-dq__head::after { animation: none !important; }
}

/* ---------- 2026-09-27 「無料ゲームをぜんぶ見る」「りんかってどんな子？」を2枚のカードに（制作者「ふるくさいね」） ---------- */
.rinka-seo-land__links.rinka-home-more2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 0; }
.rinka-home-more2__card {
	display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 10px 12px; border-radius: 18px;
	background: linear-gradient(135deg, #f4f0ff, #fff 60%); border: 1.5px solid #e4dcfb; color: #4a3a5a !important;
	text-decoration: none !important; box-shadow: 0 6px 14px -10px rgba(120, 90, 200, .45); transition: transform .18s ease, box-shadow .18s ease;
}
.rinka-home-more2__card--who { background: linear-gradient(135deg, #ffeef5, #fff 60%); border-color: #fbd3e3; box-shadow: 0 6px 14px -10px rgba(220, 90, 140, .45); }
.rinka-home-more2__card:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -10px rgba(120, 90, 200, .5); text-decoration: none !important; }
.rinka-home-more2__card:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
.rinka-home-more2__ico { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: 0 0 0 2px #e4dcfb; overflow: hidden; }
.rinka-home-more2__card--who .rinka-home-more2__ico { box-shadow: 0 0 0 2px #ffc2d8; }
.rinka-home-more2__img { width: 30px; height: 30px; object-fit: contain; }
.rinka-home-more2__face { width: 100%; height: 100%; object-fit: cover; }
.rinka-home-more2__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.rinka-home-more2__txt b { font-size: .92rem; font-weight: 900; color: #3f2f52; }
.rinka-home-more2__txt small { font-size: .7rem; color: #8a7a9a; margin-top: 2px; }
.rinka-home-more2__go { flex: none; color: #b39ce8; }
.rinka-home-more2__card--who .rinka-home-more2__go { color: #f08bb2; }
@media (max-width: 560px) { .rinka-seo-land__links.rinka-home-more2 { grid-template-columns: 1fr; } }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .rinka-home-more2__card { background: #2a2433; border-color: #463a57; color: #eee !important; }
	:root:not([data-theme="light"]) .rinka-home-more2__txt b { color: #f3ecfa; }
	:root:not([data-theme="light"]) .rinka-home-more2__txt small { color: #bcaecb; }
}
@media (prefers-reduced-motion: reduce) { .rinka-home-more2__card { transition: none; } }

/* ============================================================
   トップ中段 7セクション 見た目の刷新（2026-09-27・追加のみ）
   制作者「ここらへんもあたらしく」
   対象: 続きから遊ぶ / りんかとあそぶ / りんかとあつめる / 新しく解放されたもの /
         コレクションのすすみぐあい / りんかマニア / りんかとなかよくなる
   ・見出しは「横線」をやめて、色つきの小さなキッカー＋大きめのタイトルに
   ・タイルはアイコンを丸で囲んだカード（左そろえ・右下に →）。5枚の時は1枚目を横長の主役に
   ・続きから遊ぶはスマホで横スクロール、新しく解放されたものは通知カード
   ・コレクションはリング＋さいきん手に入れた絵のサムネ（rinka-home.js が .rinka-hcol* を足す）
   ・りんかマニアの ？？？ には「いま何枚 / 必要枚数」のゲージ（rinka-mania-gate.js）
   ・既存の id/class はそのまま。ID で絞って上書きするだけ（撤収はこのブロックを消すだけ）
   ============================================================ */
#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
#rinka-home-collection, #rinka-home-mania, #rinka-home-bond {
	--h26-accent: #d9538f;
	--h26-ink: #4a3540;
	--h26-soft: #fff0f6;
	--h26-soft2: #ffe0ee;
	--h26-line: #f6d3e3;
	--h26-shadow: rgba(214, 110, 160, .35);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9538f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
#rinka-home-resume-section {
	--h26-accent: #4f86d6; --h26-soft: #eef5ff; --h26-soft2: #dcebff; --h26-line: #d3e3fa; --h26-shadow: rgba(90, 140, 215, .32);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f86d6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
#rinka-home-collect, #rinka-home-new-section {
	--h26-accent: #8a5fd6; --h26-soft: #f5f0ff; --h26-soft2: #e8dcff; --h26-line: #e2d6fb; --h26-shadow: rgba(130, 95, 210, .32);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a5fd6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
#rinka-home-mania {
	--h26-accent: #6a4fd0; --h26-soft: #f1edff; --h26-soft2: #ddd3ff; --h26-line: #d9cffa; --h26-shadow: rgba(106, 79, 208, .32);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a4fd0' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
#rinka-home-bond {
	--h26-accent: #d0567f; --h26-soft: #fff1f3; --h26-soft2: #ffe2e8; --h26-line: #f8d5de; --h26-shadow: rgba(208, 86, 127, .32);
}

/* ---- 見出し：キッカー（線つき小文字）＋大きめタイトル・横線なし ---- */
:is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
	#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__eyebrow.rinka-kicker {
	display: inline-flex; align-items: center; gap: 7px;
	margin: 0 0 4px; padding: 0;
	background: none; box-shadow: none; border: 0;
	font-size: .72rem; font-weight: 800; letter-spacing: .2em; line-height: 1.4;
	color: var(--h26-accent);
}
:is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
	#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__eyebrow.rinka-kicker::before {
	content: ""; flex: none; width: 18px; height: 6px; border-radius: 99px;
	background: linear-gradient(90deg, var(--h26-accent), var(--h26-soft2));
}
:is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
	#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__eyebrow.rinka-kicker::after { content: none; display: none; }
:is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
	#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__title {
	display: block;
	margin: 0 0 16px; padding: 0; border: 0; background: none;
	font-size: clamp(1.5rem, 1.25rem + 1.1vw, 1.9rem); font-weight: 900; line-height: 1.3; letter-spacing: .03em;
	color: var(--h26-ink);
}
:is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
	#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__title::before,
:is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
	#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__title::after { content: none; display: none; }

/* ---- タイル（あそぶ / あつめる / マニア / なかよし） ---- */
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav.rinka-fs-nav--next {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0;
}
@media (min-width: 720px) {
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav.rinka-fs-nav--next { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav.rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	#rinka-home-mania .rinka-fs-nav.rinka-fs-nav--next { gap: 14px; }
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__card {
	position: relative;
	display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px;
	min-width: 0; min-height: 124px;
	padding: 14px;
	text-align: left;
	color: var(--h26-ink);
	background: linear-gradient(160deg, #fff 55%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
	text-decoration: none;
	overflow: hidden;
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) a.rinka-fs-nav__card::after {
	content: ""; position: absolute; right: 10px; bottom: 10px;
	width: 26px; height: 26px; border-radius: 50%;
	background: var(--h26-soft) var(--h26-chev) center / 14px no-repeat;
	transition: transform .2s ease;
}
@media (hover: hover) {
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) a.rinka-fs-nav__card:hover {
		transform: translateY(-3px);
		box-shadow: 0 5px 0 var(--h26-line), 0 16px 28px -14px var(--h26-shadow);
	}
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) a.rinka-fs-nav__card:hover::after { transform: translateX(3px); }
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) a.rinka-fs-nav__card:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__emoji {
	flex: none; display: grid; place-items: center;
	width: 46px; height: 46px; margin: 0 0 6px; border-radius: 50%;
	background: linear-gradient(145deg, var(--h26-soft), var(--h26-soft2));
	box-shadow: inset 0 -3px 0 rgba(255, 255, 255, .6), 0 0 0 3px #fff, 0 4px 10px -4px var(--h26-shadow);
	color: var(--h26-accent);
	font-size: 1.4rem; line-height: 1;
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__emoji > svg { width: 24px; height: 24px; }
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__title {
	max-width: 100%;
	white-space: normal; word-break: keep-all; overflow-wrap: anywhere;
	font-size: .96rem; font-weight: 900; line-height: 1.35; letter-spacing: .01em;
	color: var(--h26-ink); text-align: left;
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__desc {
	max-width: 100%; padding-right: 28px;
	text-align: left; font-size: .74rem; line-height: 1.5; font-weight: 600;
	color: var(--rinka-ink-soft, #76606c);
}
/* 5枚のときは1枚目を横長の主役に（2列でも3列でもすき間ができない） */
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(5):last-child) > .rinka-fs-nav__card:first-child {
	grid-column: span 2;
	display: grid; grid-template-columns: 58px minmax(0, 1fr); grid-template-rows: auto auto;
	align-content: center; column-gap: 14px; row-gap: 2px;
	min-height: 104px;
	background: linear-gradient(120deg, var(--h26-soft) 0%, #fff 70%);
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(5):last-child) > .rinka-fs-nav__card:first-child .rinka-fs-nav__emoji {
	grid-row: 1 / span 2; width: 58px; height: 58px; margin: 0;
}
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(5):last-child) > .rinka-fs-nav__card:first-child .rinka-fs-nav__emoji > svg { width: 28px; height: 28px; }
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(5):last-child) > .rinka-fs-nav__card:first-child .rinka-fs-nav__title { font-size: 1.08rem; align-self: end; }
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-bond) .rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(5):last-child) > .rinka-fs-nav__card:first-child .rinka-fs-nav__desc { align-self: start; }

/* 状態バッジ（のこり時間・きょうは引いたよ 等）：せまいカードでは説明の下の小さなピルに、横長の主役カードでは右上に（文言はそのまま） */
#rinka-home-games .rinka-fs-nav__card .rinka-home-chip {
	position: static; align-self: flex-start; margin-top: 6px; max-width: 100%;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	padding: 3px 9px; font-size: .66rem; font-weight: 800; line-height: 1.5;
	box-shadow: 0 2px 6px -2px rgba(0, 0, 0, .12);
}
/* バッジのあるカードは右下の → をやめてバッジを主役に（押せる範囲はカード全体のまま） */
#rinka-home-games a.rinka-fs-nav__card:has(> .rinka-home-chip)::after { content: none; display: none; }
#rinka-home-games a.rinka-fs-nav__card:has(> .rinka-home-chip) .rinka-fs-nav__desc { padding-right: 0; }
#rinka-home-games .rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(5):last-child) > .rinka-fs-nav__card:first-child .rinka-home-chip {
	position: absolute; top: 10px; right: 10px; margin: 0; max-width: calc(100% - 90px);
}
#rinka-home-games .rinka-home-chip--new { background: linear-gradient(135deg, #ff8fbf, #f06aa6); border-color: transparent; color: #fff; }

@media (max-width: 420px) {
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__card { padding: 12px; }
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__title { font-size: .86rem; letter-spacing: 0; }
}

/* ---- りんかマニア：解放ずみはラベンダーの特別カード、？？？は点線＋ゲージ ---- */
#rinka-home-mania .rinka-mania-slot__real {
	background:
		radial-gradient(90% 70% at 100% 0%, rgba(255, 143, 191, .22), transparent 60%),
		linear-gradient(150deg, #fff 30%, #efe9ff);
}
#rinka-home-mania .rinka-mania-slot__real .rinka-fs-nav__emoji {
	background: linear-gradient(145deg, #7b61e0, #c07ae6); color: #fff;
}
#rinka-home-mania .rinka-fs-nav__card--mystery {
	border: 1.5px dashed #cdbff5;
	background: repeating-linear-gradient(135deg, #faf8ff 0 10px, #f4f0ff 10px 20px);
	box-shadow: none;
	cursor: default;
}
#rinka-home-mania .rinka-fs-nav__card--mystery .rinka-fs-nav__emoji,
#rinka-home-mania .rinka-fs-nav__card--mystery .rinka-fs-nav__title,
#rinka-home-mania .rinka-fs-nav__card--mystery .rinka-fs-nav__desc { opacity: 1; }
#rinka-home-mania .rinka-fs-nav__card--mystery .rinka-fs-nav__emoji { background: #ece7fb; color: #9b8cc9; box-shadow: 0 0 0 3px #fff; }
#rinka-home-mania .rinka-fs-nav__card--mystery .rinka-fs-nav__title { color: #8d7fb8; letter-spacing: .2em; }
#rinka-home-mania .rinka-fs-nav__card--mystery .rinka-fs-nav__desc { padding-right: 0; color: #6f6399; -webkit-line-clamp: 3; }
.rinka-mania-progress {
	display: flex; align-items: center; gap: 8px;
	width: 100%; margin-top: auto; padding-top: 8px;
}
.rinka-mania-progress__bar { flex: 1 1 auto; height: 7px; border-radius: 99px; background: #e6def9; overflow: hidden; }
.rinka-mania-progress__bar i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #b58cff, #ff8fbf); transition: width .8s cubic-bezier(.22, 1, .36, 1); }
.rinka-mania-progress__num { flex: none; font-size: .72rem; font-weight: 900; color: #6a4fd0; font-variant-numeric: tabular-nums; }
@media (min-width: 720px) {
	#rinka-home-mania .rinka-fs-nav__card {
		display: grid; grid-template-columns: 58px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-content: center; min-height: 112px;
	}
	#rinka-home-mania .rinka-fs-nav__emoji { grid-row: 1 / span 3; width: 58px; height: 58px; margin: 0; }
	#rinka-home-mania .rinka-mania-progress { grid-column: 2; }
}

/* ---- 続きから遊ぶ：PCは横並びカード、スマホは横スクロール ---- */
#rinka-home-resume {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 0;
}
#rinka-home-resume .rinka-home-resume__item {
	position: relative;
	display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
	min-height: 132px; padding: 14px;
	background: linear-gradient(160deg, #fff 45%, var(--h26-soft));
	border: 1.5px solid var(--h26-line); border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
	color: var(--h26-ink);
}
@media (hover: hover) {
	#rinka-home-resume .rinka-home-resume__item:hover { transform: translateY(-3px); box-shadow: 0 5px 0 var(--h26-line), 0 16px 28px -14px var(--h26-shadow); }
}
#rinka-home-resume .rinka-home-resume__item:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
#rinka-home-resume .rinka-home-resume__emoji {
	flex: none; display: grid; place-items: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: linear-gradient(145deg, var(--h26-soft), var(--h26-soft2));
	box-shadow: 0 0 0 3px #fff, 0 4px 10px -4px var(--h26-shadow);
	color: var(--h26-accent); font-size: 1.3rem; line-height: 1;
}
#rinka-home-resume .rinka-home-resume__emoji > svg { width: 22px; height: 22px; }
#rinka-home-resume .rinka-home-resume__body { flex: 1 1 auto; width: 100%; justify-content: space-between; gap: 10px; }
#rinka-home-resume .rinka-home-resume__text { font-size: .9rem; font-weight: 800; line-height: 1.55; }
#rinka-home-resume .rinka-home-resume__cta {
	align-self: flex-start;
	display: inline-flex; align-items: center; min-height: 32px;
	padding: 5px 14px; border-radius: 99px;
	background: linear-gradient(135deg, #6fa0e8, #3f72c4);
	color: #fff; font-size: .78rem; font-weight: 900;
	box-shadow: 0 2px 0 #34629f;
}
#rinka-home-resume .rinka-home-resume__more {
	grid-column: 1 / -1;
	display: flex; align-items: center; justify-content: center; min-height: 44px;
	border-radius: 16px; font-weight: 800; color: var(--h26-accent);
}
@media (max-width: 600px) {
	#rinka-home-resume {
		display: flex; gap: 10px;
		margin: 0 -16px; padding: 2px 16px 10px;
		overflow-x: auto; overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory; scroll-padding: 0 16px;
		scrollbar-width: none;
	}
	#rinka-home-resume::-webkit-scrollbar { display: none; }
	#rinka-home-resume .rinka-home-resume__item,
	#rinka-home-resume .rinka-home-resume__item:nth-child(n+3) { display: flex; flex: 0 0 76%; scroll-snap-align: start; }
	#rinka-home-resume .rinka-home-resume__item:only-child { flex-basis: 100%; }
	#rinka-home-resume .rinka-home-resume__more {
		flex: 0 0 38%; scroll-snap-align: start; padding: 10px;
		border: 1.5px dashed var(--h26-line); background: var(--h26-soft);
		text-align: center; font-size: .8rem; line-height: 1.5;
	}
}

/* ---- 新しく解放されたもの：目立つ通知カード ---- */
#rinka-home-new { display: flex; flex-direction: column; gap: 10px; margin: 0; }
#rinka-home-new .rinka-home-new__item {
	position: relative;
	display: flex; align-items: center; gap: 12px;
	min-height: 64px; padding: 12px 16px 12px 12px;
	background:
		radial-gradient(120% 140% at 0% 0%, rgba(255, 143, 191, .22), transparent 55%),
		linear-gradient(120deg, #f6efff, #fff4f9);
	border: 1.5px solid #e2d3fb;
	border-radius: 22px;
	box-shadow: 0 3px 0 #e8dcfb, 0 12px 24px -16px rgba(130, 95, 210, .5);
	color: #3f2f52; font-size: .95rem; font-weight: 800; line-height: 1.5;
	text-decoration: none;
}
#rinka-home-new .rinka-home-new__item > svg:first-child {
	flex: none; box-sizing: content-box; width: 22px; height: 22px; padding: 10px;
	border-radius: 50%; background: #fff; color: #8a5fd6;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .6), 0 4px 10px -4px rgba(130, 95, 210, .5);
}
#rinka-home-new .rinka-home-new__item > span[aria-hidden="true"]:first-child {
	flex: none; display: grid; place-items: center; width: 42px; height: 42px;
	border-radius: 50%; background: #fff; color: #8a5fd6;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .6), 0 4px 10px -4px rgba(130, 95, 210, .5);
}
#rinka-home-new .rinka-home-new__item > span[aria-hidden="true"]:first-child > svg { width: 22px; height: 22px; }
/* 「とどいたよ」のしるし（アイコンの右上にぽつっと光る点） */
#rinka-home-new .rinka-home-new__item::before {
	content: ""; position: absolute; left: 44px; top: 10px;
	width: 10px; height: 10px; border-radius: 50%;
	background: #ff5f9e; box-shadow: 0 0 0 2px #fff;
	animation: rinka-h26-ping 1.8s ease-out infinite;
}

@media (hover: hover) {
	#rinka-home-new .rinka-home-new__item:hover { transform: translateY(-2px); box-shadow: 0 5px 0 #e8dcfb, 0 16px 28px -14px rgba(130, 95, 210, .55); }
}
#rinka-home-new .rinka-home-new__item:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
@keyframes rinka-h26-ping {
	0% { box-shadow: 0 0 0 2px #fff, 0 0 0 2px rgba(255, 95, 158, .55); }
	70%, 100% { box-shadow: 0 0 0 2px #fff, 0 0 0 10px rgba(255, 95, 158, 0); }
}

/* ---- コレクションのすすみぐあい：リング＋サムネの大きなカード ---- */
#rinka-home-collection-body { grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 12px; }
#rinka-home-collection-body .rinka-home-collection__item {
	padding: 16px;
	border: 1.5px solid var(--h26-line); border-radius: 24px;
	background:
		radial-gradient(90% 90% at 100% 0%, rgba(255, 143, 191, .14), transparent 60%),
		linear-gradient(160deg, #fff 50%, var(--h26-soft));
	box-shadow: 0 3px 0 var(--h26-line), 0 12px 24px -16px var(--h26-shadow);
}
#rinka-home-collection-body .rinka-hcol--cards {
	--h26-line: #e2d6fb; --h26-soft: #f3efff; --h26-shadow: rgba(130, 95, 210, .35);
	background:
		radial-gradient(90% 90% at 100% 0%, rgba(143, 200, 255, .18), transparent 60%),
		linear-gradient(160deg, #fff 50%, #f3efff);
}
#rinka-home-collection-body .rinka-hcol--ring {
	display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: center;
}
#rinka-home-collection-body .rinka-hcol--ring > * { grid-column: 2; min-width: 0; }
#rinka-home-collection-body .rinka-hcol--ring > .rinka-hcol__ring { grid-column: 1; grid-row: 1 / span 3; }
#rinka-home-collection-body .rinka-hcol--ring > .rinka-home-collection__sub,
#rinka-home-collection-body .rinka-hcol--ring > .rinka-hcol__thumbs { grid-column: 1 / -1; }
#rinka-home-collection-body .rinka-home-collection__label {
	display: flex; align-items: center; gap: 5px; margin: 0;
	font-size: .8rem; font-weight: 800; color: var(--h26-accent);
}
#rinka-home-collection-body .rinka-hcol--cards .rinka-home-collection__label { color: #7a52c9; }
#rinka-home-collection-body .rinka-home-collection__label .rds-icon { width: 16px; height: 16px; }
#rinka-home-collection-body .rinka-home-collection__value {
	margin: 0; font-size: 1.7rem; font-weight: 900; line-height: 1.15; letter-spacing: .01em;
	color: var(--h26-ink); font-variant-numeric: tabular-nums;
}
#rinka-home-collection-body .rinka-home-collection__value small { font-size: .82rem; font-weight: 800; color: var(--rinka-ink-soft, #76606c); }
#rinka-home-collection-body .rinka-home-collection__bar { margin-top: 6px; height: 6px; background: #f6e3ec; }
#rinka-home-collection-body .rinka-hcol--cards .rinka-home-collection__bar { background: #ebe4fb; }
#rinka-home-collection-body .rinka-hcol--cards .rinka-home-collection__bar span { background: linear-gradient(90deg, #b58cff, #7fc8ff); }
#rinka-home-collection-body .rinka-home-collection__sub {
	margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed var(--h26-line);
	font-size: .78rem; font-weight: 700; line-height: 1.5; color: var(--rinka-ink-soft, #76606c);
}
.rinka-hcol__ring { position: relative; width: 64px; height: 64px; }
.rinka-hcol__ring svg { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }
.rinka-hcol__ring-bg { fill: none; stroke: #f6e3ec; stroke-width: 7; }
.rinka-hcol--cards .rinka-hcol__ring-bg { stroke: #ebe4fb; }
.rinka-hcol__ring-fg { fill: none; stroke-width: 7; stroke-linecap: round; transition: stroke-dashoffset 1.1s cubic-bezier(.22, 1, .36, 1); }
.rinka-hcol__pct {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	line-height: 1; color: var(--h26-ink, #4a3540);
}
.rinka-hcol__pct b { font-size: 1.05rem; font-weight: 900; }
.rinka-hcol__pct small { font-size: .62rem; font-weight: 800; opacity: .65; margin: 3px 0 0 1px; }
.rinka-hcol__thumbs { display: flex; align-items: flex-end; gap: 6px; margin-top: 8px; }
.rinka-hcol__thumb {
	display: block; width: 44px; height: 58px; object-fit: cover; border-radius: 10px;
	border: 2px solid #fff; background: #f6e3ec;
	box-shadow: 0 4px 10px -4px rgba(120, 60, 100, .45);
}
.rinka-hcol__thumb:first-child { width: 52px; height: 68px; }

/* ---- りんかとなかよくなる：手紙のまとまりとの間 ---- */
#rinka-home-bond .rinka-home-mailbox { margin-top: 16px; }

/* ---- あつめる：増やし方の案内もカードに合わせる ---- */
#rinka-home-collect .rinka-home-nextstep__item { border-radius: 18px; min-height: 56px; }

/* ---- ダークモード ---- */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) :is(#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section,
		#rinka-home-collection, #rinka-home-mania, #rinka-home-bond) { --h26-ink: #f3ecfa; --h26-soft: #3a3046; --h26-soft2: #4a3b5c; --h26-line: #4a3d5a; }
	:root:not([data-theme="light"]) :is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__card,
	:root:not([data-theme="light"]) #rinka-home-resume .rinka-home-resume__item,
	:root:not([data-theme="light"]) #rinka-home-collection-body .rinka-home-collection__item,
	:root:not([data-theme="light"]) #rinka-home-new .rinka-home-new__item { background: #2a2433; color: var(--h26-ink); }
}

/* ---- 動きをひかえめに ---- */
@media (prefers-reduced-motion: reduce) {
	#rinka-home-new .rinka-home-new__item::before { animation: none; }
	.rinka-hcol__ring-fg, .rinka-mania-progress__bar i { transition: none; }
	:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) a.rinka-fs-nav__card::after { transition: none; }
}

/* ============================================================
   タグから探す（#rinka-tags）刷新（2026-09-27・追加のみ）
   制作者「ここもあたらしく けんさくででるようにしたらいいね SEO」
   ・見出しは他のセクションと同じ「キッカー＋大きめタイトル・横線なし」
   ・人気のタグ＝絵サムネ＋件数の横スクロールカード（front-page.php の .rinka-htag__rail）
   ・テーマ（カテゴリ）はセグメント風の横スクロール。件数は data-rinka-n を ::after で出す（i18n の文字差しかえに影響しない）
   ・どれも <a href>。押せる所は高さ44px以上
   ・既存の id/class はそのまま。#rinka-tags で絞って上書きするだけ（撤収はこのブロックを消すだけ）
   ============================================================ */
#rinka-tags {
	--h26-accent: #d9538f; --h26-ink: #4a3540; --h26-soft: #fff0f6; --h26-soft2: #ffe0ee;
	--h26-line: #f6d3e3; --h26-shadow: rgba(214, 110, 160, .35);
	--htag-card: #fff;
	--htag-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9538f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(255, 143, 191, .16), transparent 55%),
		radial-gradient(90% 70% at 0% 100%, rgba(201, 162, 255, .14), transparent 60%),
		var(--rinka-surface-soft, #fff7fb);
	overflow: hidden;
}
#rinka-tags > .rinka-section__eyebrow.rinka-kicker {
	display: inline-flex; align-items: center; gap: 7px;
	margin: 0 0 4px; padding: 0; background: none; box-shadow: none; border: 0;
	font-size: .72rem; font-weight: 800; letter-spacing: .2em; line-height: 1.4; color: var(--h26-accent);
}
#rinka-tags > .rinka-section__eyebrow.rinka-kicker::before {
	content: ""; flex: none; width: 18px; height: 6px; border-radius: 99px;
	background: linear-gradient(90deg, var(--h26-accent), var(--h26-soft2));
}
#rinka-tags > .rinka-section__eyebrow.rinka-kicker::after { content: none; display: none; }
#rinka-tags > .rinka-section__title {
	display: block; margin: 0 0 6px; padding: 0; border: 0; background: none;
	font-size: clamp(1.5rem, 1.25rem + 1.1vw, 1.9rem); font-weight: 900; line-height: 1.3; letter-spacing: .03em;
	color: var(--h26-ink);
}
#rinka-tags > .rinka-section__title::before,
#rinka-tags > .rinka-section__title::after { content: none; display: none; }
#rinka-tags .rinka-htag__lead {
	margin: 0 0 14px; font-size: .86rem; font-weight: 600; line-height: 1.6; color: var(--rinka-ink-soft, #76606c);
}
#rinka-tags .rinka-htag__sub {
	display: flex; align-items: center; gap: 6px;
	margin: 14px 0 8px; font-size: .8rem; font-weight: 900; letter-spacing: .04em; color: var(--h26-ink);
}
#rinka-tags .rinka-htag__subico {
	display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
	background: linear-gradient(145deg, var(--h26-soft), var(--h26-soft2)); color: var(--h26-accent);
	box-shadow: 0 0 0 2px #fff;
}
#rinka-tags .rinka-htag__subico svg { width: 15px; height: 15px; }

/* ---- 人気のタグ：絵サムネ＋件数の横スクロールカード ---- */
#rinka-tags .rinka-htag__rail {
	display: flex; gap: 10px;
	margin: 0 -20px; padding: 2px 20px 12px;
	overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scroll-padding: 0 20px;
	scrollbar-width: none;
}
#rinka-tags .rinka-htag__rail::-webkit-scrollbar { display: none; }
#rinka-tags .rinka-htag__card {
	position: relative; flex: 0 0 38%; max-width: 168px; min-width: 128px;
	display: flex; flex-direction: column;
	scroll-snap-align: start;
	border-radius: 20px; overflow: hidden;
	background: var(--htag-card); border: 1.5px solid var(--h26-line);
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
	color: var(--h26-ink); text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
#rinka-tags .rinka-htag__art {
	position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden;
	background: linear-gradient(150deg, #ffe3ef, #efe4ff);
}
#rinka-tags .rinka-htag__art img {
	display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%;
	transition: transform .35s ease;
}
#rinka-tags .rinka-htag__body {
	display: flex; flex-direction: column; gap: 3px; min-width: 0; min-height: 52px;
	padding: 9px 11px 11px;
}
#rinka-tags .rinka-htag__name {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	font-size: .84rem; font-weight: 900; line-height: 1.35; color: var(--h26-ink);
	overflow-wrap: anywhere;
}
#rinka-tags .rinka-htag__count {
	position: absolute; right: 8px; top: 8px;
	display: inline-flex; align-items: baseline; gap: 1px;
	padding: 2px 9px; border-radius: 99px;
	background: rgba(255, 255, 255, .94); color: var(--h26-accent);
	font-size: .66rem; font-weight: 800; line-height: 1.5;
	box-shadow: 0 2px 8px -3px rgba(120, 50, 90, .45);
}
#rinka-tags .rinka-htag__count b { font-size: .86rem; font-weight: 900; font-variant-numeric: tabular-nums; }
@media (hover: hover) {
	#rinka-tags .rinka-htag__card:hover { transform: translateY(-3px); box-shadow: 0 5px 0 var(--h26-line), 0 16px 28px -14px var(--h26-shadow); }
	#rinka-tags .rinka-htag__card:hover .rinka-htag__art img { transform: scale(1.04); }
}
#rinka-tags .rinka-htag__card:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
@media (min-width: 720px) {
	#rinka-tags .rinka-htag__rail {
		display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
		margin: 0; padding: 2px 0 6px; overflow: visible; scroll-snap-type: none;
	}
	#rinka-tags .rinka-htag__card { max-width: none; min-width: 0; }
	#rinka-tags .rinka-htag__art { aspect-ratio: 4 / 5; }
}
@media (max-width: 480px) {
	#rinka-tags .rinka-htag__rail { margin: 0 -14px; padding: 2px 14px 12px; scroll-padding: 0 14px; }
}

/* ---- ほかのタグ（rinka_render_tag_cloud のピル）：左そろえ・押しやすく ---- */
#rinka-tags .chips.chips--tags { justify-content: flex-start; margin: 0; gap: 8px; }
#rinka-tags .chips.chips--tags .chip {
	display: inline-flex; align-items: center; min-height: 44px; padding: 6px 15px;
	background: #fff; border: 1.5px solid var(--h26-line); color: var(--h26-ink);
	font-size: .8rem; font-weight: 800;
}

/* ---- テーマでえらぶ：セグメント風の横スクロール（件数は data-rinka-n） ---- */
#rinka-tags .chips.rinka-htag__seg {
	display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 4px;
	margin: 0 -20px; padding: 5px 20px 10px;
	overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
	scroll-snap-type: x proximity; scroll-padding: 0 20px;
}
#rinka-tags .chips.rinka-htag__seg::-webkit-scrollbar { display: none; }
#rinka-tags .chips.rinka-htag__seg .chip {
	flex: none; display: inline-flex; align-items: center; gap: 6px;
	min-height: 44px; padding: 6px 16px; scroll-snap-align: start;
	border: 0; border-radius: 14px;
	background: rgba(255, 255, 255, .75); color: var(--h26-ink);
	box-shadow: inset 0 0 0 1.5px var(--h26-line);
	font-size: .82rem; font-weight: 800; white-space: nowrap;
}
#rinka-tags .chips.rinka-htag__seg .chip[data-rinka-n]::after {
	content: attr(data-rinka-n);
	display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px;
	border-radius: 99px; background: var(--h26-soft); color: var(--h26-accent);
	font-size: .66rem; font-weight: 900; font-variant-numeric: tabular-nums;
}
#rinka-tags .chips.rinka-htag__seg .chip.on {
	background: linear-gradient(135deg, #f178ad, #d9538f); color: #fff;
	box-shadow: 0 4px 12px -4px rgba(217, 83, 143, .6);
}
#rinka-tags .chips.rinka-htag__seg .chip:hover { transform: none; }
@media (hover: hover) {
	#rinka-tags .chips.rinka-htag__seg .chip:not(.on):hover { background: #fff; box-shadow: inset 0 0 0 1.5px var(--h26-accent); color: var(--h26-accent); }
}
@media (min-width: 720px) {
	#rinka-tags .chips.rinka-htag__seg { flex-wrap: wrap; margin: 0; padding: 4px 0 6px; overflow: visible; }
}
@media (max-width: 480px) {
	#rinka-tags .chips.rinka-htag__seg { margin: 0 -14px; padding: 5px 14px 10px; scroll-padding: 0 14px; }
}

/* ---- 入口カード（りんかタグ一覧 / タグをすべて見る）：2枚ならべ ---- */
#rinka-tags .rinka-linkcards.rinka-htag__links {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; max-width: none;
}
#rinka-tags .rinka-htag__links .rinka-linkcard {
	min-height: 64px; border-radius: 20px;
	border: 1.5px solid var(--h26-line);
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
}
#rinka-tags .rinka-htag__links .rinka-linkcard__arrow {
	font-size: 0; width: 26px; height: 26px; flex: none; border-radius: 50%;
	background: var(--h26-soft) var(--htag-chev) center / 14px no-repeat;
}
@media (max-width: 600px) {
	#rinka-tags .rinka-linkcards.rinka-htag__links { grid-template-columns: 1fr; }
}

/* ---- ダークモード ---- */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) #rinka-tags { --h26-ink: #f3ecfa; --h26-soft: #3a3046; --h26-soft2: #4a3b5c; --h26-line: #4a3d5a; --htag-card: #2a2433; background: #231d2b; }
	:root:not([data-theme="light"]) #rinka-tags .chips.rinka-htag__seg .chip:not(.on),
	:root:not([data-theme="light"]) #rinka-tags .chips.chips--tags .chip { background: #2a2433; color: var(--h26-ink); }
	:root:not([data-theme="light"]) #rinka-tags .rinka-htag__count { background: rgba(42, 36, 51, .92); color: #ff9cc6; }
}
:root[data-theme="dark"] #rinka-tags { --h26-ink: #f3ecfa; --h26-soft: #3a3046; --h26-soft2: #4a3b5c; --h26-line: #4a3d5a; --htag-card: #2a2433; background: #231d2b; }
:root[data-theme="dark"] #rinka-tags .chips.rinka-htag__seg .chip:not(.on),
:root[data-theme="dark"] #rinka-tags .chips.chips--tags .chip { background: #2a2433; color: var(--h26-ink); }

@media (prefers-reduced-motion: reduce) {
	#rinka-tags .rinka-htag__card, #rinka-tags .rinka-htag__art img { transition: none; }
}

/* ============ 今日の進みぐあい：連続コンプリート・スタンプカレンダー（rinka-home.js・2026-09-27） ============ */
.rinka-home-fanfare__ms { display: block; margin-top: 4px; font-size: 0.86rem; color: #c9820d; }
.rinka-dq__streak {
	display: flex; align-items: flex-start; flex-wrap: wrap; gap: 2px 5px;
	margin: -2px 0 8px; font-size: 0.82rem; font-weight: 800; line-height: 1.35;
	color: #c9820d;
}
.rinka-dq__streak .rds-icon { flex: none; margin-top: -1px; color: #f08a3c; fill: #ffd27a; }
.rinka-dq__streak > span { flex: 1 1 0; min-width: 0; }
.rinka-dq__streak small { flex: 0 0 100%; padding-left: 23px; font-size: 0.74rem; font-weight: 700; color: var(--rinka-ink-soft, #8a6f7c); }
.rinka-dq__streak.is-hot span { color: #d9720f; }
.rinka-dq__streak.is-hot .rds-icon { animation: rinka-dq-flame 1.6s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes rinka-dq-flame { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15) rotate(-4deg); } }
.rinka-dq__streak.is-cold { color: var(--rinka-ink-soft, #8a6f7c); }
.rinka-dq__streak.is-cold .rds-icon { color: #e0a4bf; fill: none; }

.rinka-dq__cal {
	margin-top: 12px; padding: 12px 12px 10px;
	background: var(--rinka-surface, #fff);
	border: 1px solid var(--rinka-border, #f3dce6);
	border-radius: 18px;
}
.rinka-dq__cal-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 8px; }
.rinka-dq__cal-title { margin: 0; flex: 1 1 auto; text-align: center; font-size: 0.86rem; font-weight: 800; color: var(--rinka-ink, #4a3540); line-height: 1.4; }
.rinka-dq__cal-title b { font-size: 0.95rem; color: var(--rinka-accent-strong, #d16a97); }
.rinka-dq__cal-title small { font-weight: 800; color: #c9820d; }
.rinka-dq__cal-nav {
	flex: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border: none; border-radius: 50%; background: #fff4fa; color: var(--rinka-accent-strong, #d16a97); cursor: pointer;
}
.rinka-dq__cal-nav:disabled { opacity: 0.3; cursor: default; }
.rinka-dq__cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.rinka-dq__cal-wd { text-align: center; font-size: 0.7rem; font-weight: 800; color: var(--rinka-ink-soft, #8a6f7c); padding-bottom: 2px; }
.rinka-dq__cal-cell {
	position: relative; aspect-ratio: 1 / 1; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #fbf1f6; overflow: hidden;
}
.rinka-dq__cal-cell i { font-style: normal; font-size: 0.72rem; font-weight: 800; color: #c9a8b8; position: relative; z-index: 1; }
.rinka-dq__cal-cell.is-blank { background: none; }
.rinka-dq__cal-cell.is-future { background: #fdf8fa; }
.rinka-dq__cal-cell.is-today { box-shadow: inset 0 0 0 2px #ffb3d1; }
.rinka-dq__cal-cell.is-on { background: linear-gradient(135deg, #fff2c8, #ffe1f0); box-shadow: inset 0 0 0 2px #f4c860; }
.rinka-dq__cal-cell.is-on img { position: absolute; inset: 8%; width: 84%; height: 84%; object-fit: cover; border-radius: 50%; }
.rinka-dq__cal-cell.is-on i {
	position: absolute; right: 0; bottom: 0; z-index: 2;
	min-width: 1.35em; padding: 0 2px; border-radius: 99px; background: #f2b233; color: #fff; font-size: 0.6rem; line-height: 1.35em; text-align: center;
}
.rinka-dq__cal { max-width: 420px; margin-left: auto; margin-right: auto; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .rinka-dq__cal { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 190, 220, 0.2); }
	:root:not([data-theme="light"]) .rinka-dq__cal-cell { background: rgba(255, 255, 255, 0.06); }
	:root:not([data-theme="light"]) .rinka-dq__cal-cell.is-future { background: rgba(255, 255, 255, 0.03); }
	:root:not([data-theme="light"]) .rinka-dq__cal-nav { background: rgba(255, 255, 255, 0.08); }
}
:root[data-theme="dark"] .rinka-dq__cal { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 190, 220, 0.2); }
:root[data-theme="dark"] .rinka-dq__cal-cell { background: rgba(255, 255, 255, 0.06); }
:root[data-theme="dark"] .rinka-dq__cal-nav { background: rgba(255, 255, 255, 0.08); }
@media (prefers-reduced-motion: reduce) {
	.rinka-dq__streak.is-hot .rds-icon { animation: none; }
}

/* ============ トップのタイル：丸の中の Codex アイコン・りんかマニアのロゴ（front-page.php rinka_home_menu_icon・2026-09-27） ============
 * 丸の大きさ（46px・主役カード58px）は今までのまま。絵は丸の中に 8割ほど。 */
.rinka-fs-nav__emoji > img.rinka-menu-ic {
	display: block; width: 80%; height: 80%; object-fit: contain;
	filter: drop-shadow(0 1px 1px rgba(90, 58, 102, .15));
	-webkit-user-drag: none; user-select: none; pointer-events: none;
}
/* 絵のときは丸の地を白っぽくして、絵の色を立たせる（マニアの紫の丸も） */
:is(#rinka-home-games, #rinka-home-collect, #rinka-home-mania, #rinka-home-bond) .rinka-fs-nav__emoji:has(> img.rinka-menu-ic) {
	background: linear-gradient(145deg, #fff, var(--h26-soft, #fff0f6));
}
/* りんかマニア：ロゴのカード（上の「ゲームであそぶ」と同じ大きさ） */
#rinka-home-mania .rinka-fs-nav__logo {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 64px; margin: 0 auto 6px;
}
#rinka-home-mania .rinka-fs-nav__logo img {
	display: block; max-width: 100%; max-height: 64px; width: auto; height: auto;
	object-fit: contain; filter: drop-shadow(0 2px 3px rgba(120, 60, 90, .18));
	transition: transform .2s ease;
}
#rinka-home-mania .rinka-fs-nav__card:hover .rinka-fs-nav__logo img,
#rinka-home-mania .rinka-fs-nav__card:focus-visible .rinka-fs-nav__logo img { transform: scale(1.06) rotate(-1deg); }
#rinka-home-mania .rinka-mania-slot__real:has(> .rinka-fs-nav__logo) .rinka-fs-nav__desc { text-align: center; padding-right: 0; }
@media (min-width: 720px) {
	#rinka-home-mania .rinka-mania-slot__real:has(> .rinka-fs-nav__logo) { display: flex; flex-direction: column; align-items: center; justify-content: center; }
	#rinka-home-mania .rinka-fs-nav__logo { height: 76px; }
	#rinka-home-mania .rinka-fs-nav__logo img { max-height: 76px; }
}

/* スタンプカレンダーは ふだん折りたたみ（summary の1行だけ・押すと開く・2026-09-27） */
.rinka-dq__cal { padding: 0; }
.rinka-dq__cal-sum {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 44px; padding: 8px 14px; cursor: pointer; list-style: none;
	font-size: 0.84rem; font-weight: 800; color: var(--rinka-ink, #4a3540);
}
.rinka-dq__cal-sum::-webkit-details-marker { display: none; }
.rinka-dq__cal-sum .rds-icon { flex: none; }
.rinka-dq__cal-sum .rds-icon:first-child { color: #d99a14; fill: #ffcf4d; }
.rinka-dq__cal-sum small { font-weight: 800; color: #c9820d; }
.rinka-dq__cal-sum .rds-icon:last-child { color: var(--rinka-accent-strong, #d16a97); transition: transform .2s ease; }
.rinka-dq__cal[open] .rinka-dq__cal-sum .rds-icon:last-child { transform: rotate(90deg); }
.rinka-dq__cal[open] { padding: 0 12px 10px; }
.rinka-dq__cal[open] .rinka-dq__cal-sum { margin: 0 -12px; }
/* 続きから遊ぶ：丸の中の Codex の絵（上のタイルと同じ・2026-09-27） */
#rinka-home-resume .rinka-home-resume__emoji > img.rinka-menu-ic {
	display: block; width: 80%; height: 80%; object-fit: contain;
	filter: drop-shadow(0 1px 1px rgba(90, 58, 102, .15)); pointer-events: none;
}
#rinka-home-resume .rinka-home-resume__emoji:has(> img.rinka-menu-ic) { background: linear-gradient(145deg, #fff, var(--h26-soft, #fff0f6)); }

/* ============================================================
   トップ後半＋「つぎはこれであそぼ？」見た目の刷新（2026-09-28・追加のみ）
   制作者「ここはまだ古いデザインのまま」（スクショ付きの7か所）
   対象: リンクカード（リンク集／できることをぜんぶ見る 等）/ 新しく解放されたもの の絵 / 新着イラスト記事 /
         りんかの近況 / あなたへのおすすめりんか / よくある質問 / あそんだおともだちの感想 / ホーム画面に追加 /
         つぎはこれであそぼ？（ほかのページの下）/ あいさつ＋今日のガチャ・遠征のカード（#rinka-home-today）
   ・上の「りんかとあそぶ」のタイルと同じ作り：白〜淡い色のカード・角丸・下に濃い影の線・ホバーで少し浮く・丸い枠の中に Codex の絵
   ・色は --h26-* のトークン（ダークモードはトークンだけ差しかえ）。押せる所は 44px 以上
   ・既存の id/class はそのまま。ID・親で絞って上書きするだけ（撤収はこのブロックを消すだけ）
   ============================================================ */
#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq, #rinka-home-voices,
.rinka-homepage .rinka-a2hs-card, .rinka-fs-next[data-rinka-next], #rinka-home-today {
	--h26-accent: #d9538f;
	--h26-ink: #4a3540;
	--h26-muted: #76606c;
	--h26-card: #fff;
	--h26-soft: #fff0f6;
	--h26-soft2: #ffe0ee;
	--h26-line: #f6d3e3;
	--h26-shadow: rgba(214, 110, 160, .35);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9538f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
#rinka-home-timeline {
	--h26-accent: #4f86d6; --h26-soft: #eef5ff; --h26-soft2: #dcebff; --h26-line: #d3e3fa; --h26-shadow: rgba(90, 140, 215, .32);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f86d6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
#rinka-recommend-section {
	--h26-accent: #8a5fd6; --h26-soft: #f5f0ff; --h26-soft2: #e8dcff; --h26-line: #e2d6fb; --h26-shadow: rgba(130, 95, 210, .32);
	--h26-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a5fd6' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}

/* ---- 見出し：上のセクションと同じ「線つきキッカー＋大きめタイトル・横線なし」 ---- */
:is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq) > .rinka-section__eyebrow.rinka-kicker {
	display: inline-flex; align-items: center; gap: 7px;
	margin: 0 0 4px; padding: 0;
	background: none; box-shadow: none; border: 0;
	font-size: .72rem; font-weight: 800; letter-spacing: .2em; line-height: 1.4;
	color: var(--h26-accent);
}
:is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq) > .rinka-section__eyebrow.rinka-kicker::before {
	content: ""; flex: none; width: 18px; height: 6px; border-radius: 99px;
	background: linear-gradient(90deg, var(--h26-accent), var(--h26-soft2));
}
:is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq) > .rinka-section__eyebrow.rinka-kicker::after { content: none; display: none; }
:is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq) > .rinka-section__title {
	display: block;
	margin: 0 0 16px; padding: 0; border: 0; background: none;
	font-size: clamp(1.5rem, 1.25rem + 1.1vw, 1.9rem); font-weight: 900; line-height: 1.3; letter-spacing: .03em;
	color: var(--h26-ink); text-align: left;
}
:is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq) > .rinka-section__title::before,
:is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq) > .rinka-section__title::after { content: none; display: none; }

/* ---- ① リンクカード（リンク集 / できることをぜんぶ見る / あそび場をぜんぶ見る / タグ一覧 など） ---- */
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard {
	position: relative;
	gap: 14px; min-height: 88px;
	padding: 10px 12px 10px 10px;
	color: var(--h26-ink, #4a3540);
	background: linear-gradient(160deg, var(--h26-card, #fff) 55%, var(--h26-soft, #fff0f6));
	border: 1.5px solid var(--h26-line, #f6d3e3);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line, #f6d3e3), 0 10px 22px -16px var(--h26-shadow, rgba(214, 110, 160, .35));
	transition: transform .2s ease, box-shadow .2s ease;
}
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard:hover,
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard:focus { color: var(--h26-ink, #4a3540); transform: none; box-shadow: 0 3px 0 var(--h26-line, #f6d3e3), 0 10px 22px -16px var(--h26-shadow, rgba(214, 110, 160, .35)); }
@media (hover: hover) {
	:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard:hover {
		transform: translateY(-3px);
		box-shadow: 0 5px 0 var(--h26-line, #f6d3e3), 0 16px 28px -14px var(--h26-shadow, rgba(214, 110, 160, .35));
	}
	:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard:hover .rinka-linkcard__arrow { transform: translateX(3px); }
}
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__thumb {
	position: relative; overflow: visible;
	width: 68px; height: 68px; border-radius: 18px;
	background: linear-gradient(145deg, var(--h26-soft, #fff0f6), var(--h26-soft2, #ffe0ee));
	box-shadow: 0 0 0 3px var(--h26-card, #fff), 0 6px 12px -6px var(--h26-shadow, rgba(214, 110, 160, .35));
}
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__thumb > img { border-radius: 18px; }
/* サムネの右下の丸いバッジ（Codex の絵） */
.rinka-linkcard__badge {
	position: absolute; right: -9px; bottom: -9px;
	display: grid; place-items: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 2px var(--h26-soft2, #ffe0ee), 0 4px 8px -3px var(--h26-shadow, rgba(214, 110, 160, .45));
}
.rinka-linkcard__badge > img,
.rinka-linkcard__thumb--ic > img { display: block; width: 78%; height: 78%; object-fit: contain; border-radius: 0 !important; pointer-events: none; }
.rinka-linkcard__thumb--ic > img { width: 70%; height: 70%; }
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__body { flex: 1 1 auto; padding-left: 4px; }
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__title { font-size: 1rem; font-weight: 900; line-height: 1.4; color: var(--h26-ink, #4a3540); }
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__desc { font-size: .76rem; font-weight: 600; line-height: 1.5; color: var(--h26-muted, #76606c); }
/* 「→」の字は丸い矢印に（字は残す＝aria-hidden のまま） */
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__arrow {
	flex: none; width: 28px; height: 28px; border-radius: 50%;
	font-size: 0; color: transparent;
	background: var(--h26-soft, #fff0f6) var(--h26-chev, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9538f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")) center / 14px no-repeat;
	transition: transform .2s ease;
}
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard--compact { min-height: 64px; gap: 12px; }
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard--compact .rinka-linkcard__thumb { width: 48px; height: 48px; border-radius: 14px; }
:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard--compact .rinka-linkcard__thumb > img { border-radius: 14px; }
.rinka-linkcard--compact .rinka-linkcard__badge { width: 24px; height: 24px; right: -7px; bottom: -7px; }
/* 「あつめる」の段の中は紫のトークンをそのまま使う（#rinka-home-collect が --h26-* を持っている） */
#rinka-home-collect .rinka-linkcards { margin-top: 16px; gap: 12px; }
@media (max-width: 560px) {
	:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__thumb { width: 62px; height: 62px; }
}

/* ---- ② 新しく解放されたもの：丸の中を Codex の絵に（rinka-home.js が img.rinka-menu-ic を入れる） ---- */
#rinka-home-new .rinka-home-new__item > span[aria-hidden="true"]:first-child { width: 46px; height: 46px; background: linear-gradient(145deg, #fff, #f5f0ff); }
#rinka-home-new .rinka-home-new__item > span[aria-hidden="true"]:first-child > img.rinka-menu-ic {
	display: block; width: 80%; height: 80%; object-fit: contain;
	filter: drop-shadow(0 1px 1px rgba(90, 58, 102, .15)); pointer-events: none;
}
/* 手紙のお知らせ（rinka-bond.js が線の巻物アイコンで入れる）も、線をけして同じ丸の中の絵（ポスト）に */
#rinka-home-new .rinka-home-new__item > svg.rds-icon--scroll:first-child {
	width: 26px; height: 26px; padding: 10px;
	color: transparent;
	background: #fff url("../img/menu/letters.webp") center / 30px no-repeat;
}
#rinka-home-new .rinka-home-new__item::before { left: 46px; }

/* ---- ③ 新着イラスト記事：タイルと同じカード（角丸・下の影の線・ホバーで浮く）＋右下の → ---- */
#new-posts .cards { gap: 12px; }
@media (min-width: 720px) { #new-posts .cards { gap: 16px; } }
#new-posts .rinka-card {
	padding: 8px;
	background: linear-gradient(170deg, var(--h26-card) 60%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
	color: var(--h26-ink);
	transition: transform .2s ease, box-shadow .2s ease;
}
#new-posts .rinka-card:hover { transform: none; border-color: var(--h26-line); box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow); }
@media (hover: hover) {
	#new-posts .rinka-card:hover { transform: translateY(-3px); box-shadow: 0 5px 0 var(--h26-line), 0 16px 28px -14px var(--h26-shadow); }
	#new-posts .rinka-card:hover img { transform: scale(1.04); }
	#new-posts .rinka-card:hover::after { transform: translateX(3px); }
}
#new-posts .rinka-card:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
#new-posts .rinka-card__thumb { border-radius: 16px; overflow: hidden; }
#new-posts .rinka-card img { object-position: 50% 18%; }
#new-posts .rinka-card__body {
	display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
	padding: 10px 6px 4px;
}
#new-posts .rinka-card__category {
	margin: 0; padding: 3px 10px; border-radius: 99px;
	background: var(--h26-soft); color: var(--h26-accent);
	font-size: .68rem; font-weight: 800; line-height: 1.5;
	box-shadow: inset 0 0 0 1px var(--h26-line);
}
#new-posts .rinka-card__title {
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	margin: 0; font-size: .86rem; font-weight: 800; line-height: 1.5; letter-spacing: .01em;
	color: var(--h26-ink); overflow-wrap: anywhere;
}
#new-posts .rinka-card__date {
	margin: 0; padding-right: 32px;
	font-size: .7rem; font-weight: 700; color: var(--h26-muted); font-variant-numeric: tabular-nums;
}
#new-posts a.rinka-card::after {
	content: ""; position: absolute; right: 10px; bottom: 10px;
	width: 26px; height: 26px; border-radius: 50%;
	background: var(--h26-soft) var(--h26-chev) center / 14px no-repeat;
	transition: transform .2s ease;
}
@media (max-width: 420px) {
	#new-posts .cards { gap: 10px; }
	#new-posts .rinka-card { padding: 6px; border-radius: 20px; }
	#new-posts .rinka-card__body { padding: 8px 4px 2px; }
	#new-posts .rinka-card__title { font-size: .8rem; }
}

/* ---- ④-1 りんかの近況：丸の中に Codex の絵＋カード（縦の線はやめて1枚のカードに） ---- */
#rinka-home-timeline .rinka-fs-timeline { padding-left: 0; margin: 0; }
#rinka-home-timeline .rinka-fs-timeline::before { content: none; display: none; }
#rinka-home-timeline .rinka-fs-timeline__item {
	display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 12px; align-items: start;
	margin: 0 0 14px;
}
#rinka-home-timeline .rinka-fs-timeline__marker {
	position: static; left: auto; top: auto;
	display: grid; place-items: center;
	width: 52px; height: 52px; margin: 6px 0 0; border: 0; border-radius: 50%;
	background: linear-gradient(145deg, #fff, var(--h26-soft));
	box-shadow: 0 0 0 3px var(--h26-card), 0 6px 12px -6px var(--h26-shadow);
	color: var(--h26-accent); font-size: 1.2rem;
}
#rinka-home-timeline .rinka-fs-timeline__marker > span { display: grid; place-items: center; width: 100%; height: 100%; }
#rinka-home-timeline .rinka-fs-timeline__marker img.rinka-tl-ic { display: block; width: 78%; height: 78%; object-fit: contain; }
#rinka-home-timeline .rinka-fs-timeline__card {
	padding: 14px 16px;
	background: linear-gradient(160deg, var(--h26-card) 55%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
}
#rinka-home-timeline .rinka-fs-timeline__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; font-size: .74rem; font-weight: 800; color: var(--h26-muted); }
#rinka-home-timeline .rinka-fs-timeline__type {
	padding: 2px 10px; border-radius: 99px; border: 0;
	background: var(--h26-soft); color: var(--h26-accent);
	font-size: .68rem; font-weight: 800; box-shadow: inset 0 0 0 1px var(--h26-line);
}
#rinka-home-timeline .rinka-fs-timeline__title { margin: 8px 0 6px; font-size: 1rem; font-weight: 900; line-height: 1.55; color: var(--h26-ink); overflow-wrap: anywhere; }
#rinka-home-timeline .rinka-fs-timeline__body { margin: 0; font-size: .86rem; line-height: 1.8; color: var(--h26-muted); }
@media (max-width: 420px) {
	#rinka-home-timeline .rinka-fs-timeline__item { grid-template-columns: 42px minmax(0, 1fr); column-gap: 10px; }
	#rinka-home-timeline .rinka-fs-timeline__marker { width: 42px; height: 42px; }
	#rinka-home-timeline .rinka-fs-timeline__card { padding: 12px 14px; }
}
/* 「タイムラインをぜんぶ見る」：白いカードの丸いボタン（下の影の線・44px以上） */
#rinka-home-timeline .rinka-button.rinka-button--ghost {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 8px 22px 8px 12px;
	background: var(--h26-card); color: var(--h26-accent);
	border: 1.5px solid var(--h26-line); border-radius: 999px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 20px -14px var(--h26-shadow);
	font-size: .9rem; font-weight: 900; text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
#rinka-home-timeline .rinka-button.rinka-button--ghost img { width: 28px; height: 28px; }
@media (hover: hover) {
	#rinka-home-timeline .rinka-button.rinka-button--ghost:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--h26-line), 0 14px 24px -14px var(--h26-shadow); }
}

/* ---- ④-2 あなたへのおすすめりんか：絵を大きく見せるタイル（fansite.js が描く .rinka-fs-nav__card） ---- */
#rinka-recommend-section #rinka-recommend {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0;
}
@media (min-width: 720px) { #rinka-recommend-section #rinka-recommend { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
#rinka-recommend-section #rinka-recommend .rinka-fs-nav__card {
	position: relative;
	display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
	min-width: 0; min-height: 0; padding: 8px 8px 12px;
	text-align: left; color: var(--h26-ink); text-decoration: none;
	background: linear-gradient(170deg, var(--h26-card) 60%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
@media (hover: hover) {
	#rinka-recommend-section #rinka-recommend .rinka-fs-nav__card:hover { transform: translateY(-3px); box-shadow: 0 5px 0 var(--h26-line), 0 16px 28px -14px var(--h26-shadow); }
}
#rinka-recommend-section #rinka-recommend .rinka-fs-nav__card:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
#rinka-recommend-section #rinka-recommend .rinka-fs-nav__thumb {
	display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; margin: 0 0 2px;
	object-fit: cover; object-position: 50% 18%;
	border: 0; border-radius: 16px; box-shadow: none;
	background: linear-gradient(150deg, #ffe3ef, #efe4ff);
}
#rinka-recommend-section #rinka-recommend .rinka-fs-nav__title {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	max-width: 100%; padding: 0 4px; white-space: normal; word-break: normal; line-break: strict;
	font-size: .8rem; font-weight: 800; line-height: 1.45; text-align: left; color: var(--h26-ink);
	overflow-wrap: anywhere;
}
#rinka-recommend-section #rinka-recommend .rinka-fs-nav__sub {
	margin: 0 4px; padding: 2px 9px; border-radius: 99px;
	background: var(--h26-soft); color: var(--h26-accent);
	font-size: .66rem; font-weight: 800; line-height: 1.5;
	box-shadow: inset 0 0 0 1px var(--h26-line);
}

/* ---- ⑤-1 よくある質問：Q の丸＋開くと向きが変わる矢印のカード ---- */
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__list { max-width: 760px; margin: 0 auto; gap: 10px; }
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__item {
	padding: 0;
	background: linear-gradient(160deg, var(--h26-card) 55%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 20px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -18px var(--h26-shadow);
	overflow: hidden;
}
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__q {
	display: flex; align-items: center; gap: 12px;
	min-height: 56px; padding: 10px 12px;
	font-size: .92rem; font-weight: 800; line-height: 1.5; color: var(--h26-ink);
}
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__q::before {
	content: "Q"; flex: none; display: grid; place-items: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: linear-gradient(135deg, #f58fbd, #d9538f); color: #fff;
	font-size: .82rem; font-weight: 900; letter-spacing: 0;
	box-shadow: 0 2px 0 #b83f76;
}
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__q::after {
	content: ""; flex: none; margin-left: auto;
	width: 28px; height: 28px; border-radius: 50%;
	background: var(--h26-soft) var(--h26-chev) center / 14px no-repeat;
	transform: rotate(90deg); transition: transform .2s ease;
}
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__item[open] > .rinka-tk-faq__q::after { transform: rotate(-90deg); }
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__q:focus-visible { outline: 3px solid #8fc3ff; outline-offset: -3px; border-radius: 20px; }
.rinka-homepage > .rinka-tk-faq .rinka-tk-faq__a {
	margin: 0 14px 14px; padding: 12px 14px;
	border: 0; border-radius: 14px;
	background: var(--h26-card);
	box-shadow: inset 0 0 0 1px var(--h26-line);
	font-size: .86rem; line-height: 1.85; color: var(--h26-muted);
}

/* ---- ⑤-2 あそんだおともだちの感想：見出しに吹き出しの絵・左のマークも絵に ---- */
#rinka-home-voices {
	max-width: 680px;
	padding: 20px 18px 16px;
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(255, 143, 191, .14), transparent 55%),
		linear-gradient(170deg, var(--h26-card) 50%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 26px;
	box-shadow: 0 3px 0 var(--h26-line), 0 12px 26px -18px var(--h26-shadow);
}
#rinka-home-voices .rinka-home-voices__title {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	margin: 0 0 6px; font-size: 1.18rem; font-weight: 900; line-height: 1.4; color: var(--h26-ink);
}
.rinka-home-voices__ic {
	flex: none; display: grid; place-items: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: linear-gradient(145deg, #fff, var(--h26-soft, #fff0f6));
	box-shadow: 0 0 0 3px var(--h26-card, #fff), 0 4px 10px -4px var(--h26-shadow, rgba(214, 110, 160, .45));
}
.rinka-home-voices__ic > img { display: block; width: 78%; height: 78%; object-fit: contain; }
.rinka-home-voices__ic:empty { display: none; }
#rinka-home-voices .rinka-home-voices__lead { margin: 0 0 14px; font-size: .8rem; font-weight: 700; color: var(--h26-muted); }
/* 左の 💬 / 🐰 の字は隠して、Codex の吹き出し・りんかの顔の絵に（aria-hidden なので読み上げは変わらない） */
#rinka-home-voices .rinka-voices__mark,
#rinka-home-voices .rinka-voices__replymark {
	font-size: 0 !important; color: transparent;
	width: 32px; height: 32px; min-width: 32px; border-radius: 50%;
	background: #fff url("../img/find/bubble.webp") center / 74% no-repeat;
	box-shadow: 0 0 0 2px var(--h26-soft2), 0 3px 8px -4px var(--h26-shadow);
}
#rinka-home-voices .rinka-voices__replymark { background: #fff url("../img/ui/rinka-avatar.webp") center / cover no-repeat; }

/* ---- ⑤-3 りんかをホーム画面に追加：絵の丸＋押しやすいボタン ---- */
.rinka-a2hs-card__icon > img { display: block; width: 34px; height: 34px; object-fit: contain; }
.rinka-homepage .rinka-a2hs-card {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	max-width: 680px; margin: 24px auto; padding: 12px 14px;
	background: linear-gradient(160deg, var(--h26-card) 50%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
}
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-card__icon {
	flex: none; display: grid; place-items: center;
	width: 52px; height: 52px; border-radius: 50%;
	background: linear-gradient(145deg, #fff, var(--h26-soft2));
	box-shadow: 0 0 0 3px var(--h26-card), 0 6px 12px -6px var(--h26-shadow);
	font-size: 1.5rem;
}
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-card__icon > img { width: 80%; height: 80%; }
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-card__body { flex: 1 1 200px; display: flex; flex-direction: column; gap: 2px; }
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-card__title { font-size: .98rem; font-weight: 900; color: var(--h26-ink); }
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-card__desc { font-size: .76rem; font-weight: 600; line-height: 1.5; color: var(--h26-muted); }
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-btn {
	flex: none; min-height: 46px; padding: 8px 20px;
	border: 0; border-radius: 999px; cursor: pointer;
	background: linear-gradient(135deg, #ff8fbf, #e9609f); color: #fff;
	font-size: .86rem; font-weight: 900; letter-spacing: .02em;
	box-shadow: 0 3px 0 #c2427c, 0 10px 18px -10px rgba(214, 83, 143, .7);
	transition: transform .15s ease, box-shadow .15s ease;
}
@media (hover: hover) {
	.rinka-homepage .rinka-a2hs-card .rinka-a2hs-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 0 #c2427c, 0 14px 22px -10px rgba(214, 83, 143, .7); }
}
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #c2427c; }
.rinka-homepage .rinka-a2hs-card .rinka-a2hs-btn:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
@media (max-width: 480px) {
	.rinka-homepage .rinka-a2hs-card .rinka-a2hs-btn { flex: 1 1 100%; }
}

/* ---- ⑥ つぎはこれであそぼ？（ほかのページの下・inc/fansite.php rinka_fansite_nav_cards） ---- */
.rinka-fs-next[data-rinka-next] {
	padding: 18px 16px 16px;
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(255, 143, 191, .14), transparent 55%),
		linear-gradient(170deg, var(--h26-card) 40%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 26px;
	box-shadow: 0 3px 0 var(--h26-line), 0 12px 26px -18px var(--h26-shadow);
}
.rinka-fs-next[data-rinka-next] .rinka-fs-next__title {
	display: flex; align-items: center; gap: 8px;
	margin: 0 0 14px; padding: 0; border: 0; background: none;
	font-size: 1.2rem; font-weight: 900; line-height: 1.4; letter-spacing: .03em; color: var(--h26-ink); text-align: left;
}
.rinka-fs-next[data-rinka-next] .rinka-fs-next__title::before {
	content: ""; flex: none; width: 18px; height: 6px; border-radius: 99px;
	background: linear-gradient(90deg, var(--h26-accent), var(--h26-soft2));
}
.rinka-fs-next[data-rinka-next] .rinka-fs-next__title::after { content: none; display: none; }
.rinka-fs-next[data-rinka-next] .rinka-fs-nav.rinka-fs-nav--next {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0;
}
@media (min-width: 720px) {
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav.rinka-fs-nav--next { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav.rinka-fs-nav--next:has(> .rinka-fs-nav__card:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > .rinka-fs-nav__card {
	position: relative;
	display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px;
	min-width: 0; min-height: 124px; padding: 14px;
	text-align: left; color: var(--h26-ink); text-decoration: none;
	background: linear-gradient(160deg, var(--h26-card) 55%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 22px;
	box-shadow: 0 3px 0 var(--h26-line), 0 10px 22px -16px var(--h26-shadow);
	overflow: visible;
	transition: transform .2s ease, box-shadow .2s ease;
}
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > a.rinka-fs-nav__card::after {
	content: ""; position: absolute; right: 10px; bottom: 10px;
	width: 26px; height: 26px; border-radius: 50%;
	background: var(--h26-soft) var(--h26-chev) center / 14px no-repeat;
	transition: transform .2s ease;
}
@media (hover: hover) {
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > a.rinka-fs-nav__card:hover { transform: translateY(-3px); box-shadow: 0 5px 0 var(--h26-line), 0 16px 28px -14px var(--h26-shadow); }
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > a.rinka-fs-nav__card:hover::after { transform: translateX(3px); }
}
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > a.rinka-fs-nav__card:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next .rinka-fs-nav__emoji {
	flex: none; display: grid; place-items: center;
	width: 46px; height: 46px; margin: 0 0 6px; border-radius: 50%;
	background: linear-gradient(145deg, #fff, var(--h26-soft));
	box-shadow: inset 0 -3px 0 rgba(255, 255, 255, .6), 0 0 0 3px var(--h26-card), 0 4px 10px -4px var(--h26-shadow);
	color: var(--h26-accent); font-size: 1.4rem; line-height: 1;
}
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next .rinka-fs-nav__emoji > svg { width: 24px; height: 24px; }
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next .rinka-fs-nav__title {
	max-width: 100%; white-space: normal; word-break: keep-all; overflow-wrap: anywhere;
	font-size: .96rem; font-weight: 900; line-height: 1.35; color: var(--h26-ink); text-align: left;
}
.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next .rinka-fs-nav__sub {
	max-width: 100%; padding-right: 28px;
	font-size: .74rem; font-weight: 600; line-height: 1.5; text-align: left; color: var(--h26-muted);
}
/* きょうのおすすめ：右上の小さなピル */
.rinka-fs-next[data-rinka-next] .rinka-fs-nav__card--spot { border-color: #f3b4cf; }
.rinka-fs-next[data-rinka-next] .rinka-fs-nav__card--spot .rinka-fs-nav__spot {
	position: absolute; top: -9px; right: 10px; left: auto; transform: none;
	padding: 2px 10px; border-radius: 99px;
	background: linear-gradient(135deg, #ff8fbf, #e9609f); color: #fff;
	font-size: .64rem; font-weight: 900; line-height: 1.6; white-space: nowrap;
	box-shadow: 0 2px 0 #c2427c;
}
.rinka-fs-next[data-rinka-next] .rinka-linkcards { margin-top: 14px; max-width: none; }
@media (max-width: 420px) {
	.rinka-fs-next[data-rinka-next] { padding: 16px 12px 14px; }
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > .rinka-fs-nav__card { padding: 12px; }
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next .rinka-fs-nav__title { font-size: .86rem; letter-spacing: 0; }
}

/* ---- ⑦ あいさつ＋今日のガチャ・遠征のカード（#rinka-home-today・並びはそのまま） ---- */
.rinka-homepage:not(.rinka-fansite) #rinka-home-today {
	padding: 14px;
	background:
		radial-gradient(110% 80% at 100% 0%, rgba(255, 143, 191, .16), transparent 55%),
		linear-gradient(170deg, var(--h26-card) 40%, var(--h26-soft));
	border: 1.5px solid var(--h26-line);
	border-radius: 24px;
	box-shadow: 0 3px 0 var(--h26-line), 0 12px 26px -18px var(--h26-shadow);
}
/* あいさつ：左に時間帯の絵（朝=きらきら・昼=さくら・夕方=星・夜=月） */
#rinka-home-today .rinka-home-greet__main { display: flex; align-items: flex-start; gap: 10px; margin: 0; color: var(--h26-ink); }
#rinka-home-today .rinka-home-greet__ic {
	flex: none; display: grid; place-items: center;
	width: 34px; height: 34px; margin-top: -2px; border-radius: 50%;
	background: linear-gradient(145deg, #fff, var(--h26-soft2));
	box-shadow: 0 0 0 2px var(--h26-card), 0 4px 8px -4px var(--h26-shadow);
	font-size: 1.1rem; line-height: 1;
}
#rinka-home-today .rinka-home-greet__ic > img { display: block; width: 78%; height: 78%; object-fit: contain; }
/* きずなのピル：丸の中にハート・かけらはさくらの絵 */
#rinka-home-today .rinka-bond-chip {
	display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px;
	min-height: 34px; margin: 8px 0 0; padding: 3px 12px 3px 3px;
	background: var(--h26-card); border: 1.5px solid var(--h26-line); border-radius: 999px;
	font-size: .76rem; font-weight: 700; color: var(--h26-ink);
}
#rinka-home-today .rinka-bond-chip__ic {
	flex: none; display: grid; place-items: center;
	width: 26px; height: 26px; border-radius: 50%; background: var(--h26-soft);
	font-size: .9rem; line-height: 1;
}
#rinka-home-today .rinka-bond-chip__coins { display: inline-flex; align-items: center; gap: 3px; font-weight: 900; color: var(--h26-accent); }
#rinka-home-today img.rinka-bond-chip__pic { display: block; width: 18px; height: 18px; object-fit: contain; }
#rinka-home-today .rinka-bond-chip__ic > img.rinka-bond-chip__pic { width: 80%; height: 80%; }

/* ガチャの行：丸枠のカプセルの絵＋大きめの見出し＋押したくなるボタン */
#rinka-home-today .rinka-home-greet:not([hidden]) + .rinka-revisit:not([hidden]) { margin-top: 12px; padding-top: 0; border-top: 0; }
#rinka-home-today .rinka-revisit__main {
	display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; gap: 12px;
	padding: 12px;
	background: linear-gradient(135deg, var(--h26-card) 25%, #ffe5f0);
	border: 1.5px solid #f5c5da;
	border-radius: 20px;
	box-shadow: 0 3px 0 #f5c5da;
}
#rinka-home-today .rinka-revisit__emoji {
	display: grid; place-items: center;
	width: 60px; height: 60px; border-radius: 50%;
	background: linear-gradient(145deg, #fff, #ffe0ee);
	box-shadow: 0 0 0 3px #fff, 0 6px 14px -6px rgba(214, 110, 160, .6);
	font-size: 1.6rem; line-height: 1;
}
#rinka-home-today .rinka-revisit__emoji > img { display: block; width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 1px 1px rgba(90, 58, 102, .15)); }
#rinka-home-today .rinka-revisit__text { gap: 2px; }
#rinka-home-today .rinka-revisit__headline { font-size: 1.1rem; font-weight: 900; line-height: 1.35; letter-spacing: .02em; color: var(--h26-accent); }
#rinka-home-today .rinka-revisit__sub { font-size: .78rem; font-weight: 600; color: var(--h26-muted); }
#rinka-home-today .rinka-revisit__cta {
	grid-column: 1 / -1;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	width: 100%; min-height: 52px; padding: 7px 20px 7px 8px;
	border: 0; border-radius: 999px;
	background: linear-gradient(135deg, #ff94c2, #ec5f9f); color: #fff;
	font-size: 1rem; font-weight: 900; letter-spacing: .03em; text-decoration: none;
	box-shadow: 0 4px 0 #c2427c, 0 12px 20px -10px rgba(214, 83, 143, .7);
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#rinka-home-today .rinka-revisit__cta img {
	flex: none; box-sizing: border-box;
	width: 38px; height: 38px; padding: 3px; margin: 0;
	border-radius: 50%; background: #fff; object-fit: contain;
	box-shadow: 0 2px 4px rgba(120, 30, 70, .25);
}
@media (hover: hover) {
	#rinka-home-today .rinka-revisit__cta:not(:disabled):hover { transform: translateY(-2px); filter: none; box-shadow: 0 6px 0 #c2427c, 0 16px 24px -10px rgba(214, 83, 143, .75); }
}
#rinka-home-today .rinka-revisit__cta:not(:disabled):active { transform: translateY(3px); box-shadow: 0 1px 0 #c2427c; }
#rinka-home-today .rinka-revisit__cta:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 3px; }
/* 遠征のボタンは色で区別（ミント）＝ガチャのピンクと見分けがつく */
#rinka-home-today .rinka-revisit__cta.rinka-revisit__cta--exp {
	background: linear-gradient(135deg, #63d0b8, #2ea58c);
	box-shadow: 0 4px 0 #1f7f6c, 0 12px 20px -10px rgba(40, 150, 125, .7);
}
@media (hover: hover) {
	#rinka-home-today .rinka-revisit__cta.rinka-revisit__cta--exp:hover { box-shadow: 0 6px 0 #1f7f6c, 0 16px 24px -10px rgba(40, 150, 125, .75); }
}
#rinka-home-today .rinka-revisit__cta.rinka-revisit__cta--exp:active { box-shadow: 0 1px 0 #1f7f6c; }
#rinka-home-today .rinka-revisit__cta.is-done,
#rinka-home-today .rinka-revisit__cta:disabled {
	background: #f6ecf1; color: #9a7d8b; cursor: default;
	box-shadow: 0 3px 0 #ead8e1;
}
@media (min-width: 600px) {
	#rinka-home-today .rinka-revisit__main { grid-template-columns: 60px minmax(0, 1fr) auto; }
	#rinka-home-today .rinka-revisit__cta { grid-column: auto; width: auto; }
}
/* ピル（あそんだ日・遠征のさそい・あしたのカード）：絵つきの白いピル */
#rinka-home-today .rinka-revisit__chips { gap: 8px; margin-top: 10px; }
#rinka-home-today .rinka-revisit__chip {
	display: inline-block; box-sizing: border-box;
	min-height: 36px; padding: 5px 12px 5px 6px;
	background: var(--h26-card); border: 1.5px solid var(--h26-line); border-radius: 999px;
	font-size: .76rem; font-weight: 700; line-height: 1.4; color: var(--h26-ink);
}
#rinka-home-today .rinka-revisit__chip img { display: inline-block; width: 24px; height: 24px; margin: -3px 3px 0 0; object-fit: contain; vertical-align: middle; }
#rinka-home-today .rinka-revisit__chip b { color: var(--h26-accent); font-weight: 900; }
#rinka-home-today .rinka-revisit__chip--streak { background: linear-gradient(135deg, #fffaf0, #fff1f6); border-color: #f6dcb8; }
#rinka-home-today .rinka-revisit__chip--tomorrow { background: linear-gradient(135deg, #fff9e6, #fff1d0); border-color: #f4dfa0; }
#rinka-home-today a.rinka-revisit__chip--exp {
	min-height: 44px; border-color: #bfe8dc;
	background: linear-gradient(135deg, var(--h26-card) 40%, #e6f8f2);
	box-shadow: 0 2px 0 #bfe8dc;
	transition: transform .15s ease, box-shadow .15s ease;
}
#rinka-home-today a.rinka-revisit__chip--exp b { color: #1f8f78; }
@media (hover: hover) {
	#rinka-home-today a.rinka-revisit__chip--exp:hover { transform: translateY(-2px); box-shadow: 0 4px 0 #bfe8dc; }
}
#rinka-home-today a.rinka-revisit__chip--exp:focus-visible { outline: 3px solid #8fc3ff; outline-offset: 2px; }

/* ---- ダークモード（トークンだけ差しかえ＋個別の明るい地） ---- */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) :is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq, #rinka-home-voices,
		.rinka-homepage .rinka-a2hs-card, .rinka-fs-next[data-rinka-next], #rinka-home-today, #rinka-home-collect, .rinka-homepage .rinka-linkcards) {
		--h26-ink: #f3ecfa; --h26-muted: #c9b8d4; --h26-card: #2a2433; --h26-soft: #3a3046; --h26-soft2: #4a3b5c; --h26-line: #4a3d5a;
	}
	:root:not([data-theme="light"]) #rinka-home-today .rinka-revisit__main { background: linear-gradient(135deg, #2a2433 25%, #4a2f42); border-color: #5c3f55; box-shadow: 0 3px 0 #5c3f55; }
	:root:not([data-theme="light"]) #rinka-home-today .rinka-revisit__headline { color: #ff9cc6; }
	:root:not([data-theme="light"]) #rinka-home-today :is(.rinka-revisit__chip--streak, .rinka-revisit__chip--tomorrow, a.rinka-revisit__chip--exp) { background: #2a2433; border-color: #4a3d5a; box-shadow: none; }
	:root:not([data-theme="light"]) #rinka-home-today a.rinka-revisit__chip--exp b { color: #7fe0c8; }
	:root:not([data-theme="light"]) #rinka-home-today .rinka-revisit__chip b,
	:root:not([data-theme="light"]) #rinka-home-today .rinka-bond-chip__coins { color: #ff9cc6; }
	:root:not([data-theme="light"]) #rinka-home-today .rinka-revisit__cta:disabled { background: #3a3046; color: #bcaecb; box-shadow: 0 3px 0 #2a2433; }
}
:root[data-theme="dark"] :is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq, #rinka-home-voices,
	.rinka-homepage .rinka-a2hs-card, .rinka-fs-next[data-rinka-next], #rinka-home-today, #rinka-home-collect, .rinka-homepage .rinka-linkcards) {
	--h26-ink: #f3ecfa; --h26-muted: #c9b8d4; --h26-card: #2a2433; --h26-soft: #3a3046; --h26-soft2: #4a3b5c; --h26-line: #4a3d5a;
}
:root[data-theme="dark"] #rinka-home-today .rinka-revisit__main { background: linear-gradient(135deg, #2a2433 25%, #4a2f42); border-color: #5c3f55; box-shadow: 0 3px 0 #5c3f55; }
:root[data-theme="dark"] #rinka-home-today .rinka-revisit__headline { color: #ff9cc6; }
:root[data-theme="dark"] #rinka-home-today :is(.rinka-revisit__chip--streak, .rinka-revisit__chip--tomorrow, a.rinka-revisit__chip--exp) { background: #2a2433; border-color: #4a3d5a; box-shadow: none; }
:root[data-theme="dark"] #rinka-home-today a.rinka-revisit__chip--exp b { color: #7fe0c8; }
:root[data-theme="dark"] #rinka-home-today .rinka-revisit__chip b,
:root[data-theme="dark"] #rinka-home-today .rinka-bond-chip__coins { color: #ff9cc6; }
:root[data-theme="dark"] #rinka-home-today .rinka-revisit__cta:disabled { background: #3a3046; color: #bcaecb; box-shadow: 0 3px 0 #2a2433; }

/* サイト本体（ページの地）はダークモードでも明るいまま（rinka-world-2026.css ⑫の方針）。
 * ページの地にじかに乗る見出しだけは、トークン（明るい字）ではなく いつもの濃い字にする（9/27 の段の見出しも同じく） */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) :is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq,
		#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section, #rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__title { color: #4a3540; }
}
:root[data-theme="dark"] :is(#new-posts, #rinka-home-timeline, #rinka-recommend-section, .rinka-homepage > .rinka-tk-faq,
	#rinka-home-resume-section, #rinka-home-games, #rinka-home-collect, #rinka-home-new-section, #rinka-home-collection, #rinka-home-mania, #rinka-home-bond) > .rinka-section__title { color: #4a3540; }

/* ---- 動きをひかえめに ---- */
@media (prefers-reduced-motion: reduce) {
	:is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard, :is(.rinka-homepage, .rinka-fs-next) .rinka-linkcard__arrow,
	#new-posts .rinka-card, #new-posts a.rinka-card::after, #rinka-recommend-section #rinka-recommend .rinka-fs-nav__card,
	#rinka-home-timeline .rinka-button.rinka-button--ghost, .rinka-homepage > .rinka-tk-faq .rinka-tk-faq__q::after,
	.rinka-homepage .rinka-a2hs-card .rinka-a2hs-btn, .rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > .rinka-fs-nav__card,
	.rinka-fs-next[data-rinka-next] .rinka-fs-nav--next > a.rinka-fs-nav__card::after,
	#rinka-home-today .rinka-revisit__cta, #rinka-home-today a.rinka-revisit__chip--exp { transition: none; }
}

/* りんかマニア：限定カードがもらえる案内（2026-10-01） */
.rinka-mania-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 4px; }
.rinka-mania-head .rinka-section__title { margin: 0; }
.rinka-mania-badge { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px 6px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; letter-spacing: .03em; color: #6b4300; background: linear-gradient(120deg, #fff1b8, #ffd76e 50%, #ffb3d9); box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .9) inset, 0 4px 12px rgba(255, 190, 90, .45); overflow: hidden; }
.rinka-mania-badge svg { width: 16px; height: 16px; fill: #ff9a3c; flex: none; animation: rinka-mania-spin 3.2s ease-in-out infinite; }
.rinka-mania-badge::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); transform: translateX(-130%); animation: rinka-mania-shine 3.6s ease-in-out infinite; }
@keyframes rinka-mania-spin { 0%, 100% { transform: rotate(-12deg) scale(1); } 50% { transform: rotate(14deg) scale(1.2); } }
@keyframes rinka-mania-shine { 0%, 55% { transform: translateX(-130%); } 100% { transform: translateX(130%); } }
.rinka-mania-lead { margin: 0 0 12px; font-size: 13.5px; line-height: 1.75; color: var(--rinka-ink-soft, #76606c); max-width: 46em; }
@media (prefers-reduced-motion: reduce) { .rinka-mania-badge svg, .rinka-mania-badge::after { animation: none; } }

/* ガチャのあとの遠征ボタン：遠征中／帰ってきた（2026-10-01・遠征の状態と連動） */
#rinka-home-today .rinka-revisit__cta.rinka-revisit__cta--exp.is-away { background: linear-gradient(180deg, #eaf7f3, #cdeee5); color: #1f6f5d; box-shadow: 0 4px 0 #8fcfbf, 0 10px 18px -10px rgba(40, 150, 125, .4); }
#rinka-home-today .rinka-revisit__cta.rinka-revisit__cta--exp.is-away .rinka-revisit__cta-ic { animation: rinka-exp-walk 1.6s ease-in-out infinite; }
#rinka-home-today .rinka-revisit__cta.rinka-revisit__cta--exp.is-back { background: linear-gradient(180deg, #ffb3d1, #ff7fae); box-shadow: 0 4px 0 #c94a7c, 0 14px 22px -10px rgba(255, 90, 150, .7); animation: rinka-exp-back 1.4s ease-in-out infinite; }
@keyframes rinka-exp-walk { 0%, 100% { transform: translateX(-2px) rotate(-6deg); } 50% { transform: translateX(3px) rotate(6deg); } }
@keyframes rinka-exp-back { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { #rinka-home-today .rinka-revisit__cta--exp.is-away .rinka-revisit__cta-ic, #rinka-home-today .rinka-revisit__cta--exp.is-back { animation: none; } }

/* セーブデータ：データを守る設定・シークレットモードかも（2026-10-15） */
.rinka-save__guard { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0; font-size: .8rem; color: #7a5a70; }
.rinka-save__guard.is-on { color: #2f8f74; font-weight: 700; }
.rinka-save__btn--mini { min-height: 44px; padding: 0 14px; font-size: .78rem; width: auto; }
.rinka-save__private { border: 1px solid #f3a6c4; background: #fff4f8; border-radius: 10px; padding: 8px 10px; }
