/* TXCyber Resources — library page. Tokens match txcyber-ops. */
.txcr {
	--txcr-amber: #ffb000;
	--txcr-amber-dim: #a3761a;
	--txcr-void: #080705;
	--txcr-panel: #100e09;
	--txcr-panel-2: #16130c;
	--txcr-rule: #2c2517;
	--txcr-paper: #e7ddcb;
	--txcr-muted: #a89a82;
	--txcr-rust: #c4512f;
	--txcr-jade: #35d39a;
	--txcr-alert: #ff4b3a;
	--txcr-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--txcr-sans: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--txcr-ease: cubic-bezier(.2, .7, .2, 1);
	position: relative;
	color: var(--txcr-paper);
	background: var(--txcr-void);
	font-family: var(--txcr-sans);
	line-height: 1.55;
	margin: 0 0 3rem;
	scroll-margin-top: 80px;
}
.txcr *, .txcr *::before, .txcr *::after { box-sizing: border-box; }
.txcr [hidden] { display: none !important; }
.txcr-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.txcr .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.txcr a { color: var(--txcr-amber); }
.txcr :focus-visible { outline: 2px solid var(--txcr-amber); outline-offset: 2px; }

/* ------------------------------- Console ------------------------------- */
.txcr-console {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--txcr-rule);
	background:
		repeating-linear-gradient(0deg, rgba(255, 176, 0, .035) 0 1px, transparent 1px 3px),
		linear-gradient(180deg, var(--txcr-panel-2), var(--txcr-panel));
	padding: 18px 20px 16px;
	margin-bottom: 28px;
	font-family: var(--txcr-mono);
}
.txcr-console::before, .txcr-console::after {
	content: ""; position: absolute; width: 14px; height: 14px; border: 2px solid var(--txcr-amber); pointer-events: none;
}
.txcr-console::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.txcr-console::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.txcr-kicker { margin: 0 0 8px; color: var(--txcr-amber); font-size: .95rem; letter-spacing: .02em; min-height: 1.5em; }
.txcr-prompt { color: var(--txcr-amber-dim); }
.txcr-type.is-typing::after, .txcr-type.is-done::after {
	content: "▌"; margin-left: 2px; color: var(--txcr-amber);
}
.txcr-type.is-done::after { animation: txcr-blink 1s steps(1) 3 forwards; }
.txcr-status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 14px; color: var(--txcr-muted); font-size: .8rem; text-transform: lowercase; }
.txcr-status b { color: var(--txcr-paper); font-weight: 700; }
.txcr-sep { color: var(--txcr-rule); }
.txcr-led { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--txcr-amber); box-shadow: 0 0 8px var(--txcr-amber); animation: txcr-pulse 1.8s ease-in-out infinite; }
.txcr-led-jade { background: var(--txcr-jade); box-shadow: 0 0 8px var(--txcr-jade); }

