/* tokenization-visualizer — style.css (RT-AI-036). Tokens only. */
#tkv { display: flex; flex-direction: column; gap: 1rem; }
.tkv-row { display: flex; flex-direction: column; gap: .35rem; }
.tkv-toplabel { font-size: .8rem; font-weight: 600; color: var(--rt-ink-soft, #2A3340); }
.tkv-select {
  width: 100%; min-height: 44px; padding: .5rem .65rem; font-size: 16px;
  border: 1px solid var(--rt-border, #d8dce2); border-radius: 8px;
  background: var(--rt-card, #fff); color: var(--rt-ink, #14213d); font-family: inherit;
}
.tkv-select:focus-visible { outline: 2px solid var(--rt-accent, #e8622a); outline-offset: 2px; }
.tkv-input {
  width: 100%; min-height: 150px; padding: .75rem; font-size: 16px; line-height: 1.6;
  border: 1px solid var(--rt-border, #d8dce2); border-radius: 10px; resize: vertical;
  background: var(--rt-card, #fff); color: var(--rt-ink, #14213d); font-family: inherit;
}
.tkv-input:focus-visible { outline: 2px solid var(--rt-accent, #e8622a); outline-offset: 2px; }
.tkv-toolbar { display: flex; justify-content: flex-end; }
.tkv-clear {
  min-height: 34px; padding: .3rem .8rem; border: 1px solid var(--rt-border, #d8dce2);
  border-radius: 999px; background: var(--rt-card, #fff); color: var(--rt-ink-soft, #2A3340);
  font-weight: 600; font-size: .82rem; cursor: pointer;
}
.tkv-clear:hover { border-color: var(--rt-accent, #e8622a); color: var(--rt-accent, #e8622a); }
.tkv-clear:focus-visible { outline: 2px solid var(--rt-accent, #e8622a); outline-offset: 2px; }

.tkv-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
.tkv-stat {
  display: flex; flex-direction: column; gap: .15rem; padding: .65rem .55rem;
  border: 1px solid var(--rt-border, #d8dce2); border-radius: 10px; background: var(--rt-card, #fff); text-align: center;
}
.tkv-stat--hero { background: var(--rt-result-bg, #14213d); border-color: var(--rt-result-bg, #14213d); }
.tkv-stat-val { font-size: 1.35rem; font-weight: 700; color: var(--rt-ink, #14213d); line-height: 1.1; }
.tkv-stat--hero .tkv-stat-val { color: var(--rt-result-ink, #fff); }
.tkv-stat-label { font-size: .72rem; font-weight: 600; color: var(--rt-ink-soft, #2A3340); }
.tkv-stat--hero .tkv-stat-label { color: var(--rt-result-ink, #fff); }

/* Rendered token chips */
.tkv-chips {
  display: flex; flex-wrap: wrap; gap: 3px; align-content: flex-start;
  min-height: 120px; padding: .75rem; border: 1px solid var(--rt-border, #d8dce2);
  border-radius: 10px; background: var(--rt-bg, #f7f6f3);
}
.tkv-empty { margin: 0; font-size: .85rem; color: var(--rt-ink-mute, #6b6760); }
.tkv-chip {
  display: inline-block; padding: 2px 5px; border-radius: 5px;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: .82rem; line-height: 1.5; color: #1a1814;
  white-space: pre-wrap; word-break: break-all;
}
/* ~6 subtle, accessible chip tints — dark text on light backgrounds */
.tkv-c0 { background: #ffe2d4; }
.tkv-c1 { background: #d6ecff; }
.tkv-c2 { background: #d9f5e1; }
.tkv-c3 { background: #fff2cc; }
.tkv-c4 { background: #e8ddff; }
.tkv-c5 { background: #ffd9e6; }
.tkv-more {
  display: inline-block; padding: 2px 8px; border-radius: 999px;
  background: var(--rt-card, #fff); border: 1px dashed var(--rt-border, #d8dce2);
  font-size: .78rem; font-weight: 600; color: var(--rt-ink-soft, #2A3340);
}

.tkv-status { font-size: .75rem; color: var(--rt-ink-mute, #6b6760); min-height: 1.1em; }
.tkv-fineprint { font-size: .74rem; color: var(--rt-ink-mute, #6b6760); margin: 0; }
