/* Poketech – Sprachfarbe
   .pt-rede ist wörtliche Rede in Beiträgen. Die Farbe kommt pro Account aus dem User-CP.
   Die Farbe hier gilt nur dort, wo kein Autor bekannt ist (z. B. Suche, Portal). */
.pt-rede { color: #E8B98F; }

/* ---------- User-CP-Seite ---------- */
.ptsf {
	--ptsf-bg: #0e2529;
	--ptsf-deep: #0b1e21;
	--ptsf-panel: #143a3f;
	--ptsf-line: #1d4146;
	--ptsf-field: #2b5258;
	--ptsf-copper: #c4794a;
	--ptsf-copper-light: #e0a072;
	--ptsf-text: #dfe7e4;
	--ptsf-muted: #8fa8a3;
	display: flex;
	flex-direction: column;
	gap: 18px;
	color: var(--ptsf-text);
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
}
.ptsf *, .ptsf *::before, .ptsf *::after { box-sizing: border-box; }
.ptsf [hidden] { display: none !important; }
.ptsf-head { display: flex; flex-direction: column; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid #8a5a35; }
.ptsf-kicker { font-family: 'Aldrich', sans-serif; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: #7f9a9c; }
.ptsf-title { margin: 0; font-family: 'Aldrich', sans-serif; font-weight: normal; font-size: 26px; letter-spacing: .22em; text-transform: uppercase; color: #d48a52; }
.ptsf-intro { margin: 0; max-width: 700px; color: #a9b9b6; }
.ptsf code { font-family: 'VT323', monospace; font-size: 1.2em; color: var(--ptsf-text); }

.ptsf-grid { display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-start; }
.ptsf-grid > .ptsf-card { flex: 1 1 300px; min-width: 0; }
.ptsf-side { flex: 1.4 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ptsf-card {
	background: var(--ptsf-bg);
	border: 1px solid var(--ptsf-line);
	border-radius: 14px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ptsf-tag {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px;
	background: var(--ptsf-deep);
	border: 1px solid var(--ptsf-line);
	border-radius: 10px;
}
.ptsf-tag-code { font-size: 24px !important; color: var(--ptsf-copper-light) !important; }
.ptsf-tag-missing { border-color: var(--ptsf-copper); }
.ptsf-label { font-family: 'Aldrich', sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ptsf-copper-light); }
.ptsf-sub { font-family: 'Aldrich', sans-serif; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--ptsf-muted); }

.ptsf-pick { display: flex; align-items: flex-end; gap: 12px; }
.ptsf-field { display: flex; flex-direction: column; gap: 6px; font-family: 'Aldrich', sans-serif; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--ptsf-muted); }
.ptsf-grow { flex: 1; }
.ptsf input[type="color"] { width: 64px; height: 44px; padding: 3px; background: var(--ptsf-panel); border: 1px solid var(--ptsf-field); border-radius: 10px; cursor: pointer; }
.ptsf input[type="text"] {
	width: 100%;
	height: 44px;
	background: var(--ptsf-panel);
	border: 1px solid var(--ptsf-field);
	border-radius: 10px;
	padding: 0 12px;
	color: var(--ptsf-text);
	font-family: 'VT323', monospace;
	font-size: 22px;
	letter-spacing: .06em;
}
.ptsf input[type="text"].is-invalid { border-color: var(--ptsf-copper); }
.ptsf input:focus-visible, .ptsf button:focus-visible { outline: 2px solid var(--ptsf-copper-light); outline-offset: 2px; }
.ptsf-error { margin: 0; font-family: 'VT323', monospace; font-size: 17px; color: var(--ptsf-copper-light); }

.ptsf-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.ptsf-swatch {
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 9px;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25);
}
.ptsf-swatch.is-on { box-shadow: 0 0 0 3px var(--ptsf-bg), 0 0 0 5px var(--ptsf-copper-light); }

.ptsf-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.ptsf-check {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 10px;
	background: var(--ptsf-panel);
	border: 1px solid var(--ptsf-field);
	cursor: pointer;
}
.ptsf-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--ptsf-copper); }

.ptsf-note { margin: 0; font-family: 'VT323', monospace; font-size: 17px; line-height: 1.2; color: var(--ptsf-muted); }
.ptsf-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ptsf-btn {
	height: 44px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	background: var(--ptsf-copper);
	color: #0b1f22;
	font-family: 'Aldrich', sans-serif;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
}
.ptsf-btn:hover { background: var(--ptsf-copper-light); }
.ptsf-btn-ghost { background: transparent; border: 1px solid var(--ptsf-field); color: var(--ptsf-muted); }
.ptsf-btn-ghost:hover { background: var(--ptsf-panel); color: var(--ptsf-text); }

.ptsf-preview {
	margin: 0;
	background: var(--ptsf-deep);
	border-left: 3px solid var(--ptsf-copper);
	border-radius: 6px;
	padding: 18px 20px;
	font-family: 'Literata', Georgia, serif;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ptsf-text);
}
.ptsf-code {
	display: block;
	background: var(--ptsf-deep);
	border: 1px solid var(--ptsf-line);
	border-radius: 8px;
	padding: 10px 12px;
	overflow-wrap: anywhere;
}
.ptsf-code-out { color: #9fb6b1 !important; }
