.lrt {
	--lrt-bg: #F4F1F7;
	--lrt-ink: #2A2233;
	--lrt-sub: #665D72;
	--lrt-accent: #C23A63;
	--lrt-line: #D6CEE0;
	--lrt-screen: #E5DFEE;
	--lrt-bubble: #FFD6E1;
	--lrt-card: #FFFFFF;
	--lrt-do: #2F6F55;
	--lrt-dont: #8A3A2B;

	/* Cocoonの本文カラム幅に合わせる。画面全体やサイドバーには広げない。 */
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 24px 0;
	padding: clamp(16px, 2.5vw, 28px);
	background: var(--lrt-bg);
	color: var(--lrt-ink);
	border-radius: 20px;
	font-family: "Yomogi", "Hiragino Maru Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
	font-size: 16px;
	line-height: 1.7;
}

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

.lrt [hidden] {
	display: none !important;
}

.lrt p,
.lrt ul {
	margin: 0;
	padding: 0;
}

.lrt ul {
	list-style: none;
}

.lrt .lrt-lead {
	margin-bottom: 16px;
	color: var(--lrt-sub);
	font-size: 14px;
}

.lrt .lrt-group {
	margin-bottom: 16px;
}

.lrt .lrt-label {
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
}

/* ---------- chips ---------- */

.lrt .lrt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lrt .lrt-chip {
	min-height: 44px;
	padding: 8px 16px;
	border: 1.5px solid var(--lrt-line);
	border-radius: 999px;
	background: var(--lrt-card);
	color: var(--lrt-ink);
	font: inherit;
	font-size: 15px;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.lrt .lrt-chip:hover {
	border-color: var(--lrt-accent);
}

.lrt .lrt-chip[aria-pressed="true"] {
	border-color: var(--lrt-accent);
	background: var(--lrt-accent);
	color: #fff;
	font-weight: 700;
}

/* グループ別のボタン背景色 */
.lrt .lrt-purpose-group .lrt-chip {
	background: #E5F5E9;
	border-color: #BDDCC5;
}

.lrt .lrt-purpose-group .lrt-chip:hover {
	border-color: #88B89A;
}

.lrt .lrt-tone-group .lrt-chip {
	background: #FBE6EE;
	border-color: #E7C6D2;
}

.lrt .lrt-tone-group .lrt-chip:hover {
	border-color: #D99CB2;
}

/* 選択中の色は共通アクセントを維持 */
.lrt .lrt-purpose-group .lrt-chip[aria-pressed="true"],
.lrt .lrt-tone-group .lrt-chip[aria-pressed="true"] {
	border-color: var(--lrt-accent);
	background: var(--lrt-accent);
	color: #fff;
}


/* ---------- chat screen ---------- */

.lrt .lrt-result {
	margin-top: 20px;
}

.lrt .lrt-screen {
	display: flex;
	justify-content: flex-end;
	padding: 20px 14px;
	background: var(--lrt-screen);
	border-radius: 16px;
}

.lrt .lrt-bubble {
	max-width: 88%;
	padding: 12px 16px;
	background: var(--lrt-bubble);
	color: var(--lrt-ink);
	border-radius: 18px 18px 4px 18px;
	font-size: 16px;
	line-height: 1.7;
	word-break: break-word;
	animation: lrt-pop 0.18s ease-out;
}

@keyframes lrt-pop {
	from { transform: scale(0.96); opacity: 0.6; }
	to   { transform: scale(1);    opacity: 1; }
}

/* ---------- buttons ---------- */

.lrt .lrt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.lrt .lrt-btn {
	min-height: 44px;
	padding: 8px 18px;
	border: 1.5px solid var(--lrt-accent);
	border-radius: 999px;
	background: var(--lrt-card);
	color: var(--lrt-accent);
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
}

.lrt .lrt-btn-primary,
.lrt .lrt-btn[aria-pressed="true"] {
	background: var(--lrt-accent);
	color: #fff;
}

.lrt .lrt-btn:disabled {
	border-color: var(--lrt-line);
	color: var(--lrt-sub);
	cursor: default;
}

.lrt .lrt-btn-small {
	min-height: 36px;
	padding: 4px 14px;
	font-size: 13px;
}

/* ---------- do / don't ---------- */

.lrt .lrt-tips {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 16px;
}

.lrt .lrt-tip {
	padding: 12px 14px;
	background: var(--lrt-card);
	border-left: 4px solid var(--lrt-line);
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.6;
}

.lrt .lrt-tip-do { border-left-color: var(--lrt-do); }
.lrt .lrt-tip-dont { border-left-color: var(--lrt-dont); }

.lrt .lrt-tip-title {
	margin-bottom: 4px;
	font-weight: 700;
}

.lrt .lrt-tip-do .lrt-tip-title { color: var(--lrt-do); }
.lrt .lrt-tip-dont .lrt-tip-title { color: var(--lrt-dont); }

.lrt .lrt-tip li + li {
	margin-top: 6px;
}

/* ---------- favorites ---------- */

.lrt .lrt-favs {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--lrt-line);
}

