/* LLM Token Counter — app styles on top of ds.css + tools.css */
.t-crumb{font-size:.85rem;color:var(--ink-3);margin-bottom:10px}
.t-crumb a{color:var(--ink-2);font-weight:700}
.t-answer{padding:22px 24px}
.t-work{padding:clamp(16px,3vw,28px)}
.t-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,36px)}
@media(max-width:860px){.t-grid{grid-template-columns:1fr}}
.t-work label{display:block;margin:14px 0 6px;color:var(--ink)}
.t-work label:first-child{margin-top:0}
.t-work textarea,.t-work select,.t-work input[type="number"],.t-work input[type="search"]{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--card,#fff);border:2px solid var(--line-2);border-radius:6px;padding:10px 12px}
.t-work textarea:focus,.t-work select:focus,.t-work input:focus{outline:3px solid var(--m);outline-offset:1px;border-color:var(--ink)}
.t-work input[type="range"]{width:100%;accent-color:var(--ink);min-height:32px}
.t-field{margin-top:6px}
.t-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.hint{font-size:.85rem;color:var(--ink-3);margin-top:6px}
.t-h3{font-size:1.08rem;margin:18px 0 8px}
.t-h3:first-child{margin-top:0}
.t-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.t-stats>div{border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:color-mix(in srgb,var(--m-soft) 30%,#fff)}
.t-stats dt{font-size:.78rem;font-weight:700;color:var(--ink-3)}
.t-stats dd{margin:2px 0 0;font-size:1.12rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.t-note{font-size:.8rem;font-weight:400;color:var(--ink-3)}
.t-ctx{height:14px;border:2px solid var(--ink);border-radius:999px;background:#fff;overflow:hidden}
.t-ctx span{display:block;height:100%;width:0;background:var(--m);transition:width .25s ease}
.t-ctx-label{font-weight:800;color:var(--ink);margin:16px 0 6px}
.t-chunks{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.9;white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fff;min-height:3.2em}
.t-chunks .c0{background:#ffe9a8}.t-chunks .c1{background:#bfe3ff}.t-chunks .c2{background:#ffc9d6}.t-chunks .c3{background:#c9f0cf}.t-chunks .c4{background:#e3d4ff}
.t-chunks span{border-radius:3px;padding:1px 0}
.t-status{min-height:1.4em;font-weight:700;color:var(--ink)}
.t-notice{border:2px solid var(--ink);border-radius:6px;padding:12px 16px;margin-top:16px;background:#fff}
.t-table-title{margin-top:30px}
.t-controls{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;margin-bottom:6px}
.t-controls label{font-weight:700;color:var(--ink);font-size:.9rem}
.t-controls select,.t-controls input{min-width:180px;margin-top:4px}
.t-tablewrap{overflow-x:auto;border:2px solid var(--line-2);border-radius:8px;background:#fff;margin:12px 0 18px}
.t-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.92rem}
.t-table th,.t-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:top}
.t-table thead th{background:color-mix(in srgb,var(--m-soft) 55%,#fff);color:var(--ink);white-space:nowrap}
.t-table tbody tr:hover{background:color-mix(in srgb,var(--m-soft) 25%,#fff)}
.t-badge{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;font-size:.7rem;font-weight:800;padding:2px 8px;margin-left:6px;vertical-align:middle}
.t-fits-yes{font-weight:800;color:#146c2e}.t-fits-no{font-weight:800;color:#b00020}
.t-steps li{margin-bottom:10px;max-width:72ch}
.t-sources li{margin-bottom:8px;max-width:78ch}
#method p,#method li{max-width:78ch}
#method h3{margin:22px 0 8px}
.t-sample-out{margin-top:10px}
.t-sample-out summary{cursor:pointer;font-weight:700;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.t-ctx span{transition:none}}
