.ragl-wrap {
	--ragl-ink: #000000;
	--ragl-muted: #8a8a8a;
	--ragl-line: #eee2e2;
	--ragl-bg: #FCF8F7;
	--ragl-card: #ffffff;
	--ragl-accent: #FF8F95;
	--ragl-accent-dark: #e06b72;
	--ragl-accent-soft: #FEE9E9;
	--ragl-crisis-bg: #FEE9E9;
	--ragl-crisis-border: #e06b72;
	--ragl-crisis-text: #7a2323;
	max-width: 1200px;
	margin: 0 auto;
	font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--ragl-ink);
	line-height: 1.55;
	box-sizing: border-box;
}
@media (max-width: 1279px) { .ragl-wrap { max-width: 960px; } }
@media (max-width: 900px)  { .ragl-wrap { max-width: 760px; } }

.ragl-wrap * { box-sizing: border-box; }
.ragl-wrap h1, .ragl-wrap h2, .ragl-wrap h3 { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; }
.ragl-wrap h1 { font-size: 2.074em; margin: 0 0 .5rem; line-height: 1.25; }
.ragl-wrap h2 { font-size: 1.728em; margin: 0 0 .75rem; }
.ragl-wrap h3 { font-size: 1.2em; margin: 1.25rem 0 .5rem; }
.ragl-wrap p { margin: 0 0 1rem; }
.ragl-wrap a { color: var(--ragl-accent-dark); text-decoration: underline; }
.ragl-wrap a:hover { color: var(--ragl-ink); }

.ragl-card { background: var(--ragl-card); border: 1px solid var(--ragl-line); border-radius: 14px; padding: 1.5rem; margin-bottom: 1.25rem; }
.ragl-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 600; color: var(--ragl-accent); margin-bottom: .35rem; }
.ragl-notice { background: var(--ragl-accent-soft); border: 1px solid var(--ragl-line); border-radius: 10px; padding: .85rem 1rem; font-size: .92rem; color: var(--ragl-accent-dark); margin-bottom: 1.25rem; }

/* Search */
.ragl-search-row { display: flex; gap: .5rem; margin-bottom: 1.25rem; }
.ragl-search-input {
	flex: 1;
	border: 1.5px solid var(--ragl-line);
	border-radius: 999px;
	padding: .75rem 1.25rem;
	font-size: .95rem;
	color: var(--ragl-ink);
}
.ragl-search-input:focus { outline: none; border-color: var(--ragl-accent); }
.ragl-search-count { font-size: .82rem; color: var(--ragl-muted); margin-bottom: .75rem; }

/* Cluster grid */
.ragl-cluster-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .85rem; margin: 1rem 0; }
.ragl-cluster-card {
	text-align: left;
	border: 1.5px solid var(--ragl-line);
	border-radius: 12px;
	padding: 1.1rem;
	cursor: pointer;
	background: #fff;
	transition: border-color .15s ease, background .15s ease;
}
.ragl-cluster-card:hover { border-color: var(--ragl-accent); background: var(--ragl-accent-soft); }
.ragl-cluster-card strong { display: block; margin-bottom: .3rem; font-size: 1rem; }
.ragl-cluster-desc { font-size: .85rem; color: var(--ragl-muted); display: block; margin-bottom: .5rem; }
.ragl-cluster-count { font-size: .75rem; font-weight: 600; color: var(--ragl-accent); }

.ragl-start-somewhere { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 1.25rem; }
.ragl-chip {
	border: 1.5px solid var(--ragl-line);
	background: #fff;
	border-radius: 999px;
	padding: .4rem .9rem;
	font-size: .85rem;
	cursor: pointer;
	color: var(--ragl-ink);
}
.ragl-chip:hover { border-color: var(--ragl-accent); background: var(--ragl-accent-soft); }

