/* takearest診断 v05 — Phase 12A 検証用CSS（.tdr-v05 名前空間）
 * 既存テーマ・v04（.tdr-v04）には影響しない。デザイン完成ではなく表示制御検証が目的。
 * ティールブルー／ネイビー基調。
 */

.tdr-v05 {
	--tdr05-navy: #1a2a4a;
	--tdr05-teal: #1f8f87;
	--tdr05-teal-dark: #166b65;
	--tdr05-blue: #2a6f97;
	--tdr05-border: #d9dee5;
	--tdr05-bg-soft: #f4f7f8;
	--tdr05-text: #1a2a4a;
	--tdr05-muted: #4a5568;
	--tdr05-risk: #8a5a00;

	box-sizing: border-box;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	color: var(--tdr05-text);
	font-size: 16px;
	line-height: 1.7;
}

.tdr-v05 *,
.tdr-v05 *::before,
.tdr-v05 *::after {
	box-sizing: border-box;
}

.tdr-v05-card {
	background: #fff;
	border: 1px solid var(--tdr05-border);
	border-radius: 10px;
	padding: 24px;
}

.tdr-v05-title {
	font-size: 1.35rem;
	color: var(--tdr05-navy);
	margin: 0 0 8px;
}

.tdr-v05-lead {
	color: var(--tdr05-muted);
	margin: 0 0 20px;
}

.tdr-v05-notice {
	background: var(--tdr05-bg-soft);
	border-left: 4px solid var(--tdr05-teal);
	padding: 12px 16px;
	border-radius: 4px;
	margin: 0;
}

/* 3入口カード */
.tdr-v05-route-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media (min-width: 600px) {
	.tdr-v05-route-cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

.tdr-v05-route-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--tdr05-border);
	border-top: 4px solid var(--tdr05-teal);
	border-radius: 8px;
	padding: 18px;
	background: #fff;
	margin: 0;
}

.tdr-v05-route-card__title {
	font-size: 1.05rem;
	color: var(--tdr05-navy);
	margin: 0 0 8px;
}

.tdr-v05-route-card__desc {
	font-size: 0.9rem;
	color: var(--tdr05-muted);
	flex: 1;
	margin: 0 0 14px;
}

/* ボタン */
.tdr-v05-btn {
	display: inline-block;
	background: var(--tdr05-teal);
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 10px 18px;
	font-size: 0.95rem;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s ease;
}

.tdr-v05-btn:hover {
	background: var(--tdr05-teal-dark);
}

.tdr-v05-btn--primary {
	background: var(--tdr05-teal);
	font-size: 1.05rem;
	padding: 13px 26px;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(31, 143, 135, 0.25);
}

.tdr-v05-btn--primary:hover {
	background: var(--tdr05-teal-dark);
}

.tdr-v05-btn--sub {
	background: #fff;
	color: var(--tdr05-teal-dark);
	border: 1px solid var(--tdr05-teal);
	font-size: 0.92rem;
	padding: 10px 18px;
}

.tdr-v05-btn--sub:hover {
	background: var(--tdr05-bg-soft);
	color: var(--tdr05-teal-dark);
}

.tdr-v05-cta-stub {
	cursor: default;
}

/* フォーム */
.tdr-v05-field {
	border: none;
	border-top: 1px solid var(--tdr05-border);
	margin: 0;
	padding: 18px 0 4px;
}

.tdr-v05-label {
	font-weight: 600;
	color: var(--tdr05-navy);
	padding: 0;
}

.tdr-v05-req {
	color: var(--tdr05-blue);
	font-size: 0.8rem;
	margin-left: 6px;
}

.tdr-v05-help {
	font-size: 0.85rem;
	color: var(--tdr05-muted);
	margin: 6px 0 10px;
}

.tdr-v05-choice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 7px 0;
	cursor: pointer;
}

.tdr-v05-choice input {
	margin-top: 4px;
}

.tdr-v05-textarea {
	width: 100%;
	border: 1px solid var(--tdr05-border);
	border-radius: 6px;
	padding: 10px;
	font-size: 0.95rem;
}

/* =========================================================================
 * 結果画面（Phase 12B：scenario レポート）
 * ブランド：ティールブルー／ネイビー基調。上質・静か・北欧の空気感。
 * 余白を設計し、視線の流れを Hero → 状態 → 確認 → 次 → 支援 → 想い → CTA に。
 * ========================================================================= */

.tdr-v05-report {
	display: flex;
	flex-direction: column;
	gap: 28px;
	letter-spacing: 0.01em;
}

/* --- 1. Hero（淡ティール〜白／テキスト左・イラスト右） --- */
.tdr-v05-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	background:
		radial-gradient(120% 120% at 100% 0%, rgba(31, 143, 135, 0.08) 0%, rgba(255, 255, 255, 0) 60%),
		linear-gradient(165deg, #ffffff 0%, #f1f7f6 100%);
	border: 1px solid #d6e7e4;
	border-radius: 16px;
	padding: 40px 34px;
}

@media (min-width: 720px) {
	.tdr-v05-hero {
		grid-template-columns: 1.45fr 1fr;
		align-items: center;
		padding: 48px 44px;
	}
}

.tdr-v05-hero__label {
	display: inline-block;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	font-weight: 700;
	color: var(--tdr05-teal-dark);
	border: 1px solid rgba(31, 143, 135, 0.35);
	border-radius: 999px;
	padding: 4px 14px;
	margin-bottom: 20px;
}

.tdr-v05-hero__text {
	min-width: 0;
}

.tdr-v05-hero__heading {
	font-size: 1.72rem;
	line-height: 1.45;
	color: var(--tdr05-navy);
	margin: 0 0 16px;
	font-weight: 700;
}

.tdr-v05-hero__lead {
	font-size: 1.02rem;
	line-height: 1.9;
	color: var(--tdr05-text);
	margin: 0 0 28px;
	max-width: 56ch;
}

.tdr-v05-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.tdr-v05-hero__cta .tdr-v05-btn {
	margin-top: 0;
}

.tdr-v05-hero__note {
	font-size: 0.76rem;
	color: var(--tdr05-muted);
	margin: 14px 0 0;
}

/* Hero イラスト枠（線画プレースホルダー／将来差し替え可能） */
.tdr-v05-hero__illu {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px dashed #c6ddd9;
	color: var(--tdr05-teal);
	padding: 16px;
}

.tdr-v05-illu-svg {
	width: 100%;
	max-width: 260px;
	height: auto;
}

@media (max-width: 560px) {
	.tdr-v05-hero {
		padding: 32px 22px;
	}
	.tdr-v05-hero__heading {
		font-size: 1.42rem;
	}
	.tdr-v05-hero__cta .tdr-v05-btn--primary {
		width: 100%;
		text-align: center;
	}
}

/* --- 2. 状態サマリー（4カード／4列→2列→1列） --- */
.tdr-v05-status {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 560px) {
	.tdr-v05-status {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 960px) {
	.tdr-v05-status {
		grid-template-columns: repeat(4, 1fr);
	}
}

.tdr-v05-status-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: #fff;
	border: 1px solid var(--tdr05-border);
	border-radius: 12px;
	padding: 18px 18px 20px;
}

.tdr-v05-status-card__icon {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: rgba(31, 143, 135, 0.1);
	border: 1px solid rgba(31, 143, 135, 0.25);
	margin-bottom: 4px;
}

.tdr-v05-status-card__label {
	font-size: 0.8rem;
	color: var(--tdr05-muted);
	font-weight: 600;
}

.tdr-v05-status-card__state {
	font-size: 1.12rem;
	color: var(--tdr05-navy);
	font-weight: 700;
	line-height: 1.4;
}

.tdr-v05-status-card__note {
	font-size: 0.82rem;
	color: var(--tdr05-muted);
	line-height: 1.7;
}

/* --- セクション共通 --- */
.tdr-v05-section__title,
.tdr-v05-support__title,
.tdr-v05-brand__title {
	font-size: 1.18rem;
	color: var(--tdr05-navy);
	margin: 0 0 20px;
	font-weight: 700;
	position: relative;
	padding-left: 16px;
}

.tdr-v05-section__title::before,
.tdr-v05-support__title::before,
.tdr-v05-brand__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.15em;
	width: 4px;
	border-radius: 2px;
	background: var(--tdr05-teal);
}

/* --- 3. 相談前に確認したい3つのこと --- */
.tdr-v05-issues {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tdr-v05-issue {
	display: flex;
	gap: 16px;
	background: #fff;
	border: 1px solid var(--tdr05-border);
	border-radius: 12px;
	padding: 22px 24px;
}

.tdr-v05-issue__badge {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--tdr05-navy);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tdr-v05-issue__main {
	flex: 1;
}

.tdr-v05-issue__title {
	font-size: 1.05rem;
	color: var(--tdr05-navy);
	margin: 2px 0 10px;
	font-weight: 700;
}

.tdr-v05-issue__body {
	font-size: 0.95rem;
	line-height: 1.9;
	color: var(--tdr05-text);
	margin: 0 0 14px;
}

.tdr-v05-issue__next {
	font-size: 0.9rem;
	line-height: 1.8;
	color: var(--tdr05-teal-dark);
	background: rgba(31, 143, 135, 0.07);
	border-radius: 8px;
	padding: 12px 14px;
	margin: 0;
}

.tdr-v05-issue__next-label {
	display: inline-block;
	font-weight: 700;
	font-size: 0.74rem;
	letter-spacing: 0.06em;
	margin-right: 10px;
	color: var(--tdr05-navy);
}

/* --- 4. 次にやること（チェックリスト・余白広め） --- */
.tdr-v05-section--next .tdr-v05-checklist {
	background: #fff;
	border: 1px solid var(--tdr05-border);
	border-radius: 12px;
	padding: 10px 24px;
}

.tdr-v05-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdr-v05-checklist__item {
	position: relative;
	padding: 16px 0 16px 36px;
	border-bottom: 1px solid #eef3f2;
	font-size: 0.98rem;
	color: var(--tdr05-text);
}

.tdr-v05-checklist__item:last-child {
	border-bottom: none;
}

.tdr-v05-checklist__item::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 18px;
	width: 16px;
	height: 16px;
	border: 2px solid var(--tdr05-teal);
	border-radius: 4px;
}

/* --- 5. takearest 支援カード（淡ティールのブランドカード） --- */
.tdr-v05-support {
	background: linear-gradient(165deg, #eef6f5 0%, #e3f0ee 100%);
	border: 1px solid #cfe6e3;
	border-radius: 16px;
	padding: 32px 30px;
}

.tdr-v05-support__body {
	font-size: 0.96rem;
	line-height: 1.95;
	color: var(--tdr05-text);
	margin: 0 0 20px;
	max-width: 64ch;
}

.tdr-v05-support__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

@media (min-width: 560px) {
	.tdr-v05-support__list {
		grid-template-columns: 1fr 1fr;
	}
}

.tdr-v05-support__list li {
	position: relative;
	padding-left: 26px;
	font-size: 0.92rem;
	color: var(--tdr05-navy);
	line-height: 1.6;
}

.tdr-v05-support__list li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 0.5em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tdr05-teal);
}

/* --- 6. 私たちが大切にしていること（特別感・派手にしない） --- */
.tdr-v05-brand {
	background: var(--tdr05-navy);
	border-radius: 16px;
	padding: 44px 38px;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.tdr-v05-brand::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(31, 143, 135, 0.35) 0%, rgba(31, 143, 135, 0) 70%);
	pointer-events: none;
}

.tdr-v05-brand__title {
	color: #fff;
	font-size: 1.24rem;
	margin: 0 0 22px;
	position: relative;
	z-index: 1;
}

.tdr-v05-brand__title::before {
	background: var(--tdr05-teal);
}

.tdr-v05-brand__body {
	position: relative;
	z-index: 1;
	max-width: 60ch;
}

.tdr-v05-brand__body p {
	font-size: 0.97rem;
	line-height: 2.05;
	color: rgba(255, 255, 255, 0.9);
	margin: 0 0 18px;
}

.tdr-v05-brand__body p:last-child {
	margin-bottom: 0;
}

/* --- 7. 最終CTA・共有 --- */
.tdr-v05-final {
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: center;
	text-align: center;
	padding: 8px 0;
}

.tdr-v05-final__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.tdr-v05-share-mini {
	width: 100%;
	max-width: 560px;
	background: var(--tdr05-bg-soft);
	border: 1px solid var(--tdr05-border);
	border-radius: 12px;
	padding: 20px 22px;
	text-align: left;
}

.tdr-v05-share-mini__label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--tdr05-muted);
	margin-bottom: 12px;
}

.tdr-v05-share-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 1px solid var(--tdr05-border);
	border-radius: 10px;
	padding: 14px 16px;
}

.tdr-v05-share-card__text {
	flex: 1;
	min-width: 200px;
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.8;
	color: var(--tdr05-text);
}

.tdr-v05-share-mini__note {
	font-size: 0.76rem;
	color: var(--tdr05-muted);
	margin: 12px 0 0;
}

.tdr-v05-copy-btn {
	white-space: nowrap;
	font-size: 0.86rem;
	padding: 9px 16px;
}

.tdr-v05-copy-btn[data-tdr-copied="1"] {
	background: var(--tdr05-teal-dark);
}

/* --- 8. 詳細・参考情報（折りたたみ・初期閉じ・控えめ） --- */
.tdr-v05-detail {
	border: 1px solid var(--tdr05-border);
	border-radius: 12px;
	padding: 16px 20px;
	background: #fff;
}

.tdr-v05-detail__summary {
	cursor: pointer;
	color: var(--tdr05-muted);
	font-size: 0.88rem;
	font-weight: 600;
	list-style: none;
}

.tdr-v05-detail__summary::-webkit-details-marker {
	display: none;
}

.tdr-v05-detail__summary::before {
	content: "＋ ";
	color: var(--tdr05-teal);
}

.tdr-v05-detail[open] .tdr-v05-detail__summary::before {
	content: "− ";
}

.tdr-v05-detail__body {
	padding-top: 16px;
	font-size: 0.85rem;
	color: var(--tdr05-muted);
	line-height: 1.8;
}

