/* RPG Secrets — Seite, Profilkasten, Zufallsband, Verwaltung
   Alles zum Plugin steht hier. */

.rpg-secrets__icon { width: 14px; height: 14px; flex: 0 0 auto; }

/* Der Stand steht als Strich mit Wort da, nicht als Farbfleck. */
.rpg-secrets__status {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--md-ink-faint);
}

.rpg-secrets__status::before {
	content: "";
	width: var(--md-dash);
	height: 1px;
	background: currentColor;
}

.rpg-secrets__item--status1 .rpg-secrets__status { color: var(--md-accent); }
.rpg-secrets__item--status2 .rpg-secrets__status { color: var(--md-ink-dim); }
.rpg-secrets__item--status3 .rpg-secrets__status { color: var(--md-ink-bright); }

.rpg-secrets__category {
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-rule);
}

.rpg-secrets__title {
	margin: .4rem 0 0;
	font-family: var(--md-f-serif);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.3;
	letter-spacing: .01em;
	color: var(--md-ink);
}

.rpg-secrets__hint {
	margin: .4rem 0 0;
	font-size: var(--md-t-micro);
	line-height: 1.85;
	color: var(--md-ink-dim);
}

.rpg-secrets__shared,
.rpg-secrets__revealed,
.rpg-secrets__locked {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin: .6rem 0 0;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets__locked { color: var(--md-rule); }
.rpg-secrets__scene:hover { color: var(--md-ink); }

.rpg-secrets__truth {
	margin-top: .6rem;
	padding: .7rem .9rem;
	background: var(--md-wash);
	border-left: 1px solid var(--md-accent-soft);
	font-size: var(--md-t-micro);
	line-height: 1.9;
	color: var(--md-ink);
}

.rpg-secrets__spoiler { margin-top: .6rem; }

.rpg-secrets__spoiler-toggle {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
	cursor: pointer;
	list-style: none;
}

.rpg-secrets__spoiler-toggle::-webkit-details-marker { display: none; }
.rpg-secrets__spoiler-toggle:hover { color: var(--md-ink-bright); }
.rpg-secrets__spoiler[open] .rpg-secrets__spoiler-toggle { color: var(--md-ink); }

.rpg-secrets__empty {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: 1.2rem 0;
	font-size: var(--md-t-micro);
	color: var(--md-ink-faint);
}

/* ============================================================
   Kasten im Profil
   ============================================================ */
.rpg-secrets.profile-infobox { min-width: 0; }

.rpg-secrets .profile-infobox__title {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: 0 0 1rem;
	font-family: var(--md-f-serif);
	font-weight: 700;
	font-size: var(--md-t-head);
	letter-spacing: var(--md-ls-head);
	text-transform: uppercase;
	color: var(--md-ink);
}

.rpg-secrets .profile-infobox__title::before {
	content: "";
	flex: 0 0 var(--md-dash);
	height: 1px;
	background: currentColor;
}

.rpg-secrets__counter {
	margin-left: auto;
	font-family: var(--md-f-sans);
	font-weight: 400;
	font-size: var(--md-t-micro);
	letter-spacing: var(--md-ls-nav);
	color: var(--md-ink-faint);
	font-variant-numeric: tabular-nums;
}

.rpg-secrets__list { display: grid; }

.rpg-secrets__item {
	padding: 1.1rem 0;
	border-top: 1px solid var(--md-rule-hair);
}

.rpg-secrets__item:first-child { border-top: 0; padding-top: 0; }

.rpg-secrets__item-head,
.rpg-secrets-page__card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: .4rem 1rem;
}

/* ============================================================
   Eigene Seite
   ============================================================ */
.rpg-secrets-page__filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: .8rem 1.35rem;
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: clamp(1.25rem, 3vw, 1.75rem);
	border-bottom: 1px solid var(--md-rule-hair);
}

.rpg-secrets-page__filter-field { display: grid; gap: .3rem; min-width: 0; flex: 1 1 11rem; }

.rpg-secrets-page__filter-field label {
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets-page__filter-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .8rem;
}

.rpg-secrets-page__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
	gap: 1px;
	border: 1px solid var(--md-rule-hair);
}

.rpg-secrets-page__grid:empty { border: 0; }

.rpg-secrets-page__card {
	display: grid;
	align-content: start;
	gap: .3rem;
	padding: 1.15rem 1.25rem;
	outline: 1px solid var(--md-rule-hair);
	transition: background var(--md-dur) var(--md-ease);
}

.rpg-secrets-page__card:hover { background: var(--md-wash); }

.rpg-secrets-page__card-foot {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	margin-top: .8rem;
	padding-top: .8rem;
	border-top: 1px solid var(--md-rule-hair);
}

.rpg-secrets-page__author {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-width: 0;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets-page__author:hover { color: var(--md-ink); }

.rpg-secrets-page__avatar {
	width: 22px;
	height: 22px;
	object-fit: cover;
	padding: 1px;
	border: 1px solid var(--md-rule-hair);
	filter: var(--md-photo-filter);
}

/* ============================================================
   Zufallsband auf der Startseite
   ============================================================ */
.rpg-secrets-random { min-width: 0; }

.rpg-secrets-random__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
}