.txcr-tools { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; }
.txcr-search { display: flex; align-items: stretch; flex: 1 1 280px; min-width: 0; border: 1px solid var(--txcr-rule); background: var(--txcr-void); transition: border-color .2s, box-shadow .2s; }
.txcr-search:focus-within { border-color: var(--txcr-amber); box-shadow: 0 0 0 3px rgba(255, 176, 0, .12); }
.txcr-search-label { padding: 8px 10px; background: var(--txcr-rule); color: var(--txcr-amber); font-size: .78rem; display: flex; align-items: center; }
.txcr-search input {
	flex: 1; min-width: 0; border: 0; background: transparent; color: var(--txcr-paper); padding: 8px 10px;
	font: inherit; font-size: .9rem; outline: none; -webkit-appearance: none; appearance: none;
}
.txcr .txcr-search input:focus-visible { outline: none; }
.txcr-search input::placeholder { color: #6f6553; }
.txcr-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.txcr-chip {
	position: relative; display: inline-flex; gap: 6px; align-items: baseline;
	padding: 6px 10px; border: 1px solid var(--txcr-rule); color: var(--txcr-paper) !important; text-decoration: none !important;
	font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; background: transparent;
	transition: border-color .2s, color .2s, background .2s, transform .2s var(--txcr-ease);
}
.txcr-chip span { color: var(--txcr-amber-dim); font-size: .72rem; }
.txcr-chip:hover { border-color: var(--txcr-amber-dim); transform: translateY(-1px); }
.txcr-chip.is-on { border-color: var(--txcr-amber); color: var(--txcr-void) !important; background: var(--txcr-amber); }
.txcr-chip.is-on span { color: #5c4100; }

/* ------------------------------ Sections ------------------------------ */
.txcr-cat { margin: 0 0 44px; scroll-margin-top: 90px; }
.txcr-cat-head {
	position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px;
	padding-bottom: 10px; margin-bottom: 8px;
}
.txcr-cat-head::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient(90deg, var(--txcr-amber), var(--txcr-rule) 40%);
	transform-origin: left; transition: transform .9s var(--txcr-ease);
}
.txcr-cat-num { font-family: var(--txcr-mono); color: var(--txcr-amber-dim); font-size: .8rem; }
.txcr-cat-code {
	font-family: var(--txcr-mono); font-weight: 700; font-size: .78rem; letter-spacing: .1em;
	color: var(--txcr-void); background: var(--txcr-amber); padding: 2px 7px;
}
.txcr .txcr-cat-title { margin: 0; font-family: var(--txcr-sans); font-size: clamp(1.25rem, 2.4vw, 1.6rem); font-weight: 800; line-height: 1.2; color: var(--txcr-paper); letter-spacing: -.01em; }
.txcr-cat-count { margin-left: auto; font-family: var(--txcr-mono); font-size: .78rem; color: var(--txcr-muted); }
.txcr-cat-desc { margin: 0 0 14px; max-width: none; color: var(--txcr-muted); font-size: .95rem; }

/* -------------------------------- Cards -------------------------------- */
.txcr-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 10px; }
.txcr-card {
	position: relative; display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 12px; align-items: start;
	margin: 0; padding: 10px 12px; border: 1px solid var(--txcr-rule); background: var(--txcr-panel);
	transition: border-color .25s, box-shadow .25s, transform .35s var(--txcr-ease), background .25s;
	scroll-margin-top: 100px;
}
.txcr-card::before, .txcr-card::after {
	content: ""; position: absolute; width: 8px; height: 8px; border: 2px solid var(--txcr-amber);
	opacity: 0; transition: opacity .25s, transform .3s var(--txcr-ease); pointer-events: none;
}
.txcr-card::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; transform: translate(-4px, -4px); }
.txcr-card::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; transform: translate(4px, 4px); }
.txcr-card:hover, .txcr-card:focus-within, .txcr-card:target {
	border-color: #4a3d20; background: var(--txcr-panel-2);
	box-shadow: 0 10px 30px -14px rgba(255, 176, 0, .35), inset 0 0 0 1px rgba(255, 176, 0, .05);
}
.txcr-card:hover::before, .txcr-card:hover::after,
.txcr-card:focus-within::before, .txcr-card:focus-within::after,
.txcr-card:target::before, .txcr-card:target::after { opacity: 1; transform: none; }

.txcr-card-icon { width: 75px; height: 75px; }
.txcr-ico { display: block; width: 75px; height: 75px; overflow: visible; }
.txcr-ico text { font-family: var(--txcr-mono); }
.txcr-ico-edge { stroke-dasharray: 100; stroke-dashoffset: 0; }
.txcr-ico-scan { opacity: 0; }
.txcr-card:hover .txcr-ico-scan, .txcr-card:focus-within .txcr-ico-scan { animation: txcr-scan 1.6s linear infinite; }
.txcr-card:hover .txcr-ico, .txcr-card:focus-within .txcr-ico { filter: drop-shadow(0 0 6px rgba(255, 176, 0, .28)); }
.txcr-card:hover .txcr-ico-prompt { animation: txcr-blink .9s steps(1) infinite; }

