/* Shared Analytics UI layer. It upgrades existing components without changing data or workflows. */
:root{
  --tng-bg:var(--tng-cream);--tng-surface:var(--tng-white);--tng-surface-soft:var(--tng-ivory);
  --tng-emerald-950:#042e23;--tng-emerald-900:#064b36;--tng-emerald-800:#087053;
  --tng-emerald-700:#15946b;--tng-mint:#dff5eb;--tng-chart-a:#1f9b72;--tng-chart-b:#d5a83d;
}

body{background:radial-gradient(circle at 90% 0,rgba(212,168,61,.1),transparent 25%),linear-gradient(150deg,#f3eee0,#fffdf8 42%,#f6f3e9)}
.panel,.tracking-operation-day,.tracking-command-card,.tracking-official-results,.public-capability-card{border-color:rgba(181,137,37,.28);box-shadow:0 12px 32px rgba(5,57,40,.08)}
.panel:hover,.tracking-command-card:hover{box-shadow:var(--tng-shadow-premium);transform:translateY(-1px)}

.eyebrow{letter-spacing:.085em;color:var(--tng-gold-deep)}
.result-number,.history-number,.tracking-next-card h3,.tracking-future-code-list b{font-family:var(--tng-font-numeric);font-variant-numeric:tabular-nums}
.result-number{color:var(--tng-emerald-950);text-shadow:0 1px 0 #fff}

/* Semantic comparison: readable without relying only on color. */
.tracking-future-code-list.is-public span,.tracking-future-code-list.public span{background:var(--tng-mint);border-color:rgba(21,148,107,.28)}
.tracking-future-code-list.is-vip span,.tracking-future-code-list.vip span{background:#fff3cf;border-color:rgba(196,147,47,.42)}
.tracking-future-code-list small{font-size:.76rem;font-weight:800}.tracking-future-code-list b{font-size:1.1rem}

/* Reusable visual primitives for future modules and server-rendered panels. */
.tng-terminal{background:linear-gradient(145deg,var(--tng-emerald-950),var(--tng-emerald-900));color:#f8f3e7;border:1px solid rgba(213,168,61,.55);border-radius:var(--tng-radius-lg);box-shadow:var(--tng-shadow-premium)}
.tng-analytics-card{padding:20px;border:1px solid rgba(181,137,37,.3);border-radius:var(--tng-radius-md);background:var(--tng-surface);display:grid;gap:8px}.tng-analytics-card__label{font-size:var(--tng-size-caption);font-weight:800;letter-spacing:.08em;color:var(--tng-gold-deep)}.tng-analytics-card__value{font-family:var(--tng-font-numeric);font-size:clamp(2rem,4vw,3.5rem);line-height:1;color:var(--tng-emerald-950);font-variant-numeric:tabular-nums}
.tng-code-pair{display:inline-grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(196,147,47,.45);border-radius:var(--tng-radius-sm);background:linear-gradient(135deg,#fffaf0,#eff8f1)}.tng-code-pair b{font-family:var(--tng-font-numeric);font-size:1.5rem;letter-spacing:.08em}.tng-code-pair i{font-style:normal;color:var(--tng-gold-deep);font-size:1.2rem}
.tng-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--tng-emerald-700);box-shadow:0 0 0 4px rgba(21,148,107,.14)}

@media (prefers-reduced-motion:no-preference){
  .panel,.tracking-command-card,.public-capability-card{transition:transform var(--tng-motion-fast),box-shadow var(--tng-motion-normal),border-color var(--tng-motion-fast)}
  .tng-motion-ready .page-title,.tng-motion-ready .panel,.tng-motion-ready .public-section{animation:tng-enter .32s both}
  .tng-motion-ready .panel:nth-child(2),.tng-motion-ready .public-section:nth-child(2){animation-delay:.04s}
  .tng-motion-ready .panel:nth-child(3),.tng-motion-ready .public-section:nth-child(3){animation-delay:.08s}
  @keyframes tng-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
}
@media (max-width:700px){.tng-code-pair{gap:7px;padding:10px}.tng-code-pair b{font-size:1.25rem}.panel:hover,.tracking-command-card:hover{transform:none}}
