.tbld-context-card { color:#0f172a; }
.tbld-context-wait { display:flex; align-items:center; gap:14px; border:1px solid #ddd6fe; border-radius:12px; background:linear-gradient(135deg,#f5f3ff,#fff); padding:16px; }
.tbld-context-wait-spinner { width:26px; height:26px; flex:0 0 auto; border:3px solid #ddd6fe; border-top-color:#7c3aed; border-radius:9999px; animation:tbldContextSpin .85s linear infinite; }
.tbld-context-wait-title { color:#4c1d95; font-size:1rem; font-weight:900; line-height:1.35; }
.tbld-context-wait-copy { color:#475569; font-size:.9rem; line-height:1.55; margin-top:3px; }
.tbld-context-wait-detail { color:#7c3aed; font-size:.78rem; font-weight:800; margin-top:4px; }
.tbld-context-error { color:#9f1239; }
.tbld-kwic-hit { color:#b91c1c; background:#fee2e2; border-radius:4px; padding:0 4px; font-weight:900; }
.tbld-kwic-line { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; line-height:1.8; }
.tbld-kwic-left { text-align:right; color:#475569; }
.tbld-kwic-right { color:#475569; }
.tbld-kwic-table { border-collapse:separate; border-spacing:0; width:100%; }
.tbld-kwic-table th { position:sticky; top:0; background:#f8fafc; z-index:1; }
.tbld-kwic-table th,.tbld-kwic-table td { border-bottom:1px solid #e2e8f0; }
.tbld-kwic-table tr:hover td { background:#faf5ff; }
.tbld-position-card { border:1px solid #e2e8f0; border-radius:14px; background:linear-gradient(180deg,#fff,#f8fafc); padding:14px; }
.tbld-position-bin { display:grid; grid-template-columns:minmax(120px,1fr) 1.7fr 64px; gap:10px; align-items:center; }
.tbld-position-bar { height:10px; border-radius:9999px; background:#e2e8f0; overflow:hidden; }
.tbld-position-fill { height:100%; border-radius:9999px; background:linear-gradient(90deg,#7c3aed,#db2777); }
.tbld-position-mini { min-width:128px; }
.tbld-position-track { position:relative; height:8px; border-radius:9999px; background:#e2e8f0; overflow:visible; }
.tbld-position-track::before,.tbld-position-track::after { content:""; position:absolute; top:-2px; width:1px; height:12px; background:#cbd5e1; }
.tbld-position-track::before { left:25%; }
.tbld-position-track::after { left:75%; }
.tbld-position-dot { position:absolute; top:50%; width:12px; height:12px; border-radius:9999px; background:#b91c1c; border:2px solid #fff; box-shadow:0 0 0 1px #b91c1c; transform:translate(-50%,-50%); }
.tbld-position-label { display:inline-flex; align-items:center; border:1px solid #ddd6fe; border-radius:9999px; background:#f5f3ff; color:#5b21b6; padding:2px 8px; font-size:11px; font-weight:900; white-space:nowrap; }
@keyframes tbldContextSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .tbld-context-wait-spinner { animation:none; border-top-color:#ddd6fe; background:#7c3aed; } }
@media (max-width:640px) {
  .tbld-context-wait { align-items:flex-start; }
  .tbld-position-bin { grid-template-columns:minmax(105px,1fr) 1.25fr 58px; gap:8px; }
}