.txcr .txcr-card-title { margin: 0 0 3px; font-family: var(--txcr-sans); font-size: 15px; font-weight: 800; line-height: 1.25; color: var(--txcr-paper); }
.txcr-card-brief { margin: 0 0 6px; color: #cfc4b0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.txcr-card.is-open .txcr-card-brief { -webkit-line-clamp: unset; display: block; }
.txcr-brief-more { display: block; line-height: 1.3; background: none; border: 0; padding: 0; margin: -2px 0 6px; font-family: var(--txcr-mono); font-size: 10.5px; color: var(--txcr-amber-dim); cursor: pointer; text-decoration: underline; }
.txcr-brief-more:hover { color: var(--txcr-amber); }
.txcr-card-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 2px 0; margin: 0 0 8px; padding: 0; font-family: var(--txcr-mono); font-size: 10.5px; color: var(--txcr-muted); }
.txcr-card-meta li { margin: 0; }
.txcr-card-meta li + li::before { content: "·"; margin: 0 6px; color: var(--txcr-rule); }
.txcr-m-type { color: var(--txcr-amber) !important; text-transform: uppercase; }
.txcr-dl {
	position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 8px;
	padding: 4px 10px; border: 1px solid var(--txcr-amber); color: var(--txcr-amber) !important; text-decoration: none !important;
	font-family: var(--txcr-mono); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: lowercase;
	transition: color .2s, background .2s, box-shadow .2s;
}
.txcr-dl::before {
	content: ""; position: absolute; inset: 0; background: var(--txcr-amber);
	transform: translateX(-101%); transition: transform .3s var(--txcr-ease); z-index: 0;
}
.txcr-dl > * , .txcr-dl { z-index: 1; }
.txcr-dl-arrow { position: relative; z-index: 1; display: inline-block; }
.txcr-dl:hover, .txcr-dl:focus-visible { color: var(--txcr-void) !important; box-shadow: 0 0 16px rgba(255, 176, 0, .35); }
.txcr-dl:hover::before, .txcr-dl:focus-visible::before { transform: none; }
.txcr-dl:hover .txcr-dl-arrow { animation: txcr-drop .8s var(--txcr-ease) infinite; }
.txcr-dl { isolation: isolate; }
.txcr-dl::before { z-index: -1; }
.txcr-dl.is-fired { animation: txcr-fire .6s ease-out; }

.txcr-more, .txcr-btn, .txcr-linkbtn {
	font-family: var(--txcr-mono); cursor: pointer;
}
.txcr-more {
	display: block; margin: 16px auto 0; padding: 9px 18px; background: transparent; color: var(--txcr-amber);
	border: 1px dashed var(--txcr-amber-dim); font-size: .8rem; letter-spacing: .04em;
	transition: border-color .2s, background .2s;
}
.txcr-more:hover { border-style: solid; border-color: var(--txcr-amber); background: rgba(255, 176, 0, .06); }
.txcr-none { color: var(--txcr-muted); font-family: var(--txcr-mono); font-size: .85rem; border: 1px dashed var(--txcr-rule); padding: 14px 16px; margin: 0; }
.txcr-none-all { margin-top: 10px; }
.txcr-empty { font-family: var(--txcr-mono); color: var(--txcr-muted); font-size: .9rem; padding: 18px; border: 1px dashed var(--txcr-rule); margin: 0 0 28px; }
.txcr-empty code { color: var(--txcr-amber); background: none; }
.txcr-linkbtn { background: none; border: 0; padding: 0; color: var(--txcr-amber); text-decoration: underline; font-size: inherit; }
.txcr-danger { color: var(--txcr-alert); }

