/* UncoverWP Theme Detector */
.uwp-td {
	--uwp-accent: var(--color-accent, #1a7f5a);
	--uwp-accent-dk: var(--color-accent-dk, #145f44);
	--uwp-accent-lt: var(--color-accent-lt, #e8f5ef);
	--uwp-text: #1a1d23;
	--uwp-muted: #6b7280;
	--uwp-border: #e8eaed;
	font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
	max-width: 680px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}
.uwp-td *, .uwp-td *::before, .uwp-td *::after { box-sizing: border-box; }

.uwp-td__sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Form */
.uwp-td__form {
	display: flex; gap: .5rem; align-items: center;
	background: #fff; border: 1.5px solid var(--uwp-border); border-radius: 999px;
	padding: .4rem; box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
	transition: border-color .2s;
}
.uwp-td__form:focus-within { border-color: var(--uwp-accent); }
.uwp-td__input {
	flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
	padding: .75rem 1rem; font: inherit; font-size: 1rem; color: var(--uwp-text);
}
.uwp-td__input::placeholder { color: #9aa0a8; }
.uwp-td__btn {
	border: 0; border-radius: 999px; background: var(--uwp-accent); color: #fff;
	font: inherit; font-size: .95rem; font-weight: 600; padding: .8rem 1.6rem;
	cursor: pointer; white-space: nowrap; transition: background .2s, transform .2s;
}
.uwp-td__btn:hover { background: var(--uwp-accent-dk); }
.uwp-td__btn:focus-visible { outline: 2px solid var(--uwp-accent); outline-offset: 2px; }
.uwp-td__btn:disabled { opacity: .75; cursor: wait; }

.uwp-td__hint { margin: .8rem 0 0; font-size: .85rem; color: var(--uwp-muted); text-align: center; }
.uwp-td--hero .uwp-td__hint { color: rgba(255, 255, 255, .6); }

/* Output */
.uwp-td__out { margin-top: 1.25rem; }
.uwp-td__out:empty { display: none; }

.uwp-td__result, .uwp-td__msg, .uwp-td__loading {
	background: #fff; color: var(--uwp-text);
	border: 1px solid var(--uwp-border); border-radius: 16px; padding: 1.25rem;
}
.uwp-td--hero .uwp-td__result { box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.uwp-td__result { display: flex; flex-direction: column; gap: 1rem; }

.uwp-td__msg p { margin: 0; }
.uwp-td__msg--error { border-color: #f3c4c4; background: #fff6f6; color: #8a1f1f; }

.uwp-td__loading { display: flex; align-items: center; gap: .75rem; color: var(--uwp-muted); }
.uwp-td__spinner {
	width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%;
	border: 2px solid var(--uwp-accent-lt); border-top-color: var(--uwp-accent);
	animation: uwp-spin .8s linear infinite;
}
@keyframes uwp-spin { to { transform: rotate(360deg); } }

.uwp-td__status { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.uwp-td__pill {
	font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	padding: .28rem .7rem; border-radius: 999px; background: #f1f2f4; color: var(--uwp-text);
}
.uwp-td__pill.is-yes { background: var(--uwp-accent-lt); color: var(--uwp-accent-dk); }
.uwp-td__pill.is-no { background: #fdecec; color: #8a1f1f; }
.uwp-td__host { font-weight: 600; font-size: .95rem; word-break: break-all; }
.uwp-td__text { margin: 0; color: var(--uwp-muted); line-height: 1.6; }

/* Theme card */
.uwp-td__theme {
	display: grid; grid-template-columns: 200px 1fr; gap: 1.25rem; align-items: start;
	padding-top: 1rem; border-top: 1px solid var(--uwp-border);
}
.uwp-td__shot {
	aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; border: 1px solid var(--uwp-border);
	background: var(--uwp-accent-lt); display: flex; align-items: center; justify-content: center;
}
.uwp-td__shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uwp-td__shot span { font-family: var(--font-display, Georgia, serif); font-size: 2.6rem; color: var(--uwp-accent); }

.uwp-td__role { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--uwp-accent); }
.uwp-td__theme-name {
	font-family: var(--font-display, Georgia, serif); font-size: 1.5rem; line-height: 1.2;
	margin: .25rem 0 .5rem; color: var(--uwp-text);
}
.uwp-td__meta {
	list-style: none; margin: 0 0 .6rem; padding: 0;
	display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .88rem; color: var(--uwp-muted);
}
.uwp-td__meta strong { color: var(--uwp-text); font-weight: 600; }
.uwp-td__meta code { font-size: .82rem; background: #f7f8fa; padding: .05rem .35rem; border-radius: 4px; }
.uwp-td__desc { font-size: .9rem; color: var(--uwp-muted); line-height: 1.6; margin: 0 0 .75rem; }

.uwp-td a { color: var(--uwp-accent); text-decoration: underline; text-underline-offset: 2px; }
.uwp-td a:hover { color: var(--uwp-accent-dk); }
.uwp-td .uwp-td__cta { display: inline-block; font-weight: 600; font-size: .9rem; }
.uwp-td__note { font-size: .8rem; color: var(--uwp-muted); margin: .6rem 0 0; line-height: 1.5; }

/* Plugins */
.uwp-td__plugins { padding-top: 1rem; border-top: 1px solid var(--uwp-border); }
.uwp-td__plugins h4 { margin: 0 0 .65rem; font-family: inherit; font-size: 1rem; color: var(--uwp-text); }
.uwp-td__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.uwp-td__chips li {
	font-size: .82rem; background: #f7f8fa; border: 1px solid var(--uwp-border);
	border-radius: 999px; padding: .3rem .75rem; color: var(--uwp-text);
}
.uwp-td__chips a { text-decoration: none; }

@media (max-width: 600px) {
	.uwp-td__form { flex-direction: column; align-items: stretch; border-radius: 16px; }
	.uwp-td__btn { width: 100%; }
	.uwp-td__theme { grid-template-columns: 1fr; }
	.uwp-td__shot { max-width: 320px; }
}