.lrt .lrt-empty {
	color: var(--lrt-sub);
	font-size: 14px;
}

.lrt .lrt-fav {
	padding: 12px 14px;
	background: var(--lrt-card);
	border-radius: 12px;
}

.lrt .lrt-fav + .lrt-fav {
	margin-top: 8px;
}

.lrt .lrt-fav-text {
	font-size: 15px;
	word-break: break-word;
}

.lrt .lrt-fav-meta {
	margin-top: 2px;
	color: var(--lrt-sub);
	font-size: 12px;
}

.lrt .lrt-fav-actions {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

/* ---------- focus / motion / small screens ---------- */

.lrt .lrt-chip:focus-visible,
.lrt .lrt-btn:focus-visible {
	outline: 3px solid var(--lrt-accent);
	outline-offset: 2px;
}

@media (max-width: 480px) {
	.lrt {
		margin: 12px 0;
		border-radius: 16px;
	}
	.lrt .lrt-tips {
		grid-template-columns: 1fr;
	}
	.lrt .lrt-bubble {
		max-width: 94%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lrt .lrt-chip,
	.lrt .lrt-bubble {
		transition: none;
		animation: none;
	}
}

/* ======================================================
   v1.1 追加分：タブ・チェッカー・診断・ランキング
   ====================================================== */

.lrt .lrt-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
	border-bottom: 2px solid var(--lrt-line);
}

.lrt .lrt-tab {
	flex: 1;
	min-height: 44px;
	padding: 8px 6px;
	margin-bottom: -2px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: transparent;
	color: var(--lrt-sub);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}

.lrt .lrt-tab[aria-selected="true"] {
	border-bottom-color: var(--lrt-accent);
	color: var(--lrt-accent);
}

.lrt .lrt-tab:focus-visible {
	outline: 3px solid var(--lrt-accent);
	outline-offset: -3px;
}

/* ランキング・お気に入り共通 */
.lrt .lrt-side {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--lrt-line);
}

.lrt .lrt-item {
	padding: 12px 14px;
	background: var(--lrt-card);
	border-radius: 12px;
}

.lrt .lrt-item + .lrt-item {
	margin-top: 8px;
}

.lrt .lrt-item-rank {
	color: var(--lrt-accent);
	font-size: 13px;
	font-weight: 700;
}

.lrt .lrt-item-text {
	font-size: 15px;
	word-break: break-word;
}

.lrt .lrt-item-meta {
	margin-top: 2px;
	color: var(--lrt-sub);
	font-size: 12px;
}

.lrt .lrt-item-actions {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

/* 送信前チェッカー */
.lrt .lrt-textarea {
	display: block;
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--lrt-line);
	border-radius: 12px;
	background: var(--lrt-card);
	color: var(--lrt-ink);
	font: inherit;
	font-size: 16px;
	line-height: 1.7;
	resize: vertical;
}

.lrt .lrt-textarea:focus-visible {
	outline: 3px solid var(--lrt-accent);
	outline-offset: 2px;
}