.tdr-v05-detail__parts,
.tdr-v05-detail__answers {
	margin: 8px 0 16px;
	padding-left: 20px;
}

.tdr-v05-detail__parts li,
.tdr-v05-detail__answers li {
	margin-bottom: 5px;
	word-break: break-word;
}

/* =========================================================================
 * Phase 12C-UI / Dashboard reproduction
 * 画面モック再現用。既存 .tdr-v05 名前空間内だけに閉じる。
 * ========================================================================= */

.tdr-v05.tdr-v05--dashboard {
	--tdr05-navy: #0a1f4d;
	--tdr05-navy-2: #102a63;
	--tdr05-teal: #149476;
	--tdr05-teal-2: #0e7f6e;
	--tdr05-mint: #eaf7f2;
	--tdr05-line: #dbe5ee;
	--tdr05-line-2: #edf2f7;
	--tdr05-soft: #f6f9fc;
	--tdr05-warm: #ff7a1a;
	--tdr05-gold: #f2a900;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Yu Gothic", sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: var(--tdr05-navy);
	background: #f7fafc;
}

.tdr-v05--dashboard .tdr-v05-dash {
	width: 100%;
	background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 55%, #ffffff 100%);
	border: 1px solid #edf2f7;
}

.tdr-v05--dashboard .tdr-v05-dash-header {
	display: grid;
	grid-template-columns: 270px 1fr 190px;
	gap: 24px;
	align-items: center;
	min-height: 86px;
	padding: 18px clamp(18px, 3vw, 36px);
	background: rgba(255,255,255,0.94);
	border-bottom: 1px solid var(--tdr05-line);
	position: sticky;
	top: 0;
	z-index: 5;
	backdrop-filter: blur(12px);
}

.tdr-v05--dashboard .tdr-v05-logo {
	display: grid;
	grid-template-columns: 32px 1fr;
	column-gap: 8px;
	align-items: center;
}

.tdr-v05--dashboard .tdr-v05-logo__mark {
	grid-row: 1 / span 2;
	width: 28px;
	height: 28px;
	border: 3px solid var(--tdr05-navy);
	border-radius: 60% 60% 60% 0;
	transform: rotate(-45deg);
	font-size: 0;
}

