/* TradeLogicAI public report page (/r/{id}) and embeddable card (/r/{id}/embed). Self-contained: no theme styles. */
.tla-sh {
	--sh-bg: #f8fafc;
	--sh-card: #ffffff;
	--sh-text: #0f172a;
	--sh-muted: #64748b;
	--sh-border: #e2e8f0;
	--sh-soft: #f1f5f9;
	--sh-accent: #2a78d6;
	--sh-pos: #15803d;
	--sh-neg: #c53030;
	--sh-warn: #b45309;
	margin: 0;
	background: var(--sh-bg);
	color: var(--sh-text);
	font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	-webkit-text-size-adjust: 100%;
}
.tla-sh.tla-theme-dark {
	--sh-bg: #0b1220;
	--sh-card: #111a2e;
	--sh-text: #e2e8f0;
	--sh-muted: #94a3b8;
	--sh-border: #23314d;
	--sh-soft: #172238;
	--sh-accent: #4ea1f3;
	--sh-pos: #4ade80;
	--sh-neg: #f87171;
	--sh-warn: #fbbf24;
}
@media (prefers-color-scheme: dark) {
	.tla-sh.tla-theme-auto {
		--sh-bg: #0b1220;
		--sh-card: #111a2e;
		--sh-text: #e2e8f0;
		--sh-muted: #94a3b8;
		--sh-border: #23314d;
		--sh-soft: #172238;
		--sh-accent: #4ea1f3;
		--sh-pos: #4ade80;
		--sh-neg: #f87171;
		--sh-warn: #fbbf24;
	}
}
.tla-sh *, .tla-sh *::before, .tla-sh *::after { box-sizing: border-box; }
.tla-sh a { color: var(--sh-accent); }

.tla-sh-top { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; max-width: 960px; margin: 0 auto; padding: 16px; }
.tla-sh-brand { font-weight: 700; font-size: 1.15em; text-decoration: none; color: var(--sh-text) !important; }
.tla-sh-main { max-width: 960px; margin: 0 auto; padding: 0 16px 32px; }
.tla-sh-card { background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: 14px; padding: 24px; }
.tla-sh-kicker { margin: 0 0 4px; font-size: .8em; letter-spacing: .06em; text-transform: uppercase; color: var(--sh-muted); }
.tla-sh-title { margin: 0 0 6px; font-size: 1.7em; line-height: 1.25; }
.tla-sh-meta { margin: 0 0 12px; color: var(--sh-muted); }
.tla-sh-h2 { margin: 0 0 10px; font-size: 1.1em; }
.tla-sh-section { margin-top: 24px; }

.tla-sh-btn { display: inline-block; padding: 9px 16px; border-radius: 8px; border: 1px solid var(--sh-border); text-decoration: none !important; font-weight: 600; line-height: 1.3; }
.tla-sh-btn-primary { background: var(--sh-accent); border-color: var(--sh-accent); color: #fff !important; }
.tla-sh-btn-primary:hover { filter: brightness(1.08); }

.tla-sh-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.tla-sh-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--sh-soft); border: 1px solid var(--sh-border); font-size: .87em; }
.tla-sh-badge.is-primary { border-color: var(--sh-accent); color: var(--sh-accent); font-weight: 600; }
.tla-sh-fwd-confirmed { border-color: var(--sh-pos); color: var(--sh-pos); }
.tla-sh-fwd-partial { border-color: var(--sh-warn); color: var(--sh-warn); }
.tla-sh-fwd-drifting { border-color: var(--sh-neg); color: var(--sh-neg); }

.tla-sh-tiles { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.tla-sh-tile { flex: 1 1 150px; background: var(--sh-soft); border: 1px solid var(--sh-border); border-radius: 10px; padding: 10px 12px; min-width: 0; }
.tla-sh-tile-label { font-size: .78em; color: var(--sh-muted); }
.tla-sh-tile-value { font-size: 1.35em; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tla-sh-tile-sub { font-size: .78em; color: var(--sh-muted); }
.tla-sh-tone-accent .tla-sh-tile-value { color: var(--sh-accent); }
.tla-sh-tone-pos .tla-sh-tile-value { color: var(--sh-pos); }
.tla-sh-tone-neg .tla-sh-tile-value { color: var(--sh-neg); }

.tla-sh-chart { display: block; width: 100%; height: auto; }
.tla-sh-compact .tla-sh-chart { height: 90px; margin-top: 12px; }
.tla-sh-area { fill: var(--sh-accent); opacity: .12; stroke: none; }
.tla-sh-line { fill: none; stroke-width: 2; stroke-linejoin: round; }
.tla-sh-equity { stroke: var(--sh-accent); }
.tla-sh-balance { stroke: var(--sh-muted); stroke-dasharray: 4 3; stroke-width: 1.2; }
.tla-sh-axis { fill: var(--sh-muted); font-size: 11px; }

.tla-sh-list { margin: 0; padding-left: 20px; }
.tla-sh-preview { white-space: pre-wrap; background: var(--sh-soft); border: 1px solid var(--sh-border); border-radius: 10px; padding: 12px 14px; font-size: .95em; }
.tla-sh-locked { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--sh-muted); font-size: .9em; }
.tla-sh-note { margin-top: 16px; padding: 10px 12px; border-left: 4px solid var(--sh-warn); background: var(--sh-soft); border-radius: 6px; }
.tla-sh-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 28px; padding: 16px 18px; border-radius: 12px; border: 1px solid var(--sh-accent); background: var(--sh-soft); }
.tla-sh-cta p { margin: 4px 0 0; color: var(--sh-muted); }
.tla-sh-disclaimer { margin: 16px 4px 0; font-size: .82em; color: var(--sh-muted); }