/* ---------------------------- Manage panel ---------------------------- */
.txcr-mgr { border: 1px solid #3a2f17; background: var(--txcr-panel); margin-bottom: 22px; padding: 14px 16px; font-family: var(--txcr-mono); }
.txcr-mgr-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.txcr-mgr-who { color: var(--txcr-muted); font-size: .78rem; margin-right: auto; display: inline-flex; gap: 8px; align-items: center; }
.txcr-btn {
	padding: 8px 14px; border: 1px solid var(--txcr-amber); background: transparent; color: var(--txcr-amber);
	font-size: .8rem; font-weight: 700; letter-spacing: .03em; transition: background .2s, color .2s, box-shadow .2s;
}
.txcr-btn:hover, .txcr-btn[aria-expanded="true"] { background: var(--txcr-amber); color: var(--txcr-void); box-shadow: 0 0 14px rgba(255, 176, 0, .3); }
.txcr-btn-ghost { border-color: var(--txcr-rule); color: var(--txcr-paper); }
.txcr-btn-ghost:hover, .txcr-btn-ghost[aria-expanded="true"] { background: var(--txcr-rule); color: var(--txcr-amber); box-shadow: none; }
.txcr-btn-solid { background: var(--txcr-amber); color: var(--txcr-void); }
.txcr-btn-solid:hover { background: #ffc233; }
.txcr-btn[disabled] { opacity: .55; cursor: progress; }
.txcr-flash { margin: 12px 0 0; padding: 10px 12px; font-size: .82rem; border-left: 3px solid var(--txcr-jade); background: rgba(53, 211, 154, .07); color: var(--txcr-paper); }
.txcr-flash-error { border-left-color: var(--txcr-alert); background: rgba(255, 75, 58, .08); }

.txcr-form { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--txcr-rule); display: grid; gap: 14px; }
.txcr-form-head { margin: 0; color: var(--txcr-amber); font-size: .85rem; }
.txcr-field { display: grid; gap: 6px; }
.txcr-field > label, .txcr-label { color: var(--txcr-amber); font-size: .78rem; letter-spacing: .05em; text-transform: lowercase; }
.txcr-hint { color: var(--txcr-muted); font-size: .72rem; letter-spacing: 0; text-transform: none; margin-left: 6px; }
.txcr-actions .txcr-hint { margin-left: 0; }
.txcr-field input[type="text"], .txcr-field select, .txcr-field textarea {
	width: 100%; padding: 9px 11px; background: var(--txcr-void); color: var(--txcr-paper); border: 1px solid var(--txcr-rule);
	font-family: var(--txcr-sans); font-size: .95rem; border-radius: 0; transition: border-color .2s, box-shadow .2s;
}
.txcr-field select { font-family: var(--txcr-mono); font-size: .85rem; }
.txcr-field input:focus, .txcr-field select:focus, .txcr-field textarea:focus { outline: none; border-color: var(--txcr-amber); box-shadow: 0 0 0 3px rgba(255, 176, 0, .12); }
.txcr-field textarea { resize: vertical; min-height: 110px; line-height: 1.5; }
.txcr-counter { margin: 0; text-align: right; font-size: .72rem; color: var(--txcr-muted); transition: color .2s; }
.txcr-counter.is-near { color: var(--txcr-amber); }
.txcr-counter.is-over { color: var(--txcr-alert); animation: txcr-shake .3s; }
.txcr-current { margin: 0; font-size: .75rem; color: var(--txcr-muted); }
.txcr-current code { color: var(--txcr-paper); background: none; }

.txcr-drop {
	position: relative; display: grid; justify-items: center; gap: 4px; text-align: center; cursor: pointer;
	padding: 22px 14px; border: 1px dashed var(--txcr-amber-dim); background: rgba(255, 176, 0, .025);
	transition: background .2s, border-color .2s;
	text-transform: none; letter-spacing: 0;
}
.txcr-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.txcr-drop:hover, .txcr-drop:focus-within { border-color: var(--txcr-amber); background: rgba(255, 176, 0, .05); }
.txcr-drop.is-over {
	border-style: solid; border-color: transparent; background-color: rgba(255, 176, 0, .08);
	background-image:
		linear-gradient(90deg, var(--txcr-amber) 50%, transparent 0), linear-gradient(90deg, var(--txcr-amber) 50%, transparent 0),
		linear-gradient(0deg, var(--txcr-amber) 50%, transparent 0), linear-gradient(0deg, var(--txcr-amber) 50%, transparent 0);
	background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
	background-size: 12px 1px, 12px 1px, 1px 12px, 1px 12px;
	background-position: 0 0, 0 100%, 0 0, 100% 0;
	animation: txcr-ants .6s linear infinite;
}
.txcr-drop.has-file { border-style: solid; border-color: var(--txcr-jade); }
.txcr-drop-icon { font-size: 1.5rem; color: var(--txcr-amber); line-height: 1; }
.txcr-drop-text { color: var(--txcr-paper); font-size: .85rem; overflow-wrap: anywhere; }
.txcr-drop-rule { color: var(--txcr-muted); font-size: .7rem; }

.txcr-progress { display: grid; gap: 8px; }
.txcr-bar { height: 8px; border: 1px solid var(--txcr-rule); background: var(--txcr-void); overflow: hidden; }
.txcr-bar span {
	display: block; height: 100%; width: 0; background-color: var(--txcr-amber);
	background-image: repeating-linear-gradient(45deg, rgba(8, 7, 5, .35) 0 6px, transparent 6px 12px);
	background-size: 17px 17px; animation: txcr-stripes .6s linear infinite; transition: width .2s;
}
.txcr-log { list-style: none; margin: 0; padding: 0; font-size: .76rem; color: var(--txcr-muted); }
.txcr-log li { margin: 0; animation: txcr-in .25s var(--txcr-ease) both; }
.txcr-log li::before { content: "> "; color: var(--txcr-amber-dim); }
.txcr-log li.is-ok { color: var(--txcr-jade); }
.txcr-log li.is-err { color: var(--txcr-alert); }
.txcr-form-msg { margin: 0; padding: 10px 12px; font-size: .82rem; border-left: 3px solid var(--txcr-alert); background: rgba(255, 75, 58, .08); }
.txcr-actions { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }

.txcr-mine { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--txcr-rule); }
.txcr-table-wrap { max-height: 460px; overflow: auto; border: 1px solid var(--txcr-rule); }
.txcr-table { width: 100%; border-collapse: collapse; font-size: .76rem; margin: 0; }
.txcr-table th, .txcr-table td { padding: 7px 10px; border-bottom: 1px solid var(--txcr-rule); text-align: left; vertical-align: top; color: var(--txcr-paper); background: none; }
.txcr-table th { position: sticky; top: 0; background: var(--txcr-panel-2); color: var(--txcr-amber); font-weight: 700; text-transform: lowercase; z-index: 1; }
.txcr-t-title { font-family: var(--txcr-sans); font-size: .85rem; min-width: 180px; }
.txcr-t-act { white-space: nowrap; }
.txcr-t-act a, .txcr-t-act form { display: inline; margin-right: 10px; }
.txcr-st { padding: 1px 6px; border: 1px solid var(--txcr-rule); }
.txcr-st-publish { color: var(--txcr-jade); border-color: rgba(53, 211, 154, .4); }
.txcr-st-pending { color: var(--txcr-amber); border-color: var(--txcr-amber-dim); }
.txcr-st-draft, .txcr-st-private { color: var(--txcr-muted); }