.tdr-v05--dashboard .tdr-v05-logo__text {
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.tdr-v05--dashboard .tdr-v05-logo__tagline {
	font-size: 12px;
	font-weight: 600;
	color: #53627a;
}

.tdr-v05--dashboard .tdr-v05-progress {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 62px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.tdr-v05--dashboard .tdr-v05-progress li {
	position: relative;
	text-align: center;
	color: #8b99ad;
	font-size: 12px;
	font-weight: 700;
}

.tdr-v05--dashboard .tdr-v05-progress li + li::before {
	content: "";
	position: absolute;
	right: calc(100% + 10px);
	top: 13px;
	width: 58px;
	height: 2px;
	background: #cdd8e6;
}

.tdr-v05--dashboard .tdr-v05-progress span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin: 0 auto 3px;
	border-radius: 999px;
	background: #cdd8e6;
	color: #fff;
	font-size: 13px;
}

.tdr-v05--dashboard .tdr-v05-progress .is-current span {
	background: var(--tdr05-teal);
}

.tdr-v05--dashboard .tdr-v05-progress .is-current em {
	color: var(--tdr05-teal);
}

.tdr-v05--dashboard .tdr-v05-progress em {
	font-style: normal;
}

.tdr-v05--dashboard .tdr-v05-save-stub {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 16px;
	border: 1px solid #cbd8e6;
	border-radius: 12px;
	background: #fff;
	color: var(--tdr05-navy);
	font-weight: 700;
	font-size: 13px;
	box-shadow: 0 4px 12px rgba(10, 31, 77, 0.04);
}

.tdr-v05--dashboard .tdr-v05-save-stub::before {
	content: "▯";
	color: #1e68b5;
}

.tdr-v05--dashboard .tdr-v05-layout {
	display: grid;
	grid-template-columns: 238px minmax(0, 1fr);
	max-width: 1240px;
	margin: 0 auto;
	gap: 24px;
	padding: 28px 22px 18px;
}

.tdr-v05--dashboard .tdr-v05-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tdr-v05--dashboard .tdr-v05-side-card,
.tdr-v05--dashboard .tdr-v05-panel {
	background: rgba(255,255,255,0.96);
	border: 1px solid var(--tdr05-line);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(17, 46, 86, 0.05);
}

.tdr-v05--dashboard .tdr-v05-side-card {
	padding: 18px 18px;
}

.tdr-v05--dashboard .tdr-v05-side-card h3 {
	font-size: 15px;
	margin: 0 0 12px;
	color: var(--tdr05-navy);
}

.tdr-v05--dashboard .tdr-v05-side-card p {
	margin: 0 0 10px;
	font-size: 12px;
	color: #43536b;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps {
	padding: 0;
	overflow: hidden;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps h3 {
	margin: 0;
	padding: 16px 18px;
	background: linear-gradient(135deg, #061c49, #123d7c);
	color: #fff;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps ol {
	list-style: none;
	padding: 8px 0;
	margin: 0;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps li {
	display: grid;
	grid-template-columns: 34px 1fr auto;
	align-items: center;
	padding: 13px 18px;
	font-size: 13px;
	font-weight: 700;
	color: #273c60;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps li.is-current {
	background: linear-gradient(135deg, #0b56c2, #154da5);
	color: #fff;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps span {
	font-weight: 800;
	color: inherit;
}

.tdr-v05--dashboard .tdr-v05-side-card--steps b {
	color: var(--tdr05-teal);
}

.tdr-v05--dashboard .tdr-v05-side-card--steps .is-current b {
	color: #fff;
}

.tdr-v05--dashboard .tdr-v05-orange-btn,
.tdr-v05--dashboard .tdr-v05-bottom-actions__primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 13px 16px;
	border-radius: 10px;
	background: linear-gradient(135deg, #ff7a1a, #ff6b00);
	color: #fff;
	font-weight: 800;
	text-align: center;
	box-shadow: 0 8px 18px rgba(255, 122, 26, 0.22);
}

.tdr-v05--dashboard .tdr-v05-side-card small {
	display: block;
	margin-top: 10px;
	font-size: 11px;
	color: #6f7c90;
	text-align: center;
}

.tdr-v05--dashboard .tdr-v05-more,
.tdr-v05--dashboard .tdr-v05-download-stub {
	display: block;
	margin-top: 12px;
	padding: 10px;
	border: 1px solid #d7e2ef;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	color: var(--tdr05-navy);
	text-align: center;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 11px;
	border: 1px solid #cfdae8;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 700;
	margin-top: 10px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-contact-btn--line {
	border-color: #b9ead7;
	color: #078549;
}

.tdr-v05--dashboard .tdr-v05-main {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.tdr-v05--dashboard .tdr-v05-report-head {
	display: grid;
	grid-template-columns: 1fr 300px;
	align-items: center;
	gap: 24px;
	padding: 4px 0 8px;
}

.tdr-v05--dashboard .tdr-v05-report-head h2 {
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.2;
	margin: 0 0 14px;
	font-weight: 850;
	letter-spacing: -0.03em;
	color: var(--tdr05-navy);
}

.tdr-v05--dashboard .tdr-v05-report-head h2 span {
	display: inline-flex;
	vertical-align: middle;
	margin-left: 16px;
	padding: 6px 14px;
	font-size: 13px;
	letter-spacing: 0;
	border: 1px solid #7dcab7;
	border-radius: 999px;
	color: #00795f;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-report-head p {
	margin: 0;
	font-weight: 700;
	color: #2d4363;
}

.tdr-v05--dashboard .tdr-v05-house-visual {
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #cfdbea;
	box-shadow: 0 10px 24px rgba(17,46,86,.08);
}

.tdr-v05--dashboard .tdr-v05-house-visual svg {
	display: block;
	width: 100%;
	height: auto;
}

.tdr-v05--dashboard .tdr-v05-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 18px;
}

.tdr-v05--dashboard .tdr-v05-panel {
	padding: 20px;
}

.tdr-v05--dashboard .tdr-v05-panel h3,
.tdr-v05--dashboard .tdr-v05-help-strip h3 {
	font-size: 17px;
	font-weight: 850;
	margin: 0 0 16px;
	color: var(--tdr05-navy);
}

.tdr-v05--dashboard .tdr-v05-grade-card__inner {
	display: grid;
	grid-template-columns: 132px 1fr;
	gap: 22px;
	align-items: center;
}

.tdr-v05--dashboard .tdr-v05-grade-ring {
	--pct: calc(var(--score) * 1%);
	width: 128px;
	height: 128px;
	border-radius: 50%;
	background: conic-gradient(var(--tdr05-teal) var(--pct), #e9eef3 0);
	position: relative;
	display: grid;
	place-items: center;
	box-shadow: inset 0 0 0 1px #edf2f7;
}

.tdr-v05--dashboard .tdr-v05-grade-ring::before {
	content: "";
	position: absolute;
	inset: 13px;
	border-radius: inherit;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-grade-ring span,
.tdr-v05--dashboard .tdr-v05-grade-ring small {
	position: relative;
	z-index: 1;
}

.tdr-v05--dashboard .tdr-v05-grade-ring span {
	font-size: 56px;
	line-height: 1;
	font-weight: 900;
	color: var(--tdr05-gold);
}

.tdr-v05--dashboard .tdr-v05-grade-ring small {
	font-size: 12px;
	font-weight: 800;
	color: #53627a;
}

.tdr-v05--dashboard .tdr-v05-grade-copy h4 {
	font-size: 18px;
	line-height: 1.55;
	margin: 0 0 10px;
	font-weight: 850;
}

.tdr-v05--dashboard .tdr-v05-grade-copy p,
.tdr-v05--dashboard .tdr-v05-life-type span,
.tdr-v05--dashboard .tdr-v05-axis-note,
.tdr-v05--dashboard .tdr-v05-top3-item p,
.tdr-v05--dashboard .tdr-v05-next-mini span,
.tdr-v05--dashboard .tdr-v05-exp-feature p,
.tdr-v05--dashboard .tdr-v05-help-item span {
	font-size: 12px;
	color: #53627a;
	margin: 0;
}

.tdr-v05--dashboard .tdr-v05-life-types {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.tdr-v05--dashboard .tdr-v05-life-type {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	min-height: 144px;
	padding: 18px 10px;
	border: 1px solid #dbe5ee;
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.tdr-v05--dashboard .tdr-v05-life-type strong {
	font-size: 15px;
	font-weight: 850;
	color: var(--tdr05-navy);
}

.tdr-v05--dashboard .tdr-v05-icon-svg {
	width: 38px;
	height: 38px;
	color: #0b4da5;
	flex: 0 0 auto;
}

.tdr-v05--dashboard .tdr-v05-axis-list {
	display: grid;
	gap: 10px;
}

.tdr-v05--dashboard .tdr-v05-axis-row {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 126px;
	align-items: center;
	gap: 12px;
	padding: 11px 13px;
	border: 1px solid #e2eaf3;
	border-radius: 12px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-axis-row strong {
	font-size: 14px;
	font-weight: 800;
}

.tdr-v05--dashboard .tdr-v05-axis-icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #eff6ff;
}

.tdr-v05--dashboard .tdr-v05-axis-icon .tdr-v05-icon-svg {
	width: 24px;
	height: 24px;
}

.tdr-v05--dashboard .tdr-v05-stars {
	white-space: nowrap;
	font-size: 19px;
	letter-spacing: 2px;
	color: #cfd8e6;
}

.tdr-v05--dashboard .tdr-v05-star.is-on {
	color: #0b4da5;
}

.tdr-v05--dashboard .tdr-v05-axis-note {
	text-align: center;
	margin-top: 10px;
}

.tdr-v05--dashboard .tdr-v05-top3-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tdr-v05--dashboard .tdr-v05-top3-item {
	display: grid;
	grid-template-columns: 38px 52px 1fr;
	align-items: center;
	gap: 12px;
	padding: 15px 14px;
	border: 1px solid #e2eaf3;
	border-radius: 14px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-rank {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #e74735;
	color: #fff;
	font-weight: 850;
}

.tdr-v05--dashboard .tdr-v05-top3-item--2 .tdr-v05-rank { background: #ffaf13; }
.tdr-v05--dashboard .tdr-v05-top3-item--3 .tdr-v05-rank { background: #f0a400; }

.tdr-v05--dashboard .tdr-v05-top3-icon .tdr-v05-icon-svg {
	width: 44px;
	height: 44px;
}

.tdr-v05--dashboard .tdr-v05-top3-item h4 {
	font-size: 15px;
	font-weight: 850;
	margin: 0 0 3px;
}

.tdr-v05--dashboard .tdr-v05-top3-action {
	margin-top: 8px !important;
	padding: 8px 10px;
	border-radius: 10px;
	background: rgba(31, 143, 135, 0.07);
	border: 1px solid rgba(31, 143, 135, 0.12);
	color: rgba(14, 58, 74, 0.84);
	font-size: 12px !important;
	line-height: 1.65 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action span {
	display: inline-block;
	margin-right: 8px;
	color: #08785f;
	font-weight: 850;
}

.tdr-v05--dashboard .tdr-v05-positive-note {
	margin-top: 4px;
	padding: 13px 16px;
	border: 1px solid #b9ead7;
	border-radius: 12px;
	background: #eefaf5;
	color: #08785f;
	font-size: 13px;
	font-weight: 700;
}

.tdr-v05--dashboard .tdr-v05-next-mini-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}

.tdr-v05--dashboard .tdr-v05-next-mini {
	min-height: 156px;
	padding: 14px 10px;
	border: 1px solid #e2eaf3;
	border-radius: 13px;
	text-align: center;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-next-mini .tdr-v05-icon-svg {
	width: 34px;
	height: 34px;
	margin-bottom: 8px;
}

.tdr-v05--dashboard .tdr-v05-next-mini strong {
	display: block;
	font-size: 12px;
	font-weight: 850;
	margin-bottom: 6px;
}

.tdr-v05--dashboard .tdr-v05-experience-card {
	position: relative;
}

.tdr-v05--dashboard .tdr-v05-new-badge {
	position: absolute;
	right: 20px;
	top: 18px;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--tdr05-teal);
	color: #fff;
	font-size: 11px;
	font-weight: 900;
}

.tdr-v05--dashboard .tdr-v05-exp-feature {
	display: grid;
	grid-template-columns: 1fr 130px;
	gap: 16px;
	align-items: center;
	padding: 18px;
	border: 1px solid #a9decf;
	border-radius: 14px;
	background: linear-gradient(135deg, #ffffff, #f0fbf7);
}

.tdr-v05--dashboard .tdr-v05-exp-feature span,
.tdr-v05--dashboard .tdr-v05-exp-subtitle,
.tdr-v05--dashboard .tdr-v05-exp-share span {
	font-size: 12px;
	font-weight: 800;
	color: var(--tdr05-teal-2);
}

.tdr-v05--dashboard .tdr-v05-exp-feature h4 {
	font-size: 30px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: var(--tdr05-teal-2);
	margin: 4px 0 8px;
}

.tdr-v05--dashboard .tdr-v05-exp-illu {
	color: #0d8f75;
	opacity: 0.72;
}

.tdr-v05--dashboard .tdr-v05-exp-subtitle {
	margin: 14px 0 8px;
}

.tdr-v05--dashboard .tdr-v05-place-chips {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.tdr-v05--dashboard .tdr-v05-place-chips span {
	display: grid;
	place-items: center;
	min-height: 50px;
	padding: 8px;
	border: 1px solid #cfe6df;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 800;
	text-align: center;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-exp-share {
	margin-top: 12px;
	border: 1px solid #a9decf;
	border-radius: 12px;
	padding: 10px 12px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-exp-share p {
	font-size: 13px;
	font-weight: 800;
	margin: 4px 0 8px;
	color: var(--tdr05-teal-2);
}

.tdr-v05--dashboard .tdr-v05-copy-btn {
	border: 1px solid #b9ead7;
	border-radius: 999px;
	background: #f4fbf8;
	color: #0d725f;
	font-weight: 800;
	font-size: 12px;
	padding: 6px 12px;
	cursor: pointer;
}

.tdr-v05--dashboard .tdr-v05-help-strip {
	padding: 18px;
	border: 1px solid #cfe6df;
	border-radius: 14px;
	background: linear-gradient(180deg, #f4fcf9, #fff);
}

.tdr-v05--dashboard .tdr-v05-help-strip h3 {
	color: var(--tdr05-teal-2);
}

.tdr-v05--dashboard .tdr-v05-help-strip__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}

.tdr-v05--dashboard .tdr-v05-help-item {
	padding: 12px 10px;
	border: 1px solid #cfe6df;
	border-radius: 12px;
	background: #fff;
	text-align: center;
}

.tdr-v05--dashboard .tdr-v05-help-item .tdr-v05-icon-svg {
	width: 34px;
	height: 34px;
	color: var(--tdr05-teal-2);
	margin-bottom: 6px;
}

.tdr-v05--dashboard .tdr-v05-help-item strong {
	display: block;
	font-size: 12px;
	font-weight: 850;
	margin-bottom: 4px;
}

.tdr-v05--dashboard .tdr-v05-message-band {
	display: grid;
	grid-template-columns: 280px 1fr 240px;
	gap: 22px;
	align-items: center;
	padding: 24px 26px;
	border-radius: 14px;
	background:
		linear-gradient(90deg, rgba(6, 22, 59, 0.98), rgba(7, 30, 76, 0.94)),
		linear-gradient(135deg, #0a1f4d, #052c53);
	color: #fff;
	overflow: hidden;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy span {
	font-size: 12px;
	font-weight: 800;
	color: #a7d9ce;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy h3 {
	font-size: 24px;
	line-height: 1.7;
	font-weight: 500;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	margin: 8px 0 8px;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy p,
.tdr-v05--dashboard .tdr-v05-message-band__body p {
	margin: 0;
	color: rgba(255,255,255,0.9);
}

.tdr-v05--dashboard .tdr-v05-message-band__body p + p {
	margin-top: 10px;
}

.tdr-v05--dashboard .tdr-v05-message-photo {
	min-height: 130px;
	border-radius: 12px;
	background: radial-gradient(circle at 75% 40%, rgba(255,180,80,.28), transparent 35%), rgba(255,255,255,.06);
	color: rgba(255,255,255,.7);
	display: grid;
	place-items: center;
	overflow: hidden;
}

.tdr-v05--dashboard .tdr-v05-message-photo svg {
	width: 92%;
	height: auto;
}

.tdr-v05--dashboard .tdr-v05-bottom-actions {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: 18px;
	align-items: center;
	padding: 4px 0 0;
}

.tdr-v05--dashboard .tdr-v05-bottom-actions__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 16px;
	border: 1px solid #99d9c8;
	border-radius: 10px;
	background: #fff;
	color: #0d725f;
	font-weight: 850;
}

.tdr-v05--dashboard .tdr-v05-bottom-share {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	color: #41536d;
}

.tdr-v05--dashboard .tdr-v05-bottom-share b {
	display: grid;
	place-items: center;
	min-width: 30px;
	height: 30px;
	padding: 0 7px;
	border: 1px solid #d7e2ef;
	border-radius: 999px;
	background: #fff;
	font-size: 11px;
}

.tdr-v05--dashboard .tdr-v05-detail--dashboard {
	border: 1px solid var(--tdr05-line);
	border-radius: 10px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-detail--dashboard .tdr-v05-detail__summary {
	padding: 13px 16px;
	font-weight: 850;
	color: var(--tdr05-navy);
}

@media (max-width: 1080px) {
	.tdr-v05--dashboard .tdr-v05-dash-header,
	.tdr-v05--dashboard .tdr-v05-layout,
	.tdr-v05--dashboard .tdr-v05-report-head,
	.tdr-v05--dashboard .tdr-v05-grid,
	.tdr-v05--dashboard .tdr-v05-message-band,
	.tdr-v05--dashboard .tdr-v05-bottom-actions {
		grid-template-columns: 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-sidebar {
		order: 2;
	}
	.tdr-v05--dashboard .tdr-v05-main {
		order: 1;
	}
	.tdr-v05--dashboard .tdr-v05-progress {
		gap: 28px;
	}
	.tdr-v05--dashboard .tdr-v05-progress li + li::before {
		width: 28px;
	}
	.tdr-v05--dashboard .tdr-v05-help-strip__grid,
	.tdr-v05--dashboard .tdr-v05-next-mini-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 720px) {
	.tdr-v05--dashboard .tdr-v05-dash-header {
		position: static;
		gap: 12px;
		padding: 16px;
	}
	.tdr-v05--dashboard .tdr-v05-logo__text {
		font-size: 24px;
	}
	.tdr-v05--dashboard .tdr-v05-progress {
		justify-content: flex-start;
		overflow-x: auto;
		gap: 22px;
		padding-bottom: 4px;
	}
	.tdr-v05--dashboard .tdr-v05-layout {
		padding: 18px 12px;
	}
	.tdr-v05--dashboard .tdr-v05-report-head h2 {
		font-size: 30px;
	}
	.tdr-v05--dashboard .tdr-v05-report-head h2 span {
		display: inline-flex;
		margin: 10px 0 0;
	}
	.tdr-v05--dashboard .tdr-v05-grade-card__inner,
	.tdr-v05--dashboard .tdr-v05-exp-feature {
		grid-template-columns: 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-life-types,
	.tdr-v05--dashboard .tdr-v05-place-chips,
	.tdr-v05--dashboard .tdr-v05-help-strip__grid,
	.tdr-v05--dashboard .tdr-v05-next-mini-grid {
		grid-template-columns: 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-axis-row {
		grid-template-columns: 36px 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-stars {
		grid-column: 2;
	}
	.tdr-v05--dashboard .tdr-v05-top3-item {
		grid-template-columns: 34px 42px 1fr;
		gap: 8px;
	}
	.tdr-v05--dashboard .tdr-v05-panel {
		padding: 16px;
	}
}

/* Phase 12C UI refinement: Sauner type / recommendations / share */
.tdr-v05--dashboard .tdr-v05-experience-card h3 {
	padding-right: 64px;
}

.tdr-v05--dashboard .tdr-v05-rec-details {
	margin-top: 14px;
	border: 1px solid #cfe6df;
	border-radius: 13px;
	background: #fff;
	overflow: hidden;
}

.tdr-v05--dashboard .tdr-v05-rec-details summary {
	cursor: pointer;
	list-style: none;
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 900;
	color: var(--tdr05-teal-2);
	background: #f4fbf8;
}

.tdr-v05--dashboard .tdr-v05-rec-details summary::-webkit-details-marker {
	display: none;
}

.tdr-v05--dashboard .tdr-v05-rec-details summary::after {
	content: "＋";
	float: right;
	font-weight: 900;
}

.tdr-v05--dashboard .tdr-v05-rec-details[open] summary::after {
	content: "−";
}

.tdr-v05--dashboard .tdr-v05-rec-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	padding: 12px;
}

.tdr-v05--dashboard .tdr-v05-rec-item {
	min-height: 86px;
	padding: 11px 10px;
	border: 1px solid #e2efe9;
	border-radius: 11px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-rec-item strong {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 900;
	color: var(--tdr05-navy);
}

.tdr-v05--dashboard .tdr-v05-rec-item span {
	display: block;
	font-size: 11px;
	line-height: 1.55;
	color: #52657a;
}

.tdr-v05--dashboard .tdr-v05-rec-note {
	margin: 0;
	padding: 0 12px 12px;
	font-size: 10.5px;
	line-height: 1.55;
	color: #6d7d8f;
}

.tdr-v05--dashboard .tdr-v05-sauner-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid #a9decf;
	border-radius: 12px;
	background: #fff;
}

.tdr-v05--dashboard .tdr-v05-sauner-share span {
	font-size: 12px;
	font-weight: 900;
	color: var(--tdr05-teal-2);
	margin-right: auto;
}

.tdr-v05--dashboard .tdr-v05-share-link,
.tdr-v05--dashboard .tdr-v05-bottom-share a,
.tdr-v05--dashboard .tdr-v05-bottom-share button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 6px 10px;
	border: 1px solid #d7e2ef;
	border-radius: 999px;
	background: #fff;
	color: #14345c;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
}

.tdr-v05--dashboard .tdr-v05-share-link:hover,
.tdr-v05--dashboard .tdr-v05-bottom-share a:hover,
.tdr-v05--dashboard .tdr-v05-bottom-share button:hover {
	border-color: #99d9c8;
	background: #f4fbf8;
	color: #0d725f;
}

.tdr-v05--dashboard .tdr-v05-bottom-share button {
	font-family: inherit;
}

.tdr-v05--dashboard .tdr-v05-bottom-share b {
	display: none;
}

@media (max-width: 782px) {
	.tdr-v05--dashboard .tdr-v05-rec-list {
		grid-template-columns: 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-sauner-share {
		align-items: stretch;
	}
	.tdr-v05--dashboard .tdr-v05-sauner-share span {
		width: 100%;
	}
	.tdr-v05--dashboard .tdr-v05-share-link {
		flex: 1 1 auto;
	}
}

/* Phase 12C UI3: remove left sidebar and move support widgets below help strip */
.tdr-v05--dashboard .tdr-v05-layout {
	grid-template-columns: minmax(0, 1fr);
	max-width: 1220px;
	gap: 0;
	padding-left: 24px;
	padding-right: 24px;
}

.tdr-v05--dashboard .tdr-v05-main {
	min-width: 0;
}

.tdr-v05--dashboard .tdr-v05-report-head h2 {
	max-width: 760px;
}

.tdr-v05--dashboard .tdr-v05-after-help {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 16px;
	margin-top: 18px;
}

.tdr-v05--dashboard .tdr-v05-after-card {
	padding: 18px;
	border: 1px solid var(--tdr05-line);
	border-radius: 14px;
	background: rgba(255,255,255,0.96);
	box-shadow: 0 8px 24px rgba(17, 46, 86, 0.05);
}

.tdr-v05--dashboard .tdr-v05-after-card h3 {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 900;
	color: var(--tdr05-navy);
}

.tdr-v05--dashboard .tdr-v05-after-card p {
	margin: 0 0 10px;
	font-size: 12px;
	line-height: 1.75;
	color: #43536b;
}

.tdr-v05--dashboard .tdr-v05-after-card small {
	display: block;
	margin-top: 10px;
	font-size: 11px;
	color: #6f7c90;
	text-align: center;
}

.tdr-v05--dashboard .tdr-v05-after-card .tdr-v05-contact-btn + .tdr-v05-contact-btn {
	margin-top: 8px;
}

@media (max-width: 1080px) {
	.tdr-v05--dashboard .tdr-v05-after-help {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.tdr-v05--dashboard .tdr-v05-layout {
		padding-left: 12px;
		padding-right: 12px;
	}
}


/* =========================================================================
 * Phase 12C UI4: emergency layout repair after sidebar removal
 * 原因: UI3で左サイドバーを外したが、テーマ側の本文幅や旧gridの影響で
 * メインカラムが min-content 的に潰れ、見出しが1文字ずつ折り返された。
 * 対応: v05ダッシュボードを全幅化し、レポート本体を明示幅の1カラムに再固定。
 * ========================================================================= */
.tdr-v05.tdr-v05--dashboard {
	width: 100vw !important;
	max-width: 100vw !important;
	min-width: 0 !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	overflow-x: hidden;
}

.tdr-v05--dashboard .tdr-v05-dash {
	width: 100% !important;
	max-width: none !important;
}

.tdr-v05--dashboard .tdr-v05-layout {
	display: block !important;
	width: min(1180px, calc(100vw - 48px)) !important;
	max-width: 1180px !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	padding: 32px 0 20px !important;
}

.tdr-v05--dashboard .tdr-v05-main {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.tdr-v05--dashboard .tdr-v05-report-head {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 330px) !important;
	align-items: center !important;
	gap: 28px !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: 6px 0 10px !important;
}

.tdr-v05--dashboard .tdr-v05-report-head > div {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.tdr-v05--dashboard .tdr-v05-report-head h2 {
	display: block !important;
	max-width: none !important;
	width: 100% !important;
	min-width: 0 !important;
	writing-mode: horizontal-tb !important;
	white-space: normal !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	line-break: strict !important;
}

.tdr-v05--dashboard .tdr-v05-report-head h2 span {
	white-space: nowrap !important;
}

.tdr-v05--dashboard .tdr-v05-house-visual {
	width: 100% !important;
	max-width: 330px !important;
	justify-self: end !important;
}

.tdr-v05--dashboard .tdr-v05-grid,
.tdr-v05--dashboard .tdr-v05-help-strip,
.tdr-v05--dashboard .tdr-v05-after-help,
.tdr-v05--dashboard .tdr-v05-message-band,
.tdr-v05--dashboard .tdr-v05-bottom-actions,
.tdr-v05--dashboard .tdr-v05-detail--dashboard {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

@media (min-width: 901px) {
	.tdr-v05--dashboard .tdr-v05-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 18px !important;
	}
}

@media (max-width: 900px) {
	.tdr-v05.tdr-v05--dashboard {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.tdr-v05--dashboard .tdr-v05-layout {
		width: 100% !important;
		padding: 20px 14px 18px !important;
	}
	.tdr-v05--dashboard .tdr-v05-report-head {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}
	.tdr-v05--dashboard .tdr-v05-house-visual {
		max-width: 100% !important;
		justify-self: stretch !important;
	}
}

@media (max-width: 720px) {
	.tdr-v05--dashboard .tdr-v05-report-head h2 {
		font-size: 30px !important;
		line-height: 1.25 !important;
	}
}

/* =========================================================================
 * Phase 12C UI5: spacing/order refinements
 * - 「次に確認しておきたいこと」を潰れない横長カードへ変更
 * - 相談/FAQをtakearest支援ブロックの上へ移動（HTML側で対応）
 * - 問い合わせ導線を最下部CTAに統合
 * ========================================================================= */
.tdr-v05--dashboard .tdr-v05-next-mini-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
	gap: 12px !important;
}

.tdr-v05--dashboard .tdr-v05-next-mini {
	min-height: 0 !important;
	display: grid !important;
	grid-template-columns: 44px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: 12px !important;
	row-gap: 4px !important;
	align-items: start !important;
	padding: 14px 16px !important;
	text-align: left !important;
}

.tdr-v05--dashboard .tdr-v05-next-mini .tdr-v05-icon-svg {
	grid-row: 1 / span 2 !important;
	width: 34px !important;
	height: 34px !important;
	margin: 2px 0 0 !important;
}

.tdr-v05--dashboard .tdr-v05-next-mini strong {
	display: block !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	word-break: keep-all !important;
	overflow-wrap: anywhere !important;
}

.tdr-v05--dashboard .tdr-v05-next-mini span {
	display: block !important;
	font-size: 12px !important;
	line-height: 1.75 !important;
	color: #52627a !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.tdr-v05--dashboard .tdr-v05-after-help {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin-top: 0 !important;
}

.tdr-v05--dashboard .tdr-v05-help-strip {
	margin-top: 0 !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-actions {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 14px 18px !important;
	align-items: stretch !important;
	padding-top: 0 !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-actions__primary,
.tdr-v05--dashboard .tdr-v05-bottom-actions__secondary {
	min-height: 48px !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help,
.tdr-v05--dashboard .tdr-v05-bottom-share {
	min-height: 78px !important;
	padding: 14px 16px !important;
	border: 1px solid var(--tdr05-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(17, 46, 86, 0.04) !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 8px 14px !important;
	align-items: center !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help strong {
	display: block !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	color: var(--tdr05-navy) !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help span {
	display: block !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
	color: #52627a !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help > div {
	grid-row: 1 / span 2 !important;
	grid-column: 2 !important;
	display: flex !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	padding: 8px 12px !important;
	border-radius: 999px !important;
	border: 1px solid #bcd7e9 !important;
	background: #fff !important;
	color: var(--tdr05-navy) !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-help__line {
	border-color: #9ce2cb !important;
	color: #057a58 !important;
	background: #f3fcf8 !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-share {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
}

.tdr-v05--dashboard .tdr-v05-bottom-share a,
.tdr-v05--dashboard .tdr-v05-bottom-share button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 32px !important;
	padding: 7px 10px !important;
	border: 1px solid #d7e2ef !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--tdr05-navy) !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

@media (max-width: 1080px) {
	.tdr-v05--dashboard .tdr-v05-after-help,
	.tdr-v05--dashboard .tdr-v05-bottom-actions {
		grid-template-columns: 1fr !important;
	}

	.tdr-v05--dashboard .tdr-v05-bottom-help {
		grid-template-columns: 1fr !important;
	}

	.tdr-v05--dashboard .tdr-v05-bottom-help > div {
		grid-row: auto !important;
		grid-column: auto !important;
		justify-content: flex-start !important;
	}

	.tdr-v05--dashboard .tdr-v05-bottom-share {
		justify-content: flex-start !important;
	}
}

@media (max-width: 720px) {
	.tdr-v05--dashboard .tdr-v05-next-mini-grid {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================================
 * Phase 12C UI6: 質問ブロック / 途中離脱対策
 * ========================================================================= */
.tdr-v05-form-intro {
	margin: 0 0 22px;
	padding: 22px 24px;
	border: 1px solid #d8e6ee;
	border-radius: 18px;
	background: linear-gradient(135deg, #ffffff 0%, #f3faf8 100%);
}
.tdr-v05-form-intro__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;	font-weight: 800;
	letter-spacing: .08em;
	color: var(--tdr05-teal-dark);
}
.tdr-v05-question-block {
	margin: 22px 0;
	padding: 0;
	border: 1px solid #dbe7ef;
	border-radius: 20px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(26, 42, 74, 0.05);
}
.tdr-v05-qblock__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px 16px;
	background:
		radial-gradient(70% 90% at 100% 0%, rgba(31, 143, 135, .10), transparent 60%),
		linear-gradient(135deg, #f7fbfc 0%, #ffffff 100%);
}
.tdr-v05-qblock__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--tdr05-teal-dark);
}
.tdr-v05-qblock__title {
	margin: 0 0 6px;
	font-size: 22px;
	line-height: 1.35;
	font-weight: 900;
	color: var(--tdr05-navy);
}
.tdr-v05-qblock__lead {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #52627a;
}
.tdr-v05-qblock__meter {
	flex: 0 0 auto;
	min-width: 180px;
	padding: 12px 14px;
	border: 1px solid #c9e5dd;
	border-radius: 16px;
	background: rgba(255, 255, 255, .86);
	text-align: center;
}
.tdr-v05-qblock__remain {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 86px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--tdr05-teal);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
}
.tdr-v05-qblock__hint {
	display: block;
	margin-top: 7px;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 700;
	color: var(--tdr05-teal-dark);
}
.tdr-v05-qblock__bar {
	height: 5px;
	background: #e8eff5;
}
.tdr-v05-qblock__bar span {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--tdr05-teal) 0%, #56b69f 100%);
	transition: width .22s ease;
}
.tdr-v05-question-block__body {
	display: grid;
	gap: 18px;
	padding: 22px 24px 26px;
}
.tdr-v05-question-block .tdr-v05-field {
	padding: 18px 18px 16px;
	border: 1px solid #e0e9f1;
	border-radius: 16px;
	background: #fff;
}
.tdr-v05-question-block .tdr-v05-field:first-child {
	border-top: 1px solid #e0e9f1;
}
.tdr-v05-label {
	display: block;
	font-size: 16px;
	line-height: 1.6;
}
.tdr-v05-req {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #ecf8f5;
	color: var(--tdr05-teal-dark);
	font-size: 11px;
	font-weight: 800;
}
.tdr-v05-choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
}
.tdr-v05-choice {
	align-items: center;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid #dfe8f0;
	border-radius: 12px;
	background: #fbfdfe;
	font-weight: 700;
	line-height: 1.55;
	transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.tdr-v05-choice:hover {
	border-color: #a7d6cc;
	background: #f4fbf9;
}
.tdr-v05-choice:has(input:checked) {
	border-color: var(--tdr05-teal);
	background: #edf9f6;
	box-shadow: inset 0 0 0 1px rgba(31,143,135,.18);
}
.tdr-v05-choice input {
	margin-top: 0;
	accent-color: var(--tdr05-teal);
}
.tdr-v05-form .tdr-v05-btn--primary {
	width: 100%;
	margin-top: 8px;
	border-radius: 14px;
}
@media (max-width: 760px) {
	.tdr-v05-qblock__head {
		flex-direction: column;
		gap: 14px;
	}
	.tdr-v05-qblock__meter {
		width: 100%;
		min-width: 0;
		text-align: left;
	}
	.tdr-v05-choice-grid {
		grid-template-columns: 1fr;
	}
}

/* Phase 12C UI7: input refinement / max-choice guard / brand-safe free text */
.tdr-v05-input,
.tdr-v05-select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #dfe8f0;
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--tdr05-text);
	background: #fbfdfe;
	outline: none;
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.tdr-v05-input:focus,
.tdr-v05-select:focus {
	border-color: var(--tdr05-teal);
	box-shadow: 0 0 0 3px rgba(31,143,135,.14);
	background: #fff;
}
.tdr-v05-field-note {
	margin: 8px 0 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--tdr05-teal-dark);
}
.tdr-v05-choice:has(input:disabled:not(:checked)) {
	opacity: .48;
	cursor: not-allowed;
	background: #f6f8fa;
}
.tdr-v05-choice input:disabled:not(:checked) + span {
	color: #8a98a8;
}

/* Phase 12C UI9.5: personal route separation / concerns / richer sauna-type card */
.tdr-v05-route-note {
	margin: 12px 0 0;
	padding: 12px 14px;
	border: 1px solid #dbe7ef;
	border-radius: 14px;
	background: rgba(255,255,255,.72);
	color: #52627a;
	font-size: 13px;
	line-height: 1.75;
}
.tdr-v05-concern-card {
	border-color: #d7e9e7 !important;
	background: linear-gradient(135deg, #ffffff 0%, #f6fbfa 100%) !important;
}
.tdr-v05-concern-item {
	margin-top: 12px;
	padding: 13px 14px;
	border: 1px solid #dfeeed;
	border-radius: 14px;
	background: rgba(255,255,255,.82);
}
.tdr-v05-concern-item strong {
	display: block;
	margin-bottom: 5px;
	color: var(--tdr05-navy);
	font-weight: 900;
}
.tdr-v05-concern-item span {
	display: block;
	font-size: 13px;
	line-height: 1.75;
	color: #52627a;
}
.tdr-v05-rec-details .tdr-v05-rec-list {
	grid-template-columns: 1fr !important;
}
.tdr-v05-rec-details .tdr-v05-rec-item strong {
	color: var(--tdr05-teal-dark);
}

/* =========================================================================
 * UI9.6 Reading Guide / layout refinements
 * - 総合判定をファーストルックの読ませる導入に変更
 * - 6評価軸をPCで3列×2段に圧縮
 * - takearestメッセージ帯のコントラストを改善
 * ========================================================================= */

.tdr-v05--dashboard .tdr-v05-grid--top {
	grid-template-columns: minmax(0, 1.18fr) minmax(340px, 0.82fr);
	align-items: stretch;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 {
	padding: 24px 26px;
}

.tdr-v05--dashboard .tdr-v05-grade-card__inner--u96 {
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 26px;
	align-items: center;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring {
	width: 146px;
	height: 146px;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring span {
	font-size: 64px;
	color: var(--tdr05-teal);
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring small {
	font-size: 13px;
	font-weight: 900;
	color: #102b55;
}

.tdr-v05--dashboard .tdr-v05-result-tag {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 8px;
	padding: 5px 11px;
	border-radius: 999px;
	background: #edf9f5;
	border: 1px solid #bde7dc;
	color: #08785f;
	font-size: 12px;
	font-weight: 900;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-copy h4 {
	font-size: clamp(24px, 2.4vw, 34px);
	line-height: 1.34;
	letter-spacing: -0.04em;
	margin: 0 0 10px;
	color: #071f49;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-copy p {
	font-size: 14px;
	line-height: 1.9;
	color: #243e64;
	max-width: 62ch;
}

.tdr-v05--dashboard .tdr-v05-reading-guide {
	margin-top: 22px;
	padding: 18px 20px;
	border: 1px solid #aee1d3;
	border-radius: 16px;
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(29, 161, 132, 0.11), transparent 58%),
		linear-gradient(135deg, #f4fffb, #ffffff);
	box-shadow: 0 10px 26px rgba(18, 93, 82, 0.07);
}

.tdr-v05--dashboard .tdr-v05-reading-guide__label {
	display: inline-flex;
	margin-bottom: 7px;
	font-size: 13px;
	font-weight: 950;
	letter-spacing: .03em;
	color: #067c64;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__lead {
	margin: 0;
	font-size: clamp(16px, 1.25vw, 19px);
	line-height: 1.9;
	font-weight: 700;
	color: #0b2a56;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__bullets {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__bullets li {
	position: relative;
	padding: 10px 11px 10px 30px;
	border: 1px solid #d8ebe5;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	font-weight: 850;
	line-height: 1.45;
	color: #18385c;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__bullets li::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 15px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tdr05-teal);
	box-shadow: 0 0 0 4px rgba(31, 143, 135, .12);
}

.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	gap: 6px 10px;
	min-height: 86px;
	padding: 13px 13px;
}

.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-stars {
	grid-column: 2 / 3;
	font-size: 18px;
	letter-spacing: 1px;
}

.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row strong {
	font-size: 13px;
	line-height: 1.35;
}

.tdr-v05--dashboard .tdr-v05-message-band {
	position: relative;
	grid-template-columns: minmax(260px, 0.52fr) minmax(0, 1fr);
	padding: 32px 34px;
	background:
		radial-gradient(100% 160% at 100% 50%, rgba(31,143,135,.16), transparent 45%),
		linear-gradient(115deg, #06163b 0%, #08265b 55%, #06163b 100%);
	box-shadow: 0 18px 44px rgba(6,22,59,.18);
}

.tdr-v05--dashboard .tdr-v05-message-band::after {
	content: "";
	position: absolute;
	right: 34px;
	bottom: 16px;
	width: 260px;
	height: 150px;
	border: 1px solid rgba(255,255,255,.18);
	border-left: none;
	border-top: none;
	border-radius: 22px;
	opacity: .28;
	pointer-events: none;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy,
.tdr-v05--dashboard .tdr-v05-message-band__body {
	position: relative;
	z-index: 1;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy span {
	font-size: 13px;
	color: #89f0da;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy h3 {
	font-size: clamp(28px, 2.4vw, 40px);
	line-height: 1.55;
	font-weight: 650;
	color: #ffffff;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy p {
	font-size: 16px;
	font-weight: 700;
	color: rgba(255,255,255,.94);
}

.tdr-v05--dashboard .tdr-v05-message-band__body p {
	font-size: clamp(15px, 1.2vw, 18px);
	line-height: 2.05;
	font-weight: 650;
	color: rgba(255,255,255,.96);
}

.tdr-v05--dashboard .tdr-v05-message-band__body p + p {
	margin-top: 18px;
	font-weight: 850;
	color: #ffffff;
}

.tdr-v05--dashboard .tdr-v05-message-photo {
	position: absolute;
	right: 26px;
	bottom: 10px;
	width: 280px;
	min-height: 160px;
	background: transparent;
	border: none;
	color: rgba(255,255,255,.18);
	opacity: .32;
	pointer-events: none;
}

.tdr-v05--dashboard .tdr-v05-message-photo svg {
	width: 100%;
	max-height: 160px;
}

@media (max-width: 980px) {
	.tdr-v05--dashboard .tdr-v05-grid--top,
	.tdr-v05--dashboard .tdr-v05-grid {
		grid-template-columns: 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-reading-guide__bullets,
	.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list {
		grid-template-columns: 1fr;
	}
	.tdr-v05--dashboard .tdr-v05-grade-card__inner--u96 {
		grid-template-columns: 116px minmax(0, 1fr);
	}
	.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring {
		width: 112px;
		height: 112px;
	}
	.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring span {
		font-size: 48px;
	}
	.tdr-v05--dashboard .tdr-v05-message-band {
		grid-template-columns: 1fr;
		padding: 26px 22px;
	}
	.tdr-v05--dashboard .tdr-v05-message-photo {
		display: none;
	}
}


/* =========================================================================
 * UI9.7 Layout + Reading Guide revision
 * - generated mockupに近い2列/3列レイアウトへ再固定
 * - Reading Guideを短文ラベルではなく、読ませるファーストルックへ拡張
 * - concernをmiddle gridからlower 3-col rowへ移動したHTMLに対応
 * ========================================================================= */
@media (min-width: 1080px) {
  .tdr-v05.tdr-v05--dashboard {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #f6f9fc !important;
  }
  .tdr-v05--dashboard .tdr-v05-layout {
    width: min(1320px, calc(100vw - 88px)) !important;
    max-width: 1320px !important;
    padding: 34px 0 26px !important;
    margin: 0 auto !important;
  }
  .tdr-v05--dashboard .tdr-v05-main {
    gap: 18px !important;
  }
  .tdr-v05--dashboard .tdr-v05-grid--top,
  .tdr-v05--dashboard .tdr-v05-grid--middle {
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(430px, .88fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
  .tdr-v05--dashboard .tdr-v05-grid--lower {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
  .tdr-v05--dashboard .tdr-v05-grid--lower-no-concerns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

.tdr-v05--dashboard .tdr-v05-panel {
  border-radius: 18px !important;
  border-color: #dfe8f2 !important;
  box-shadow: 0 12px 32px rgba(13, 43, 84, 0.055) !important;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 {
  min-height: 0 !important;
  padding: 26px 28px !important;
}

.tdr-v05--dashboard .tdr-v05-grade-card__inner--u96 {
  grid-template-columns: 156px minmax(0, 1fr) !important;
  gap: 26px !important;
  align-items: start !important;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring {
  width: 154px !important;
  height: 154px !important;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring span {
  font-size: 66px !important;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-copy h4 {
  font-size: clamp(28px, 2.1vw, 38px) !important;
  line-height: 1.35 !important;
  margin: 2px 0 12px !important;
  letter-spacing: -.04em !important;
}

.tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-copy p {
  font-size: 14px !important;
  line-height: 1.85 !important;
  color: #2a446a !important;
}

.tdr-v05--dashboard .tdr-v05-reading-guide {
  margin-top: 22px !important;
  padding: 22px 24px !important;
  border-radius: 18px !important;
  border: 1px solid #9bdccb !important;
  background: linear-gradient(135deg, #f0fffb 0%, #ffffff 54%, #f7fbff 100%) !important;
  box-shadow: 0 14px 34px rgba(23, 107, 92, .08) !important;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__label {
  display: inline-flex !important;
  padding: 5px 10px !important;
  margin-bottom: 12px !important;
  border-radius: 999px !important;
  background: #dff7f0 !important;
  color: #00775d !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__lead {
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.9 !important;
  font-weight: 850 !important;
  color: #071f49 !important;
  letter-spacing: -.015em !important;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__expanded {
  margin: 14px 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(54, 150, 130, .22) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 1.95 !important;
  font-weight: 650 !important;
  color: #243e64 !important;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__bullets {
  margin-top: 18px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.tdr-v05--dashboard .tdr-v05-reading-guide__bullets li {
  min-height: 54px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #17385f !important;
  background: rgba(255,255,255,.9) !important;
}

.tdr-v05--dashboard .tdr-v05-life-card .tdr-v05-life-types {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 14px !important;
}

.tdr-v05--dashboard .tdr-v05-life-type {
  min-height: 174px !important;
  justify-content: center !important;
}

.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row {
  min-height: 94px !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.tdr-v05--dashboard .tdr-v05-top3-item {
  min-height: 98px !important;
  border-radius: 17px !important;
}

.tdr-v05--dashboard .tdr-v05-concern-card,
.tdr-v05--dashboard .tdr-v05-next-card,
.tdr-v05--dashboard .tdr-v05-experience-card {
  min-height: 100% !important;
}

.tdr-v05--dashboard .tdr-v05-concern-item {
  padding: 14px 15px !important;
  border-radius: 15px !important;
}

.tdr-v05--dashboard .tdr-v05-next-mini-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

.tdr-v05--dashboard .tdr-v05-next-mini {
  min-height: 78px !important;
  border-radius: 15px !important;
}

.tdr-v05--dashboard .tdr-v05-message-band {
  grid-template-columns: minmax(320px, .55fr) minmax(0, 1fr) !important;
  margin-top: 2px !important;
  padding: 34px 38px !important;
  border-radius: 18px !important;
}

.tdr-v05--dashboard .tdr-v05-message-band__copy h3 {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.18) !important;
}

.tdr-v05--dashboard .tdr-v05-message-band__body p {
  color: rgba(255,255,255,.98) !important;
  text-shadow: 0 1px 14px rgba(0,0,0,.14) !important;
}

.tdr-v05--dashboard .tdr-v05-message-photo {
  opacity: .16 !important;
}

@media (max-width: 1079px) {
  .tdr-v05--dashboard .tdr-v05-grid--lower,
  .tdr-v05--dashboard .tdr-v05-grid--middle,
  .tdr-v05--dashboard .tdr-v05-grid--top {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--dashboard .tdr-v05-reading-guide__bullets,
  .tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .tdr-v05--dashboard .tdr-v05-grade-card__inner--u96 {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--dashboard .tdr-v05-grade-card--u96 .tdr-v05-grade-ring {
    width: 128px !important;
    height: 128px !important;
  }
  .tdr-v05--dashboard .tdr-v05-reading-guide__lead {
    font-size: 17px !important;
  }
}

/* =========================================================================
 * UI9.8 Result report restructure
 * - summary card uses full row
 * - sauna type uses full row
 * - duplicate CTAs unified into form inquiry
 * ========================================================================= */
@media (min-width: 1080px) {
  .tdr-v05--ui98 .tdr-v05-layout {
    width: min(1320px, calc(100vw - 88px)) !important;
    max-width: 1320px !important;
  }
  .tdr-v05--ui98 .tdr-v05-main {
    gap: 20px !important;
  }
  .tdr-v05--ui98 .tdr-v05-grid--middle,
  .tdr-v05--ui98 .tdr-v05-grid--two {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
}

.tdr-v05--ui98 .tdr-v05-report-head {
  padding: 16px 24px !important;
  min-height: auto !important;
}
.tdr-v05--ui98 .tdr-v05-report-head .tdr-v05-house-visual {
  display: none !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) 260px !important;
  gap: 28px !important;
  align-items: stretch !important;
  padding: 30px 34px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(31,143,135,.11), transparent 56%),
    linear-gradient(135deg, #ffffff 0%, #f7fbff 100%) !important;
  border: 1px solid #d7e5ee !important;
  box-shadow: 0 18px 50px rgba(13,43,84,.08) !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__score {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 14px !important;
  padding-right: 10px !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__score h3,
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__title span {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  color: #1f8f87 !important;
  letter-spacing: .08em !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero .tdr-v05-grade-ring {
  width: 158px !important;
  height: 158px !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero .tdr-v05-grade-ring span {
  font-size: 68px !important;
  color: #118b76 !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__reading h4 {
  margin: 8px 0 12px !important;
  font-size: clamp(30px, 2.45vw, 44px) !important;
  line-height: 1.28 !important;
  letter-spacing: -.05em !important;
  color: #071f49 !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__lead {
  margin: 0 0 14px !important;
  font-size: clamp(17px, 1.25vw, 20px) !important;
  line-height: 1.85 !important;
  font-weight: 850 !important;
  color: #132f59 !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__body {
  margin: 0 !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 2 !important;
  font-weight: 560 !important;
  color: #273f62 !important;
  max-width: 72ch !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__nav {
  align-self: stretch !important;
  padding: 20px !important;
  border-radius: 18px !important;
  border: 1px solid #bfe8dc !important;
  background: linear-gradient(145deg, #ecfbf7, #ffffff) !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__nav strong {
  display: block !important;
  margin-bottom: 12px !important;
  color: #08785f !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__nav ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 12px !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__nav li {
  position: relative !important;
  padding: 12px 12px 12px 34px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid #d7eee8 !important;
  color: #17385f !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.55 !important;
}
.tdr-v05--ui98 .tdr-v05-summary-hero__nav li::before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 18px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 99px !important;
  background: #1f8f87 !important;
  box-shadow: 0 0 0 5px rgba(31,143,135,.12) !important;
}

.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
}
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  grid-template-rows: auto auto auto !important;
  min-height: 142px !important;
  align-content: start !important;
  gap: 7px 10px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid #dde9f2 !important;
}
.tdr-v05--ui98 .tdr-v05-axis-row .tdr-v05-stars {
  grid-column: 2 / 3 !important;
  font-size: 18px !important;
}
.tdr-v05--ui98 .tdr-v05-axis-row strong {
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: #0d2b54 !important;
}
.tdr-v05--ui98 .tdr-v05-axis-body {
  grid-column: 1 / -1 !important;
  display: block !important;
  margin-top: 4px !important;
  color: #52627a !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) 320px !important;
  gap: 26px !important;
  align-items: stretch !important;
  padding: 30px 34px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(85% 130% at 0% 0%, rgba(255,255,255,.9), transparent 48%),
    linear-gradient(135deg, #f5fbf8 0%, #ffffff 62%, #f7fbff 100%) !important;
  border: 1px solid #d9e9e6 !important;
  box-shadow: 0 16px 44px rgba(16,72,75,.065) !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__title {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__title h3 {
  margin: 0 !important;
  font-size: clamp(30px, 2.35vw, 42px) !important;
  line-height: 1.25 !important;
  letter-spacing: -.05em !important;
  color: #071f49 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__title p {
  margin: 0 !important;
  color: #1d806f !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 850 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__title .tdr-v05-exp-illu {
  margin-top: auto !important;
  min-height: 120px !important;
  opacity: .72 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__body p {
  margin: 0 !important;
  font-size: clamp(15px, 1.08vw, 17px) !important;
  line-height: 2.05 !important;
  color: #263e61 !important;
  font-weight: 570 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__findings {
  display: grid !important;
  gap: 12px !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__findings div {
  padding: 16px !important;
  border-radius: 16px !important;
  border: 1px solid #d9ebe7 !important;
  background: rgba(255,255,255,.86) !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__findings strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #08785f !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__findings span {
  color: #334c70 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}

.tdr-v05--ui98 .tdr-v05-cta-unified {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 300px !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 30px 34px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #083563, #0b5b68) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 18px 46px rgba(6, 34, 78, .18) !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified h3 {
  margin: 8px 0 12px !important;
  color: #fff !important;
  font-size: clamp(28px,2.2vw,38px) !important;
  letter-spacing: -.04em !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified p {
  margin: 0 !important;
  color: rgba(255,255,255,.95) !important;
  font-size: 16px !important;
  line-height: 1.95 !important;
  font-weight: 650 !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__themes {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 18px !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__themes strong {
  color: #9df4e2 !important;
  font-size: 13px !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__themes span {
  display: inline-flex !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__actions {
  display: grid !important;
  gap: 10px !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__primary,
.tdr-v05--ui98 .tdr-v05-cta-unified__secondary {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  border: none !important;
  cursor: pointer !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__primary {
  background: #f47b45 !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(244,123,69,.28) !important;
}
.tdr-v05--ui98 .tdr-v05-cta-unified__secondary {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
}
.tdr-v05--ui98 .tdr-v05-after-help,
.tdr-v05--ui98 .tdr-v05-bottom-actions,
.tdr-v05--ui98 .tdr-v05-life-card,
.tdr-v05--ui98 .tdr-v05-experience-card {
  display: none !important;
}

@media (max-width: 1079px) {
  .tdr-v05--ui98 .tdr-v05-summary-hero,
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero,
  .tdr-v05--ui98 .tdr-v05-cta-unified,
  .tdr-v05--ui98 .tdr-v05-grid--two,
  .tdr-v05--ui98 .tdr-v05-grid--middle {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-list {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--ui98 .tdr-v05-summary-hero,
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero,
  .tdr-v05--ui98 .tdr-v05-cta-unified {
    padding: 24px 20px !important;
  }
}


/* Phase 12C UI9.9 — Sauna Little Gods / Komorebi character embed */
.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character {
  grid-template-columns: 230px minmax(0, 1fr) 320px !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 18px 16px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fbfaf5 0%, #eef6f2 100%) !important;
  border: 1px solid rgba(14, 74, 85, 0.22) !important;
  box-shadow: 0 12px 32px rgba(14, 74, 85, 0.08) !important;
  text-align: center !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card__visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card__visual img {
  display: block !important;
  width: min(190px, 100%) !important;
  height: auto !important;
  margin: 0 auto !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card__meta {
  width: 100% !important;
}
.tdr-v05--ui98 .tdr-v05-slg-rarity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
}
.tdr-v05--ui98 .tdr-v05-slg-rarity--n {
  background: #0e4a55 !important;
  color: #fff !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card h4 {
  margin: 10px 0 2px !important;
  color: #0e3a4a !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card__title {
  margin: 0 !important;
  color: rgba(14, 58, 74, .78) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card__copy,
.tdr-v05--ui98 .tdr-v05-slg-card__one {
  margin: 10px 0 0 !important;
  color: #314b5d !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  font-weight: 650 !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card__one {
  color: #0e4a55 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__typehead {
  margin-bottom: 16px !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__typehead span {
  color: #08785f !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__typehead h3 {
  margin: 6px 0 8px !important;
  font-size: clamp(30px, 2.35vw, 42px) !important;
  line-height: 1.25 !important;
  letter-spacing: -.05em !important;
  color: #071f49 !important;
}
.tdr-v05--ui98 .tdr-v05-sauna-type-hero__typehead p {
  margin: 0 !important;
  color: #1d806f !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 850 !important;
}
@media (max-width: 1079px) {
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--ui98 .tdr-v05-slg-card {
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  .tdr-v05--ui98 .tdr-v05-slg-card__visual img {
    width: 156px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero__typehead {
    text-align: center !important;
  }
}
@media (max-width: 520px) {
  .tdr-v05--ui98 .tdr-v05-slg-card {
    padding: 16px 14px !important;
  }
  .tdr-v05--ui98 .tdr-v05-slg-card__visual img {
    width: 140px !important;
  }
  .tdr-v05--ui98 .tdr-v05-slg-card h4 {
    font-size: 22px !important;
  }
  .tdr-v05--ui98 .tdr-v05-slg-card__copy {
    display: none !important;
  }
}


/* Phase 12C UI9.9.1 — Sauna type card spacious layout tuning */
.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character {
  grid-template-columns: 280px minmax(0, 1fr) 340px !important;
  gap: 38px !important;
  padding: 34px 38px !important;
  align-items: stretch !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card {
  padding: 28px 22px !important;
  gap: 16px !important;
  border-radius: 24px !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__visual img {
  width: min(168px, 100%) !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card h4 {
  margin-top: 12px !important;
  font-size: 25px !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__title {
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__copy,
.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__one {
  max-width: 210px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.85 !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__one {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(14, 74, 85, 0.12) !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__body--with-character {
  max-width: 680px !important;
  align-self: center !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__typehead {
  margin-bottom: 22px !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__body p {
  line-height: 2.12 !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__findings {
  gap: 14px !important;
  align-self: stretch !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__findings div {
  padding: 18px 18px !important;
  border-radius: 18px !important;
  min-height: 0 !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__findings strong {
  margin-bottom: 8px !important;
}

.tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__findings span {
  line-height: 1.85 !important;
}

@media (max-width: 1180px) {
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character {
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) !important;
    gap: 30px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__findings {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 1079px) {
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 28px 22px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card {
    max-width: 390px !important;
    padding: 24px 22px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__visual img {
    width: 154px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__body--with-character {
    max-width: 760px !important;
    margin: 0 auto !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-sauna-type-hero__findings {
    grid-column: auto !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character {
    padding: 24px 18px !important;
    gap: 22px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card {
    padding: 22px 18px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__visual img {
    width: 138px !important;
  }
  .tdr-v05--ui98 .tdr-v05-sauna-type-hero--with-character .tdr-v05-slg-card__copy {
    display: none !important;
  }
}


/* Phase 12E UI9.9.3 — Garden Retreat 3 Gods rarity and symbol accents
   Non-destructive extension: keeps UI9.9.1 layout and only adds R/SR variants. */
.tdr-v05--ui98 .tdr-v05-slg-card--r {
  border-color: rgba(128, 169, 184, 0.55) !important;
  background: linear-gradient(135deg, #fbfaf5 0%, #eef7f8 100%) !important;
}
.tdr-v05--ui98 .tdr-v05-slg-rarity--r {
  background: #2F8C8F !important;
  color: #fff !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card--sr {
  border-color: rgba(191, 144, 84, 0.52) !important;
  background: linear-gradient(135deg, #fffaf0 0%, #eef6f2 100%) !important;
  box-shadow: 0 14px 36px rgba(94, 63, 30, 0.10), inset 0 0 0 1px rgba(255,255,255,0.72) !important;
}
.tdr-v05--ui98 .tdr-v05-slg-rarity--sr {
  background: #8A6534 !important;
  color: #fff !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card--r .tdr-v05-slg-card__one {
  color: #2F6F73 !important;
}
.tdr-v05--ui98 .tdr-v05-slg-card--sr .tdr-v05-slg-card__one {
  color: #6F5430 !important;
}


/* UI9.9.6: server-side validation notice */
.tdr-v05-validation-notice {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid rgba(179, 45, 46, 0.28);
	border-left: 4px solid #b32d2e;
	border-radius: 10px;
	background: #fff7f7;
	color: #5c1f20;
}

.tdr-v05-validation-notice p {
	margin: 0 0 6px;
}

.tdr-v05-validation-notice ul {
	margin: 8px 0 0 1.2em;
	padding: 0;
}

.tdr-v05-validation-notice li {
	margin: 2px 0;
}

/* UI9.9.6: debug-only version badge */
.tdr-v05-version-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	padding: 5px 9px;
	border-radius: 999px;
	border: 1px solid rgba(31, 143, 135, 0.28);
	background: rgba(232, 247, 245, 0.92);
	color: #166b65;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

/* =========================================================================
 * Phase 12I UI9.9.7 — Mobile result structure refinement
 * - Brand message block becomes compact on smartphones
 * - TOP3 / concerns / preparation blocks are separated by role
 * - Mobile order prioritizes actionable interpretation over detailed axes
 * ========================================================================= */
.tdr-v05--ui98 .tdr-v05-message-band__headline-sp {
  display: none !important;
}
.tdr-v05--ui98 .tdr-v05-message-band__headline-pc {
  display: inline !important;
}
.tdr-v05--ui98 .tdr-v05-next-card__lead {
  margin: -4px 0 14px !important;
  color: #52627a !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 650 !important;
}
.tdr-v05--ui98 .tdr-v05-top3-card h3,
.tdr-v05--ui98 .tdr-v05-concern-card h3,
.tdr-v05--ui98 .tdr-v05-next-card h3 {
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 720px) {
  .tdr-v05--ui98 .tdr-v05-grid--middle {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--ui98 .tdr-v05-top3-card {
    order: 1 !important;
  }
  .tdr-v05--ui98 .tdr-v05-stars-card {
    order: 2 !important;
  }
  .tdr-v05--ui98 .tdr-v05-top3-card,
  .tdr-v05--ui98 .tdr-v05-next-card,
  .tdr-v05--ui98 .tdr-v05-concern-card {
    padding: 20px 16px !important;
    border-radius: 18px !important;
  }
  .tdr-v05--ui98 .tdr-v05-top3-card h3,
  .tdr-v05--ui98 .tdr-v05-next-card h3,
  .tdr-v05--ui98 .tdr-v05-concern-card h3 {
    margin-bottom: 14px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  .tdr-v05--ui98 .tdr-v05-top3-item {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 13px 12px !important;
  }
  .tdr-v05--ui98 .tdr-v05-top3-icon {
    display: none !important;
  }
  .tdr-v05--ui98 .tdr-v05-rank {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }
  .tdr-v05--ui98 .tdr-v05-positive-note {
    font-size: 12px !important;
    line-height: 1.75 !important;
    padding: 11px 12px !important;
  }
  .tdr-v05--ui98 .tdr-v05-next-card__lead {
    margin: -2px 0 12px !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
    background:
      radial-gradient(120% 140% at 100% 0%, rgba(31,143,135,.18), transparent 48%),
      linear-gradient(135deg, #06163b 0%, #082a5b 100%) !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band::after,
  .tdr-v05--ui98 .tdr-v05-message-photo {
    display: none !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__copy h3 {
    margin: 8px 0 6px !important;
    font-size: 24px !important;
    line-height: 1.45 !important;
    letter-spacing: -.02em !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__headline-pc {
    display: none !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__headline-sp {
    display: inline !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__copy span {
    font-size: 12px !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__copy p {
    display: none !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__body p {
    font-size: 13px !important;
    line-height: 1.85 !important;
    font-weight: 650 !important;
    text-shadow: none !important;
  }
  .tdr-v05--ui98 .tdr-v05-message-band__body-pc {
    display: none !important;
  }
  .tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-list {
    grid-template-columns: 1fr !important;
  }
}

/* Phase 12J UI9.9.8: takearest sauna product recommendation block */
.tdr-v05--dashboard .tdr-v05-product-reco {
  padding: 24px;
  border: 1px solid rgba(31,143,135,.18);
  background:
    radial-gradient(130% 120% at 0% 0%, rgba(31,143,135,.08), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,252,249,.94));
}
.tdr-v05--dashboard .tdr-v05-product-reco__head {
  max-width: 720px;
  margin-bottom: 18px;
}
.tdr-v05--dashboard .tdr-v05-product-reco__head h3 {
  margin: 6px 0 8px;
  font-size: 24px;
  line-height: 1.35;
  color: #0e3a4a;
  letter-spacing: -.02em;
}
.tdr-v05--dashboard .tdr-v05-product-reco__head p {
  margin: 0;
  font-size: 14px;
  line-height: 1.85;
  color: rgba(14,58,74,.74);
  font-weight: 650;
}
.tdr-v05--dashboard .tdr-v05-product-reco__card {
  display: grid;
  grid-template-columns: minmax(220px, 34%) 1fr;
  gap: 22px;
  align-items: stretch;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(14,58,74,.08);
  box-shadow: 0 14px 32px rgba(14,58,74,.06);
}
.tdr-v05--dashboard .tdr-v05-product-reco__visual {
  display: grid;
  place-items: center;
  min-height: 190px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(238,248,248,.9), rgba(255,255,255,.94));
  overflow: hidden;
}
.tdr-v05--dashboard .tdr-v05-product-reco__visual svg {
  width: 100%;
  max-width: 360px;
  height: auto;
  display: block;
}
.tdr-v05--dashboard .tdr-v05-product-reco__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 4px 4px 4px 0;
}
.tdr-v05--dashboard .tdr-v05-product-reco__badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  margin-bottom: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(31,143,135,.1);
  color: #1f7f7a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.tdr-v05--dashboard .tdr-v05-product-reco__body h4 {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.25;
  color: #082a5b;
  letter-spacing: -.02em;
}
.tdr-v05--dashboard .tdr-v05-product-reco__lead {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.85;
  color: rgba(14,58,74,.86);
  font-weight: 650;
}
.tdr-v05--dashboard .tdr-v05-product-reco__fit {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(241,248,247,.85);
  border: 1px solid rgba(31,143,135,.14);
}
.tdr-v05--dashboard .tdr-v05-product-reco__fit strong {
  display: block;
  margin-bottom: 7px;
  color: #0e3a4a;
  font-size: 13px;
}
.tdr-v05--dashboard .tdr-v05-product-reco__fit ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}
.tdr-v05--dashboard .tdr-v05-product-reco__fit li {
  position: relative;
  padding-left: 16px;
  color: rgba(14,58,74,.78);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 650;
}
.tdr-v05--dashboard .tdr-v05-product-reco__fit li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #1f8f87;
}
.tdr-v05--dashboard .tdr-v05-product-reco__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2px;
}
.tdr-v05--dashboard .tdr-v05-product-reco__primary,
.tdr-v05--dashboard .tdr-v05-product-reco__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}
.tdr-v05--dashboard .tdr-v05-product-reco__primary {
  color: #fff;
  background: linear-gradient(135deg, #0d5f73, #1f8f87);
  box-shadow: 0 10px 18px rgba(31,143,135,.18);
}
.tdr-v05--dashboard .tdr-v05-product-reco__secondary {
  color: #0d5f73;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(13,95,115,.2);
}
.tdr-v05--dashboard .tdr-v05-product-reco__note {
  margin: 12px 0 0;
  color: rgba(14,58,74,.58);
  font-size: 11px;
  line-height: 1.7;
}
@media (max-width: 720px) {
  .tdr-v05--dashboard .tdr-v05-product-reco {
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__head {
    margin-bottom: 14px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__head h3 {
    font-size: 21px !important;
    line-height: 1.38 !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__head p {
    font-size: 12px !important;
    line-height: 1.75 !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__card {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__visual {
    min-height: 132px !important;
    border-radius: 15px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__visual svg {
    max-width: 280px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__body {
    padding: 0 !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__body h4 {
    font-size: 21px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__lead,
  .tdr-v05--dashboard .tdr-v05-product-reco__fit li {
    font-size: 12px !important;
    line-height: 1.75 !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__primary,
  .tdr-v05--dashboard .tdr-v05-product-reco__secondary {
    width: 100% !important;
  }
}

/* =========================================================================
 * Phase 12K UI9.9.9 — Important points merged + compact sauna suggestion
 * - Preparation block is merged into TOP3 as next steps
 * - Product suggestion is no longer a full-width row
 * - Product suggestion is placed beside concern/action bridge before sauna type
 * ========================================================================= */
.tdr-v05--dashboard .tdr-v05-top3-next {
  margin-top: 4px;
  padding: 13px 14px;
  border-radius: 16px;
  border: 1px solid rgba(31,143,135,.16);
  background: rgba(241,250,248,.88);
}
.tdr-v05--dashboard .tdr-v05-top3-next strong {
  display: block;
  margin-bottom: 4px;
  color: #0e3a4a;
  font-size: 13px;
  font-weight: 900;
}
.tdr-v05--dashboard .tdr-v05-top3-next p {
  margin: 0 0 10px;
  color: rgba(14,58,74,.72);
  font-size: 12px;
  line-height: 1.65;
  font-weight: 650;
}
.tdr-v05--dashboard .tdr-v05-top3-next ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.tdr-v05--dashboard .tdr-v05-top3-next li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 9px;
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(14,58,74,.07);
  color: rgba(14,58,74,.82);
  font-size: 12px;
  line-height: 1.55;
  font-weight: 750;
}
.tdr-v05--dashboard .tdr-v05-top3-next .tdr-v05-icon-svg {
  width: 24px;
  height: 24px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 18px;
  align-items: stretch;
}
.tdr-v05--dashboard .tdr-v05-action-bridge {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tdr-v05--dashboard .tdr-v05-action-bridge h3 {
  margin: 0 0 10px;
  color: #0e3a4a;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 900;
}
.tdr-v05--dashboard .tdr-v05-action-bridge p {
  margin: 0 0 12px;
  color: rgba(14,58,74,.76);
  font-size: 13px;
  line-height: 1.8;
  font-weight: 650;
}
.tdr-v05--dashboard .tdr-v05-action-bridge ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}
.tdr-v05--dashboard .tdr-v05-action-bridge li {
  position: relative;
  padding: 10px 12px 10px 28px;
  border-radius: 13px;
  border: 1px solid #e2eaf3;
  background: #fff;
  color: rgba(14,58,74,.82);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 750;
}
.tdr-v05--dashboard .tdr-v05-action-bridge li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 1.05em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #1f8f87;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco {
  min-height: 100%;
  padding: 20px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__head {
  margin-bottom: 12px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__head h3 {
  font-size: 21px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__head p {
  font-size: 12px;
  line-height: 1.7;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__card {
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__visual {
  min-height: 150px;
  border-radius: 15px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__visual svg {
  max-width: 270px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__body {
  padding: 0;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__body h4 {
  font-size: 20px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__lead,
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__fit li {
  font-size: 12px;
  line-height: 1.7;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__primary,
.tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco__secondary {
  width: 100%;
  min-height: 38px;
}
@media (max-width: 1079px) {
  .tdr-v05--dashboard .tdr-v05-grid--recommend {
    grid-template-columns: 1fr;
  }
  .tdr-v05--dashboard .tdr-v05-top3-next ul {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .tdr-v05--dashboard .tdr-v05-top3-next {
    padding: 12px;
  }
  .tdr-v05--dashboard .tdr-v05-top3-next li {
    min-height: 0;
    padding: 9px 10px;
  }
  .tdr-v05--dashboard .tdr-v05-grid--recommend .tdr-v05-product-reco {
    padding: 18px 16px !important;
  }
}

/* =========================================================================
 * Phase 12L UI9.9.10 — whitespace compression + full-width sauna suggestion
 * - Remove empty action-bridge fallback from markup; keep only real concerns when present
 * - Return sauna suggestion to a horizontal full-width block
 * - Make six status cards taller so the middle grid feels intentionally filled
 * ========================================================================= */
.tdr-v05--dashboard .tdr-v05-grid--concern-single {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list {
  grid-template-rows: repeat(2, minmax(126px, 1fr));
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row {
  min-height: 126px !important;
  padding: 17px 15px !important;
  align-content: start !important;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-axis-body,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-axis-body {
  margin-top: 3px !important;
  line-height: 1.65 !important;
}
.tdr-v05--dashboard .tdr-v05-product-reco {
  margin-top: 0;
}
.tdr-v05--dashboard .tdr-v05-product-reco__card {
  grid-template-columns: minmax(260px, 34%) minmax(0, 1fr) !important;
  align-items: stretch !important;
}
.tdr-v05--dashboard .tdr-v05-product-reco__visual {
  min-height: 220px !important;
}
.tdr-v05--dashboard .tdr-v05-product-reco__visual svg {
  max-width: 390px !important;
}
@media (max-width: 1079px) {
  .tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list {
    grid-template-rows: none;
  }
}
@media (max-width: 720px) {
  .tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row,
  .tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row {
    min-height: 108px !important;
    padding: 14px 13px !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__card {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--dashboard .tdr-v05-product-reco__visual {
    min-height: 140px !important;
  }
}

/* =========================================================================
 * Phase 12M UI9.9.11 — TOP3 action integration
 * - Removes the separate "next things to see" block
 * - Shows insight and next action inside each important point card
 * ========================================================================= */

/* ==========================================================================
 * Phase 12N UI9.9.12 — result bridge before CTA
 * Fixed brand message band was replaced with a result-aware bridge.
 * ========================================================================== */
.tdr-v05--dashboard .tdr-v05-result-bridge {
  margin: 28px 0;
  padding: 24px;
  border-radius: 22px;
  background: linear-gradient(135deg, #0e3440 0%, #123f4d 58%, #0f2d38 100%);
  color: #fff;
  box-shadow: 0 18px 42px rgba(14, 52, 64, 0.18);
  position: relative;
  overflow: hidden;
}

.tdr-v05--dashboard .tdr-v05-result-bridge::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -100px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(120, 214, 204, 0.23) 0%, rgba(120, 214, 204, 0) 70%);
  pointer-events: none;
}

.tdr-v05--dashboard .tdr-v05-result-bridge--save {
  background: linear-gradient(135deg, #0f3a46 0%, #164955 58%, #102f3c 100%);
}

.tdr-v05--dashboard .tdr-v05-result-bridge--organize {
  background: linear-gradient(135deg, #123844 0%, #184754 58%, #102e38 100%);
}

.tdr-v05--dashboard .tdr-v05-result-bridge__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 18px;
  align-items: start;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 700;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__title {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 1.45;
  color: #fff;
  font-weight: 800;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body {
  font-size: 14px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.92);
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body p {
  margin: 0 0 10px;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points {
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.95);
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points ul {
  margin: 0;
  padding-left: 1.2em;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points li {
  margin: 5px 0;
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
}

.tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 14px;
  line-height: 1.8;
  color: #fff;
  font-weight: 800;
}

@media (max-width: 760px) {
  .tdr-v05--dashboard .tdr-v05-result-bridge {
    margin: 22px 0;
    padding: 18px;
    border-radius: 18px;
  }

  .tdr-v05--dashboard .tdr-v05-result-bridge__inner {
    display: block;
  }

  .tdr-v05--dashboard .tdr-v05-result-bridge__title {
    font-size: 18px;
    line-height: 1.45;
  }

  .tdr-v05--dashboard .tdr-v05-result-bridge__body {
    font-size: 13px;
    line-height: 1.75;
  }

  .tdr-v05--dashboard .tdr-v05-result-bridge__points {
    margin-top: 14px;
    padding: 12px;
  }

  .tdr-v05--dashboard .tdr-v05-result-bridge__points li {
    font-size: 12.5px;
  }

  .tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
    margin-top: 14px;
    font-size: 13px;
  }
}

/* ==========================================================================
 * UI9.9.13: 診断結果コメント重複解消 / takearest支援ブロック統合 / 可読性改善
 * ========================================================================== */

.tdr-v05--ui98 .tdr-v05-summary-hero__reading .tdr-v05-reading-guide__label {
  color: #08785f !important;
  background: rgba(31,143,135,.10) !important;
  border: 1px solid rgba(31,143,135,.18) !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero__reading h4 {
  margin-top: 12px !important;
  margin-bottom: 14px !important;
  color: #061c3f !important;
  letter-spacing: -.04em !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero__lead {
  color: #071f49 !important;
  font-size: clamp(18px, 1.32vw, 21px) !important;
  line-height: 1.85 !important;
  font-weight: 900 !important;
  margin-bottom: 18px !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero__body {
  color: #132f59 !important;
  font-size: clamp(15.5px, 1.08vw, 17.5px) !important;
  line-height: 2.05 !important;
  font-weight: 600 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge {
  padding: 30px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #08303a 0%, #0f4350 58%, #082b35 100%) !important;
  box-shadow: 0 20px 48px rgba(14, 52, 64, 0.24) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__inner {
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr) !important;
  gap: 24px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__eyebrow {
  font-size: 13px !important;
  color: rgba(255,255,255,.88) !important;
  font-weight: 850 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__title {
  font-size: clamp(25px, 2vw, 32px) !important;
  line-height: 1.38 !important;
  margin-bottom: 16px !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__lead {
  margin: 0 0 16px !important;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.9 !important;
  color: #ffffff !important;
  font-weight: 850 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body {
  font-size: clamp(15px, 1.08vw, 16.5px) !important;
  line-height: 1.95 !important;
  color: rgba(255,255,255,.96) !important;
  font-weight: 580 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body p {
  margin-bottom: 12px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points {
  padding: 20px 22px !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  background: rgba(255,255,255,.13) !important;
  border-radius: 18px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points-title {
  font-size: 14.5px !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points li {
  font-size: 14.5px !important;
  line-height: 1.78 !important;
  color: rgba(255,255,255,.97) !important;
  font-weight: 620 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  color: #ffffff !important;
  border-top: 1px solid rgba(255,255,255,.26) !important;
}

@media (max-width: 760px) {
  .tdr-v05--dashboard .tdr-v05-result-bridge {
    padding: 22px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__title {
    font-size: 22px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__lead {
    font-size: 15px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__body {
    font-size: 14.5px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__points li {
    font-size: 13.5px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
    font-size: 14px !important;
  }
}

/* ========================================================================
 * UI9.9.14: 診断コメント具体化 / TOP3相談表現 / 支援カード復元 / 視認性強化
 * ======================================================================== */
.tdr-v05--ui98 .tdr-v05-summary-hero__reading h4 {
  font-size: clamp(30px, 2.55vw, 42px) !important;
  line-height: 1.22 !important;
  color: #061c3f !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero__lead {
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.8 !important;
  color: #061c3f !important;
  font-weight: 900 !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero__body {
  font-size: clamp(15.5px, 1.08vw, 17.5px) !important;
  line-height: 2.0 !important;
  color: #0c244a !important;
  font-weight: 650 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action {
  background: #eefaf7 !important;
  color: #07344b !important;
  border: 1px solid rgba(24, 143, 128, .22) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action span {
  color: #007f6b !important;
  font-weight: 900 !important;
  margin-right: 8px !important;
  white-space: nowrap !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge {
  padding: 34px !important;
  background: #06313b !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 22px 54px rgba(5, 38, 47, .26) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr) !important;
  gap: 28px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__eyebrow {
  color: #b8fff2 !important;
  opacity: 1 !important;
  font-size: 14px !important;
  letter-spacing: .04em !important;
  font-weight: 900 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__title {
  font-size: clamp(28px, 2.25vw, 36px) !important;
  line-height: 1.32 !important;
  color: #ffffff !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__lead {
  color: #ffffff !important;
  font-size: clamp(17px, 1.22vw, 19px) !important;
  line-height: 1.85 !important;
  font-weight: 900 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body {
  color: #ffffff !important;
  font-size: clamp(16px, 1.1vw, 17.5px) !important;
  line-height: 1.95 !important;
  font-weight: 700 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body p {
  margin-bottom: 14px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__cards {
  padding: 20px !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.14) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__card-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card {
  min-height: 122px !important;
  padding: 15px 14px !important;
  border-radius: 15px !important;
  background: #f8fffd !important;
  border: 1px solid rgba(178, 236, 225, .85) !important;
  color: #06243e !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-icon {
  display: inline-flex !important;
  width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 8px !important;
  border-radius: 999px !important;
  background: #e0f7f2 !important;
  color: #007d6d !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-icon svg {
  width: 16px !important;
  height: 16px !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card strong {
  display: block !important;
  margin-bottom: 5px !important;
  font-size: 14.5px !important;
  line-height: 1.45 !important;
  color: #061c3f !important;
  font-weight: 950 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card span:not(.tdr-v05-result-bridge__support-icon) {
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: #183a58 !important;
  font-weight: 650 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points-title {
  margin-bottom: 12px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
  color: #ffffff !important;
  font-size: clamp(16px, 1.12vw, 18px) !important;
  line-height: 1.82 !important;
  font-weight: 950 !important;
  border-top: 1px solid rgba(255,255,255,.35) !important;
}

@media (max-width: 760px) {
  .tdr-v05--dashboard .tdr-v05-result-bridge {
    padding: 24px 20px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__inner {
    display: block !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__cards {
    margin-top: 18px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__card-grid {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__title {
    font-size: 24px !important;
  }
  .tdr-v05--dashboard .tdr-v05-result-bridge__lead,
  .tdr-v05--dashboard .tdr-v05-result-bridge__body,
  .tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
    font-size: 15.5px !important;
  }
}

/* ========================================================================
 * UI9.9.15: 判定表現整理 / 確認ポイント化 / takearest支援カード再設計 / 可読性再強化
 * ======================================================================== */
.tdr-v05--ui98 .tdr-v05-grade-ring small {
  font-size: 13px !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;
}

.tdr-v05--dashboard .tdr-v05-top3-card h3 {
  font-size: 18px !important;
  line-height: 1.45 !important;
  color: #061c3f !important;
  font-weight: 950 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action {
  background: #f2fbf8 !important;
  border-color: rgba(16, 126, 105, .26) !important;
  color: #06243e !important;
  font-size: 13.8px !important;
  font-weight: 650 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action span {
  color: #006b5e !important;
  font-weight: 950 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__eyebrow:empty {
  display: none !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__lead,
.tdr-v05--dashboard .tdr-v05-result-bridge__lead p,
.tdr-v05--dashboard .tdr-v05-result-bridge__body,
.tdr-v05--dashboard .tdr-v05-result-bridge__body p,
.tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__body {
  font-size: clamp(16.5px, 1.15vw, 18px) !important;
  line-height: 1.95 !important;
  font-weight: 760 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__lead {
  font-size: clamp(17.5px, 1.25vw, 19.5px) !important;
  line-height: 1.8 !important;
  font-weight: 950 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__cards {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.48) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points-title {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 16px !important;
  letter-spacing: .02em !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card {
  background: #ffffff !important;
  color: #061c3f !important;
  border-color: rgba(178, 236, 225, 1) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card strong {
  font-size: 15px !important;
  color: #061c3f !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card span:not(.tdr-v05-result-bridge__support-icon) {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #0b2747 !important;
  font-weight: 720 !important;
}

@media (max-width: 760px) {
  .tdr-v05--dashboard .tdr-v05-result-bridge__body,
  .tdr-v05--dashboard .tdr-v05-result-bridge__body p,
  .tdr-v05--dashboard .tdr-v05-result-bridge__lead {
    font-size: 15.8px !important;
  }
}

/* Phase 12R UI9.9.16 — message variant engine readability reinforcement */
.tdr-v05--ui98 .tdr-v05-summary-hero__lead {
  color: #12394A !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  font-weight: 800 !important;
}

.tdr-v05--ui98 .tdr-v05-summary-hero__body {
  color: #1C4A5C !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  font-weight: 600 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-item h4 {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-item p {
  color: #213F4B !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action {
  margin-top: 10px !important;
  padding: 11px 13px !important;
  background: #F1FBF8 !important;
  border: 1px solid #B9E7DD !important;
  color: #153E4B !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}

.tdr-v05--dashboard .tdr-v05-top3-action span {
  display: block !important;
  margin: 0 0 4px !important;
  color: #006B5B !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge {
  background: linear-gradient(135deg, #051C35 0%, #07324A 58%, #06443F 100%) !important;
  border-color: rgba(255,255,255,0.28) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__title {
  color: #FFFFFF !important;
  font-size: 25px !important;
  line-height: 1.45 !important;
  letter-spacing: -0.02em !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__lead,
.tdr-v05--dashboard .tdr-v05-result-bridge__body,
.tdr-v05--dashboard .tdr-v05-result-bridge__body p,
.tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead {
  color: #FFFFFF !important;
  opacity: 1 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  font-weight: 600 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__lead {
  font-weight: 800 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,0.86) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.16) !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card strong {
  color: #062E3A !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__support-card span:not(.tdr-v05-result-bridge__support-icon) {
  color: #214A56 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  font-weight: 600 !important;
}

.tdr-v05--dashboard .tdr-v05-result-bridge__points-title {
  color: #FFFFFF !important;
  opacity: 1 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
}

@media (max-width: 760px) {
  .tdr-v05--dashboard .tdr-v05-result-bridge__title { font-size: 22px !important; }
  .tdr-v05--dashboard .tdr-v05-result-bridge__lead,
  .tdr-v05--dashboard .tdr-v05-result-bridge__body,
  .tdr-v05--dashboard .tdr-v05-result-bridge__body p,
  .tdr-v05--dashboard .tdr-v05-result-bridge__cta-lead { font-size: 15px !important; }
}


/* ========================================================================
 * Phase 12U UI9.9.19 — middle block layout balance
 * - Stack evaluation and confirmation sections full-width instead of uneven two columns
 * - Place six evaluation cards in one horizontal row on desktop
 * ======================================================================== */
.tdr-v05--dashboard .tdr-v05-grid--middle,
.tdr-v05--ui98 .tdr-v05-grid--middle {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.tdr-v05--dashboard .tdr-v05-grid--middle > .tdr-v05-stars-card,
.tdr-v05--dashboard .tdr-v05-grid--middle > .tdr-v05-top3-card,
.tdr-v05--ui98 .tdr-v05-grid--middle > .tdr-v05-stars-card,
.tdr-v05--ui98 .tdr-v05-grid--middle > .tdr-v05-top3-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-list {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(118px, 1fr)) !important;
  grid-template-rows: none !important;
  gap: 12px !important;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row {
  min-height: 168px !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  gap: 7px 9px !important;
  padding: 15px 13px !important;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-stars,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-stars {
  grid-column: 1 / -1 !important;
  font-size: 17px !important;
  letter-spacing: 1px !important;
  margin-top: 2px !important;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row strong,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row strong {
  font-size: 14px !important;
  line-height: 1.35 !important;
}
.tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-axis-body,
.tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row .tdr-v05-axis-body {
  grid-column: 1 / -1 !important;
  font-size: 13.2px !important;
  line-height: 1.65 !important;
  color: #40526c !important;
}
.tdr-v05--dashboard .tdr-v05-top3-card,
.tdr-v05--ui98 .tdr-v05-top3-card {
  gap: 14px !important;
}
.tdr-v05--dashboard .tdr-v05-top3-item,
.tdr-v05--ui98 .tdr-v05-top3-item {
  align-items: start !important;
  grid-template-columns: 42px 58px minmax(0, 1fr) !important;
  padding: 20px 20px !important;
}
.tdr-v05--dashboard .tdr-v05-top3-item h4,
.tdr-v05--ui98 .tdr-v05-top3-item h4 {
  font-size: 16px !important;
  line-height: 1.45 !important;
  margin-bottom: 7px !important;
}
.tdr-v05--dashboard .tdr-v05-top3-item p,
.tdr-v05--ui98 .tdr-v05-top3-item p {
  font-size: 14.5px !important;
  line-height: 1.85 !important;
}
.tdr-v05--dashboard .tdr-v05-top3-action,
.tdr-v05--ui98 .tdr-v05-top3-action {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}
@media (max-width: 1180px) {
  .tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list,
  .tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-row,
  .tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-row {
    min-height: 132px !important;
  }
}
@media (max-width: 720px) {
  .tdr-v05--dashboard .tdr-v05-stars-card .tdr-v05-axis-list,
  .tdr-v05--ui98 .tdr-v05-stars-card .tdr-v05-axis-list {
    grid-template-columns: 1fr !important;
  }
  .tdr-v05--dashboard .tdr-v05-top3-item,
  .tdr-v05--ui98 .tdr-v05-top3-item {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    padding: 14px 12px !important;
  }
  .tdr-v05--dashboard .tdr-v05-top3-icon,
  .tdr-v05--ui98 .tdr-v05-top3-icon {
    display: none !important;
  }
}

/* ==========================================================================
 * Phase 12V UI9.9.20 — print/share report screen
 * ========================================================================== */
.tdr-v05-save-stub--link {
  text-decoration: none;
  color: #0f6f7a;
  border-color: rgba(15, 111, 122, .28);
  background: rgba(255,255,255,.92);
}
.tdr-v05-save-stub--link:hover {
  border-color: rgba(15, 111, 122, .55);
  box-shadow: 0 10px 26px rgba(7, 45, 60, .10);
}
.tdr-v05--print-report {
  --print-navy: #052f3a;
  --print-teal: #117b80;
  --print-ink: #08283f;
  --print-muted: #5c7180;
  --print-line: #d7e5e8;
  --print-soft: #f3faf9;
  background: #eef5f6;
  padding: 28px 16px 48px;
  color: var(--print-ink);
}
.tdr-v05-print-toolbar {
  max-width: 960px;
  margin: 0 auto 18px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}
.tdr-v05-print-toolbar__link,
.tdr-v05-print-toolbar__button {
  appearance: none;
  border: 1px solid rgba(11, 70, 85, .20);
  border-radius: 999px;
  background: #fff;
  color: #0a5160;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  padding: 12px 18px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(12, 48, 58, .08);
}
.tdr-v05-print-toolbar__button {
  background: linear-gradient(135deg, #0d6f78, #0b5268);
  color: #fff;
  border-color: rgba(255,255,255,.25);
}
.tdr-v05-print-sheet {
  max-width: 960px;
  margin: 0 auto;
  background: #fff;
  border-radius: 22px;
  border: 1px solid rgba(10, 70, 85, .10);
  box-shadow: 0 24px 70px rgba(7, 35, 52, .13);
  padding: 42px 48px 36px;
}
.tdr-v05-print-cover {
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 28px;
  align-items: start;
  padding-bottom: 30px;
  border-bottom: 2px solid var(--print-line);
}
.tdr-v05-print-logo {
  margin: 0 0 18px;
  color: var(--print-teal);
  font-weight: 900;
  letter-spacing: .03em;
}
.tdr-v05-print-kicker {
  margin: 0 0 8px;
  color: var(--print-teal);
  font-weight: 900;
  font-size: 13px;
}
.tdr-v05-print-cover h1 {
  margin: 0;
  color: var(--print-navy);
  font-size: 32px;
  line-height: 1.35;
  letter-spacing: -.03em;
}
.tdr-v05-print-meta {
  margin: 14px 0 0;
  color: var(--print-muted);
  font-size: 14px;
  font-weight: 700;
}
.tdr-v05-print-grade {
  border-radius: 20px;
  background: linear-gradient(145deg, #ecfbf8, #f8ffff);
  border: 1px solid rgba(18, 132, 130, .24);
  padding: 20px 18px;
  text-align: center;
}
.tdr-v05-print-grade span {
  display: block;
  width: 82px;
  height: 82px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: #fff;
  color: #0a8b82;
  border: 9px solid #13a18f;
  font-size: 42px;
  line-height: 64px;
  font-weight: 900;
}
.tdr-v05-print-grade strong,
.tdr-v05-print-grade em {
  display: block;
  font-style: normal;
}
.tdr-v05-print-grade strong {
  color: var(--print-navy);
  font-size: 16px;
}
.tdr-v05-print-grade em {
  color: var(--print-muted);
  font-size: 12px;
  margin-top: 4px;
  font-weight: 800;
}
.tdr-v05-print-section {
  padding: 30px 0;
  border-bottom: 1px solid var(--print-line);
}
.tdr-v05-print-section:last-of-type {
  border-bottom: none;
}
.tdr-v05-print-section h2 {
  margin: 0 0 16px;
  color: var(--print-navy);
  font-size: 22px;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.tdr-v05-print-section h3 {
  margin: 0 0 10px;
  color: var(--print-navy);
  font-size: 17px;
  line-height: 1.45;
}
.tdr-v05-print-lead {
  margin: 0 0 16px;
  color: var(--print-navy);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.9;
}
.tdr-v05-print-body p,
.tdr-v05-print-section p {
  color: #17384b;
  font-size: 14.5px;
  line-height: 1.95;
  margin: 0 0 12px;
}
.tdr-v05-print-axis-grid,
.tdr-v05-print-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.tdr-v05-print-axis,
.tdr-v05-print-support-card {
  border: 1px solid var(--print-line);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}
.tdr-v05-print-axis strong,
.tdr-v05-print-support-card strong {
  display: block;
  color: var(--print-navy);
  font-size: 14px;
  margin-bottom: 7px;
}
.tdr-v05-print-axis span {
  display: block;
  color: #0d5c9f;
  font-size: 16px;
  letter-spacing: .05em;
  margin-bottom: 8px;
}
.tdr-v05-print-axis p,
.tdr-v05-print-support-card p {
  margin: 0;
  color: #315163;
  font-size: 12.5px;
  line-height: 1.75;
}
.tdr-v05-print-issue-list {
  display: grid;
  gap: 14px;
}
.tdr-v05-print-issue {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  border: 1px solid var(--print-line);
  border-radius: 16px;
  padding: 18px;
  background: linear-gradient(180deg, #fff, #fbfefd);
}
.tdr-v05-print-issue > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--print-teal);
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tdr-v05-print-check {
  margin-top: 12px !important;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--print-soft);
  border: 1px solid rgba(17, 123, 128, .20);
}
.tdr-v05-print-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.tdr-v05-print-contact-themes {
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--print-soft);
  border: 1px solid rgba(17, 123, 128, .22);
  color: var(--print-navy);
  font-size: 13px;
  line-height: 1.8;
}
.tdr-v05-print-contact-themes span {
  display: inline-block;
  margin: 4px 4px 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(17, 123, 128, .18);
  font-weight: 800;
}
.tdr-v05-print-disclaimer {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 2px solid var(--print-line);
  color: #506b76;
}
.tdr-v05-print-disclaimer p {
  font-size: 11.5px;
  line-height: 1.8;
  margin: 0 0 8px;
}

@media (max-width: 760px) {
  .tdr-v05--print-report { padding: 14px 10px 30px; }
  .tdr-v05-print-toolbar { justify-content: stretch; flex-direction: column; align-items: stretch; }
  .tdr-v05-print-toolbar__link,
  .tdr-v05-print-toolbar__button { text-align: center; }
  .tdr-v05-print-sheet { padding: 26px 20px 24px; border-radius: 18px; }
  .tdr-v05-print-cover,
  .tdr-v05-print-two-col { grid-template-columns: 1fr; }
  .tdr-v05-print-cover h1 { font-size: 25px; }
  .tdr-v05-print-axis-grid,
  .tdr-v05-print-support-grid { grid-template-columns: 1fr; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  html, body { background: #fff !important; }
  body * { visibility: hidden; }
  .tdr-v05--print-report,
  .tdr-v05--print-report * { visibility: visible; }
  .tdr-v05--print-report {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    padding: 0 !important;
    background: #fff !important;
  }
  .tdr-v05-print-toolbar { display: none !important; }
  .tdr-v05-print-sheet {
    width: auto;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }
  .tdr-v05-print-cover { padding-top: 0; }
  .tdr-v05-print-section {
    break-inside: avoid;
    page-break-inside: avoid;
    padding: 8mm 0;
  }
  .tdr-v05-print-page-break {
    break-before: page;
    page-break-before: always;
  }
  .tdr-v05-print-axis-grid,
  .tdr-v05-print-support-grid { grid-template-columns: repeat(3, 1fr); }
  .tdr-v05-print-two-col { grid-template-columns: 1fr 1fr; }
  .tdr-v05-print-body p,
  .tdr-v05-print-section p { font-size: 10.5pt; line-height: 1.75; }
  .tdr-v05-print-section h2 { font-size: 16pt; }
  .tdr-v05-print-cover h1 { font-size: 24pt; }
  .tdr-v05-print-axis,
  .tdr-v05-print-support-card,
  .tdr-v05-print-issue { break-inside: avoid; page-break-inside: avoid; }
}