.lrt .lrt-check {
	margin-top: 20px;
}

.lrt .lrt-result-title {
	font-size: 20px;
	font-weight: 700;
}

.lrt .lrt-meter {
	height: 12px;
	margin: 10px 0 12px;
	background: var(--lrt-screen);
	border-radius: 999px;
	overflow: hidden;
}

.lrt .lrt-meter-bar {
	height: 100%;
	background: var(--lrt-accent);
	border-radius: 999px;
}

.lrt .lrt-comment {
	margin-bottom: 16px;
}

.lrt .lrt-issues,
.lrt .lrt-goods {
	margin-bottom: 16px;
}

.lrt .lrt-issue {
	padding: 10px 14px;
	background: var(--lrt-card);
	border-left: 4px solid var(--lrt-dont);
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.6;
}

.lrt .lrt-issue + .lrt-issue {
	margin-top: 8px;
}

.lrt .lrt-issue-title {
	font-weight: 700;
}

.lrt .lrt-goods li {
	padding: 8px 14px;
	background: var(--lrt-card);
	border-left: 4px solid var(--lrt-do);
	border-radius: 10px;
	font-size: 14px;
}

.lrt .lrt-goods li + li {
	margin-top: 8px;
}

/* 脈あり診断 */
.lrt .lrt-progress {
	margin-bottom: 4px;
	color: var(--lrt-sub);
	font-size: 14px;
}

.lrt .lrt-q {
	margin-bottom: 14px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.lrt .lrt-q:focus,
.lrt .lrt-result-title:focus {
	outline: none;
}

.lrt .lrt-options {
	display: grid;
	gap: 8px;
	margin-bottom: 14px;
}

.lrt .lrt-option {
	min-height: 48px;
	padding: 10px 16px;
	border: 1.5px solid var(--lrt-line);
	border-radius: 14px;
	background: var(--lrt-card);
	color: var(--lrt-ink);
	font: inherit;
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.lrt .lrt-option:hover {
	border-color: var(--lrt-accent);
}

.lrt .lrt-option:focus-visible {
	outline: 3px solid var(--lrt-accent);
	outline-offset: 2px;
}

.lrt .lrt-level {
	margin-bottom: 4px;
	color: var(--lrt-accent);
	font-weight: 700;
}

.lrt .lrt-note {
	margin-bottom: 4px;
	color: var(--lrt-sub);
	font-size: 13px;
}

.lrt .lrt-btn-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

/* v1.0 の .lrt-favs / .lrt-fav 系は lrt-side / lrt-item に置き換え済み */

/* ---------- searchable large situation library ---------- */
.lrt .lrt-search {
    width: 100%; min-height: 44px; margin: 0 0 12px;
    border: 1.5px solid var(--lrt-line); border-radius: 12px;
    background: var(--lrt-card); color: var(--lrt-ink);
    padding: 10px 14px; font: inherit; font-size: 15px;
}
.lrt .lrt-search:focus-visible { outline: 2px solid var(--lrt-accent); outline-offset: 2px; }
.lrt .lrt-show-scenes { display: inline-block; margin-top: 12px; }

/* ======================================================
   v1.3.2 手書き風フォント（Yomogi）
   Cocoonや他のプラグインの書体は変更しない。
   ====================================================== */
.lrt button,
.lrt input,
.lrt textarea,
.lrt select {
	font-family: inherit;
}

/* v1.3.5: 厳選表示と旧文例一覧の切替。Cocoonの本文幅を維持。 */
.lrt .lrt-all-toggle{display:flex;align-items:flex-start;gap:.5rem;margin:.6rem 0 1.1rem;padding:.6rem .8rem;border:1px solid #e6e8eb;border-radius:10px;background:#fafafb;color:#50545b;font-size:.9em;cursor:pointer;line-height:1.6}
.lrt .lrt-all-toggle input{flex:none;margin:.25em 0 0;accent-color:#a86881;width:1.05em;height:1.05em}