.rpg-secrets-random__item {
	display: grid;
	align-content: start;
	gap: .35rem;
	padding-left: clamp(1rem, 2.5vw, 1.75rem);
	border-left: 1px solid var(--md-rule-hair);
}

.rpg-secrets-random__item:first-child { padding-left: 0; border-left: 0; }

.rpg-secrets-random__hint {
	margin: 0;
	font-family: var(--md-f-serif);
	font-style: italic;
	font-size: var(--md-t-body);
	line-height: 1.75;
	color: var(--md-ink-dim);
}

.rpg-secrets-random__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .3rem .9rem;
	margin: 0;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets-random__user { color: var(--md-ink); }
.rpg-secrets-random__user:hover { color: var(--md-ink-bright); }

/* ============================================================
   Verwaltung im UCP
   ============================================================ */
.rpg-secrets-ucp__section { margin-top: clamp(2rem, 4vw, 3rem); }
.rpg-secrets-ucp__section:first-child { margin-top: 0; }

.rpg-secrets-ucp__section-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .9rem;
	margin: 0 0 1rem;
	font-family: var(--md-f-serif);
	font-weight: 700;
	font-size: var(--md-t-head);
	letter-spacing: var(--md-ls-head);
	text-transform: uppercase;
	color: var(--md-ink);
}

.rpg-secrets-ucp__section-title::before {
	content: "";
	flex: 0 0 var(--md-dash);
	height: 1px;
	background: currentColor;
}

.rpg-secrets-ucp__count {
	margin-left: auto;
	font-family: var(--md-f-sans);
	font-weight: 400;
	font-size: var(--md-t-micro);
	letter-spacing: var(--md-ls-nav);
	color: var(--md-ink-faint);
	font-variant-numeric: tabular-nums;
}

.rpg-secrets-ucp__form { display: grid; gap: 1.35rem; }
.rpg-secrets-ucp__field { display: grid; gap: .35rem; min-width: 0; }

.rpg-secrets-ucp__field label {
	font-size: var(--md-t-micro);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets-ucp__input,
.rpg-secrets-ucp__select,
.rpg-secrets-ucp__textarea {
	width: 100%;
	padding: .55rem .7rem;
	background: var(--md-wash);
	border: 1px solid var(--md-rule-hair);
	border-radius: 0;
	font-family: inherit;
	font-size: var(--md-t-body);
	color: var(--md-ink);
}

.rpg-secrets-ucp__textarea { line-height: 1.9; resize: vertical; }
.rpg-secrets-ucp__input:focus,
.rpg-secrets-ucp__select:focus,
.rpg-secrets-ucp__textarea:focus { outline: 1px solid var(--md-accent-soft); outline-offset: 2px; }
.rpg-secrets-ucp__select option { background: var(--md-scrim-solid); color: var(--md-ink); }

.rpg-secrets-ucp__help { font-size: var(--md-t-micro); color: var(--md-ink-faint); }

.rpg-secrets-ucp__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: 1.35rem;
}

.rpg-secrets-ucp__userfield { position: relative; }

.rpg-secrets-ucp__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .8rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--md-rule-hair);
}

.rpg-secrets-ucp__cancel {
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets-ucp__cancel:hover { color: var(--md-ink); }

.rpg-secrets-ucp__list { display: grid; }

.rpg-secrets-ucp__row-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1.2rem;
	padding: .9rem 0;
	border-top: 1px solid var(--md-rule-hair);
}

.rpg-secrets-ucp__row-item:first-child { border-top: 0; }

.rpg-secrets-ucp__row-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .4rem 1.1rem;
	min-width: 0;
}

.rpg-secrets-ucp__row-title { color: var(--md-ink); }

.rpg-secrets-ucp__row-visibility,
.rpg-secrets-ucp__row-owner {
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpg-secrets-ucp__row-actions { display: flex; align-items: center; gap: .5rem; }
.rpg-secrets-ucp__inline-form { display: inline; margin: 0; }

.rpg-secrets-ucp__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.8rem;
	height: 1.8rem;
	padding: 0;
	background: none;
	border: 1px solid var(--md-rule-hair);
	color: var(--md-ink-faint);
	cursor: pointer;
}

.rpg-secrets-ucp__action:hover { border-color: var(--md-rule-soft); color: var(--md-ink-bright); }
.rpg-secrets-ucp__action--danger:hover { border-color: var(--md-accent-soft); color: var(--md-accent); }
.rpg-secrets-ucp__glyph { font-size: .85rem; line-height: 1; }

.rpg-secrets-ucp__sr {
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}

.rpg-secrets-ucp__limit,
.rpg-secrets-ucp__invite-intro {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 1rem;
	font-size: var(--md-t-micro);
	color: var(--md-ink-faint);
}

.rpg-secrets-ucp__section--invites { box-shadow: inset 2px 0 0 var(--md-accent-soft); padding-left: 1rem; }

.rpg-secrets-ucp__invite {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1.2rem;
	padding: .9rem 0;
	border-top: 1px solid var(--md-rule-hair);
}

.rpg-secrets-ucp__invite-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

@media (max-width: 640px) {
	.rpg-secrets-page__grid { grid-template-columns: minmax(0, 1fr); }
	.rpg-secrets-random__item { padding-left: 0; border-left: 0; }
}