/* ------------------------------ Animation ------------------------------ */
/* Only when the script runs and motion is allowed; everything is visible otherwise. */
@media (prefers-reduced-motion: no-preference) {
	.txcr-anim .txcr-console { animation: txcr-rise .6s var(--txcr-ease) both; }
	.txcr-anim .txcr-cat-head::after { transform: scaleX(0); }
	.txcr-anim .txcr-cat.is-in .txcr-cat-head::after { transform: scaleX(1); }
	.txcr-anim .txcr-cat .txcr-cat-code { opacity: 0; }
	.txcr-anim .txcr-cat.is-in .txcr-cat-code { animation: txcr-glitch .5s steps(2) both; }
	.txcr-anim .txcr-card { opacity: 0; transform: translateY(10px); }
	.txcr-anim .txcr-card.is-in {
		opacity: 1; transform: none;
		transition: opacity .5s var(--txcr-ease) var(--txcr-d, 0s), transform .6s var(--txcr-ease) var(--txcr-d, 0s), border-color .25s, box-shadow .25s, background .25s;
	}
	.txcr-anim .txcr-card .txcr-ico-edge { stroke-dashoffset: 100; }
	.txcr-anim .txcr-card.is-in .txcr-ico-edge { stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--txcr-ease) calc(var(--txcr-d, 0s) + .1s); }
	.txcr-anim .txcr-card .txcr-ico-ext { opacity: 0; }
	.txcr-anim .txcr-card.is-in .txcr-ico-ext { animation: txcr-flicker .7s linear calc(var(--txcr-d, 0s) + .45s) both; }
	.txcr-anim .txcr-card.is-pop { animation: txcr-pop .35s var(--txcr-ease) both; }
	.txcr-form:not([hidden]), .txcr-mine:not([hidden]) { animation: txcr-open .35s var(--txcr-ease) both; }
	.txcr-anim .txcr-empty:not([hidden]) { animation: txcr-in .3s var(--txcr-ease) both; }
}
@media (prefers-reduced-motion: reduce) {
	.txcr *, .txcr *::before, .txcr *::after { animation: none !important; transition: none !important; }
}