.ragl-type-badge { display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .15rem .5rem; border-radius: 999px; margin-bottom: .35rem; }
.ragl-type-term { background: var(--ragl-accent-soft); color: var(--ragl-accent-dark); }
.ragl-type-pattern { background: #fdeee0; color: #9a5b1f; }
.ragl-plain-list { margin: 0 0 1rem; padding-left: 1.2rem; }
.ragl-plain-list li { margin-bottom: .4rem; font-size: .95rem; }
.ragl-sources li { font-size: .82rem; color: var(--ragl-muted); }

/* Term list */
.ragl-term-list { border-top: 1px solid var(--ragl-line); }
.ragl-term-row {
	display: block;
	width: 100%;
	text-align: left;
	padding: .9rem 0;
	border-bottom: 1px solid var(--ragl-line);
	background: none;
	border-left: none; border-right: none; border-top: none;
	cursor: pointer;
}
.ragl-term-row:hover .ragl-term-title { color: var(--ragl-accent); }
.ragl-term-title { font-weight: 600; margin-bottom: .2rem; }
.ragl-term-snippet { font-size: .88rem; color: var(--ragl-muted); }

/* Term detail */
.ragl-term-tag { display: inline-block; background: var(--ragl-accent-soft); color: var(--ragl-accent-dark); font-size: .72rem; font-weight: 600; padding: .25rem .65rem; border-radius: 999px; margin-bottom: .75rem; }
.ragl-def-block { margin-bottom: 1.1rem; }
.ragl-def-label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ragl-muted); margin-bottom: .3rem; }
.ragl-def-text { font-size: .97rem; }
.ragl-def-text.ragl-clinical { font-size: .92rem; color: var(--ragl-muted); }

.ragl-scripts { display: grid; gap: .75rem; margin: .5rem 0 1rem; }
.ragl-script-card { background: #fff6f6; border-left: 3px solid var(--ragl-accent); border-radius: 0 8px 8px 0; padding: .8rem 1rem; }
.ragl-script-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ragl-accent-dark); margin-bottom: .3rem; }
.ragl-script-text { font-style: italic; font-size: .92rem; }

.ragl-why { background: var(--ragl-accent-soft); border-radius: 10px; padding: 1rem; font-size: .9rem; margin-bottom: 1rem; }

.ragl-related-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }

.ragl-btn { border: none; border-radius: 999px; padding: .65rem 1.35rem; font-size: .9rem; font-weight: 600; cursor: pointer; }
.ragl-btn-primary { background: var(--ragl-accent); color: #1a0d0d; font-weight: 700; }
.ragl-btn-primary:hover { background: var(--ragl-accent-dark); }
.ragl-btn-secondary { background: transparent; color: var(--ragl-accent); border: 1.5px solid var(--ragl-line); }
.ragl-btn-secondary:hover { border-color: var(--ragl-accent); }
.ragl-btn-text { background: none; color: var(--ragl-muted); text-decoration: underline; padding: .5rem; font-weight: 400; }
.ragl-btn-row { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: 1.25rem; flex-wrap: wrap; }

/* Crisis */
.ragl-crisis { background: var(--ragl-crisis-bg); border: 1.5px solid var(--ragl-crisis-border); color: var(--ragl-crisis-text); border-radius: 12px; padding: 1.1rem 1.25rem; margin: 1rem 0 1.5rem; }
.ragl-crisis h3 { margin-top: 0; color: var(--ragl-crisis-text); }
.ragl-crisis ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.ragl-crisis li { margin-bottom: .3rem; }
.ragl-crisis-persistent { text-align: center; font-size: .82rem; padding: .6rem; margin-top: 1rem; border-top: 1px solid var(--ragl-line); color: var(--ragl-muted); }
.ragl-crisis-persistent a { font-weight: 600; }

.ragl-disclaimer { font-size: .82rem; color: var(--ragl-muted); border-top: 1px solid var(--ragl-line); margin-top: 1.5rem; padding-top: 1rem; }

@media (max-width: 480px) {
	.ragl-btn-row { flex-direction: column-reverse; align-items: stretch; }
	.ragl-btn { width: 100%; text-align: center; }
	.ragl-search-row { flex-direction: column; }
}

/* ---- Print (single term) ---- */
.ragl-print-doc { display: none; }
@media print {
	body > *:not(.ragl-print-doc) { display: none !important; }
	.ragl-print-doc {
		display: block !important;
		font-family: Georgia, 'Times New Roman', serif;
		color: #111;
		padding: 0 .5in;
	}
	.ragl-print-doc h1 { font-size: 18pt; margin-bottom: .05in; }
	.ragl-print-doc h2 { font-size: 12pt; margin-top: .25in; border-bottom: 1px solid #999; padding-bottom: 2pt; }
	.ragl-print-doc .ragl-print-meta { font-size: 9pt; color: #555; margin-bottom: .2in; }
	.ragl-print-doc .ragl-print-footer { font-size: 8pt; color: #555; margin-top: .3in; border-top: 1px solid #ccc; padding-top: 6pt; }
	.ragl-print-doc p { font-size: 10.5pt; margin: 0 0 8pt; }
}