/* Embed: transparent page, compact card. */
.tla-sh-embed { background: transparent; }
.tla-sh-embed .tla-sh-main { padding: 0; }
.tla-sh-compact { padding: 16px; border-radius: 12px; }
.tla-sh-title-link { display: block; font-size: 1.15em; font-weight: 700; line-height: 1.3; color: var(--sh-text) !important; text-decoration: none; }
.tla-sh-title-link:hover { text-decoration: underline; }
.tla-sh-compact .tla-sh-meta { margin: 2px 0 0; font-size: .87em; }
.tla-sh-compact .tla-sh-tiles { gap: 8px; margin-top: 12px; }
.tla-sh-compact .tla-sh-tile { flex-basis: 110px; }
.tla-sh-compact .tla-sh-tile-value { font-size: 1.15em; }
.tla-sh-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; margin-top: 12px; font-size: .87em; }
.tla-sh-powered { color: var(--sh-muted) !important; text-decoration: none; }
.tla-sh-missing { text-align: center; margin-top: 24px; }

@media (max-width: 520px) {
	.tla-sh-card { padding: 16px; }
	.tla-sh-title { font-size: 1.35em; }
}
/* 1.7: account groups */
.tla-sh { --sh-g0: #2a78d6; --sh-g1: #eb6834; --sh-g2: #1baa7a; --sh-g3: #9b59d0; --sh-g4: #d4a017; --sh-g5: #d43f8d; }
.tla-sh-zero { stroke: var(--sh-border); stroke-dasharray: 4 3; }
.tla-sh-gline { fill: none; stroke-width: 1.6; }
.tla-sh-gtotal { fill: none; stroke: var(--sh-text); stroke-width: 3; }
.tla-sh-g0 { stroke: var(--sh-g0); } .tla-sh-g1 { stroke: var(--sh-g1); } .tla-sh-g2 { stroke: var(--sh-g2); }
.tla-sh-g3 { stroke: var(--sh-g3); } .tla-sh-g4 { stroke: var(--sh-g4); } .tla-sh-g5 { stroke: var(--sh-g5); }
.tla-sh-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 0.9em; margin: 0 0 8px; }
.tla-sh-key { display: inline-block; width: 14px; height: 4px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
.tla-sh-key-total { background: var(--sh-text); height: 5px; }
.tla-sh-kg0 { background: var(--sh-g0); } .tla-sh-kg1 { background: var(--sh-g1); } .tla-sh-kg2 { background: var(--sh-g2); }
.tla-sh-kg3 { background: var(--sh-g3); } .tla-sh-kg4 { background: var(--sh-g4); } .tla-sh-kg5 { background: var(--sh-g5); }
.tla-sh-table-wrap { overflow-x: auto; }
.tla-sh-table { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.tla-sh-table th, .tla-sh-table td { padding: 8px 6px; border-bottom: 1px solid var(--sh-border); text-align: left; vertical-align: top; }
.tla-sh-num { text-align: right !important; white-space: nowrap; }
.tla-sh-small { font-size: 0.85em; color: var(--sh-muted); }
.tla-sh-type-demo { color: var(--sh-warn); margin-left: 6px; }
.tla-sh-type-live { color: var(--sh-pos); margin-left: 6px; }
/* 1.8: order lists */
.tla-sh-trades td, .tla-sh-trades th { white-space: nowrap; }
.tla-sh-side-buy { color: var(--sh-pos); font-weight: 600; }
.tla-sh-side-sell { color: var(--sh-neg); font-weight: 600; }
td.tla-sh-tone-pos { color: var(--sh-pos); }
td.tla-sh-tone-neg { color: var(--sh-neg); }
/* 1.9: LIVE/DEMO badges, owner's strategy info */
.tla-sh-type { display: inline-block; vertical-align: middle; margin-left: 10px; padding: 2px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: .06em; color: #fff; }
.tla-sh-type-badge-live, .tla-sh-badge.tla-sh-type-live { background: #16a34a; border-color: #16a34a; color: #fff; }
.tla-sh-type-badge-demo, .tla-sh-badge.tla-sh-type-demo { background: #d97706; border-color: #d97706; color: #fff; }
.tla-sh-owner { margin: 4px 0 18px; padding: 12px 14px; border-left: 4px solid var(--sh-accent); background: var(--sh-soft); border-radius: 6px; }
.tla-sh-owner-text { margin: 0 0 10px; white-space: normal; }
.tla-sh-owner .tla-sh-small { margin: 8px 0 0; }