@keyframes txcr-blink { 50% { opacity: 0; } }
@keyframes txcr-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; box-shadow: 0 0 2px currentColor; } }
@keyframes txcr-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes txcr-in { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
@keyframes txcr-open { from { opacity: 0; transform: translateY(-8px); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(0); } }
@keyframes txcr-pop { from { opacity: 0; transform: scale(.97) translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes txcr-scan { 0% { opacity: 0; transform: translateY(0); } 10% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: translateY(122px); } }
@keyframes txcr-flicker { 0% { opacity: 0; } 10% { opacity: .9; } 20% { opacity: .1; } 35% { opacity: 1; } 45% { opacity: .3; } 60%, 100% { opacity: 1; } }
@keyframes txcr-glitch {
	0% { opacity: 0; transform: translateX(-6px); clip-path: inset(0 60% 0 0); }
	50% { opacity: 1; transform: translateX(3px); clip-path: inset(0 0 0 30%); }
	100% { opacity: 1; transform: none; clip-path: inset(0); }
}
@keyframes txcr-drop { 0% { transform: translateY(-3px); opacity: .4; } 50% { transform: translateY(2px); opacity: 1; } 100% { transform: translateY(5px); opacity: 0; } }
@keyframes txcr-fire { 0% { box-shadow: 0 0 0 0 rgba(255, 176, 0, .7); } 100% { box-shadow: 0 0 0 14px rgba(255, 176, 0, 0); } }
@keyframes txcr-shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
@keyframes txcr-ants { to { background-position: 12px 0, -12px 100%, 0 -12px, 100% 12px; } }
@keyframes txcr-stripes { to { background-position: 17px 0; } }

/* -------------------------------- Phones -------------------------------- */
@media (max-width: 560px) {
	.txcr-console { padding: 14px 14px 12px; }
	.txcr-kicker { font-size: .8rem; }
	.txcr-card { grid-template-columns: 64px minmax(0, 1fr); gap: 10px; padding: 10px; }
	.txcr-card-icon, .txcr-ico { width: 64px; height: 64px; }
	.txcr-cat-count { margin-left: 0; width: 100%; }
	.txcr-mgr-who { width: 100%; }
}

/* Theme article styles (.entry-content ul/li/a) must not reach the library. */
.entry-content .txcr ul, .entry-content .txcr ol { padding-left: 0; list-style: none; }
.entry-content .txcr li { margin-bottom: 0; }
.entry-content .txcr a { border-bottom: 0; }
.entry-content .txcr .txcr-dl { border-bottom: 1px solid var(--txcr-amber); }
.entry-content .txcr .txcr-chip { border-bottom: 1px solid var(--txcr-rule); }
.entry-content .txcr .txcr-chip:hover { border-bottom-color: var(--txcr-amber-dim); }
.entry-content .txcr .txcr-chip.is-on { border-bottom-color: var(--txcr-amber); }

/* ---- 1.0.3: hover / focus preview of the full brief ---- */
.txcr-peek {
	position: absolute; left: -1px; right: -1px; top: calc(100% - 1px); z-index: 7;
	padding: 10px 16px 14px;
	background: linear-gradient(180deg, #19150d, var(--txcr-panel-2) 60%);
	border: 1px solid #5a4a22; border-top: 1px dashed #4a3d20;
	box-shadow: 0 22px 40px -14px rgba(0, 0, 0, .9), 0 14px 34px -16px rgba(255, 176, 0, .4);
	visibility: hidden; opacity: 0; pointer-events: none;
	clip-path: inset(0 0 100% 0); transform: translateY(-6px);
	transition: clip-path .38s cubic-bezier(.2, .7, .2, 1), transform .38s cubic-bezier(.2, .7, .2, 1), opacity .2s ease, visibility 0s linear .38s;
}
.txcr-peek::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--txcr-amber), transparent);
	opacity: 0; transform: scaleX(.2);
}
.txcr-peek::after {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 36%; pointer-events: none;
	background: linear-gradient(180deg, rgba(255, 176, 0, .09), rgba(255, 176, 0, 0)); opacity: 0;
}
.txcr-peek-label { display: block; margin: 0 0 4px; font-family: var(--txcr-mono); font-size: 10px; letter-spacing: .06em; color: var(--txcr-amber-dim); }
.txcr .txcr-peek p { margin: 0; color: #e6dcc8; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; opacity: 0; transform: translateY(4px); transition: opacity .3s ease, transform .35s cubic-bezier(.2, .7, .2, 1); }

@media (hover: hover) and (pointer: fine) {
	.txcr-card.has-peek .txcr-brief-more { display: none; }
	.txcr-card.has-peek:hover, .txcr-card.has-peek:focus-within { z-index: 7; }
	.txcr-card.has-peek:hover { border-bottom-color: transparent; }
	.txcr-card.has-peek:hover .txcr-peek,
	.txcr-card.has-peek:focus-within .txcr-peek {
		visibility: visible; opacity: 1; transform: none;
		clip-path: inset(0 -60px -60px -60px);
		transition-delay: .2s, .2s, .2s, 0s;
	}
	.txcr-card.has-peek:hover .txcr-peek p,
	.txcr-card.has-peek:focus-within .txcr-peek p { opacity: 1; transform: none; transition-delay: .38s; }
	.txcr-card.has-peek:hover .txcr-peek::before,
	.txcr-card.has-peek:focus-within .txcr-peek::before { animation: txcr-peek-rule .7s ease-out .2s both; }
	.txcr-card.has-peek:hover .txcr-peek::after,
	.txcr-card.has-peek:focus-within .txcr-peek::after { animation: txcr-peek-scan .8s ease-out .25s both; }
	.txcr-card.has-peek:hover .txcr-card-brief,
	.txcr-card.has-peek:focus-within .txcr-card-brief { color: var(--txcr-muted); }
}
@keyframes txcr-peek-rule { 0% { opacity: 0; transform: scaleX(.2); } 40% { opacity: 1; } 100% { opacity: .6; transform: scaleX(1); } }
@keyframes txcr-peek-scan { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(220%); } }
@media (max-width: 560px) { .txcr-peek { display: none; } }
@media (prefers-reduced-motion: reduce) { .txcr-peek, .txcr-peek p { transform: none !important; } }
