.tp-tabs{background:var(--color-bg-alt);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.tp-tab{color:var(--color-ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:.95rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.tp-tab b{width:22px;height:22px;color:var(--color-primary-dark);background:#fff;border-radius:50%;place-items:center;font-size:.78rem;display:grid}.tp-tab[aria-selected=true]{background:var(--color-primary);color:#fff}.tp-tab:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.tp-speed button{color:var(--color-ink);cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:999px;padding:3px 10px;font-size:.85rem}.tp-speed button[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tp-field{flex-direction:column;gap:4px;display:flex}.tp-field span{color:var(--color-ink);font-size:.85rem;font-weight:600}.tp-field input{background:#fff;border:1.5px solid #0000001f;border-radius:12px;padding:8px 12px;font-size:1rem}.tp-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.tp-field.is-right input{background:#ecfaf3;border-color:#1f9d72}.tp-field.is-wrong input{background:#fff1f1;border-color:#d14b4b}.tp-field em{color:#9b2c2c;font-size:.85rem;font-style:normal}.tp-btn{border:1.5px solid var(--color-primary);color:var(--color-primary-dark);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-weight:600;transition:background .15s;display:inline-flex}.tp-btn:hover{background:var(--color-primary-light)}.tp-btn--primary{background:var(--color-primary);color:#fff}.tp-btn--primary:hover{background:var(--color-primary-dark)}.tp-btn:focus-visible,.tp-opt:focus-visible,.tp-q-opt:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.tp-role-btn[aria-pressed=true]{background:var(--color-primary);color:#fff}.tp-q-opt{text-align:left;width:100%;color:var(--color-ink);cursor:pointer;background:#fff;border:1.5px solid #0000001a;border-radius:12px;padding:10px 14px;transition:border-color .15s,background .15s;display:block}.tp-q-opt:hover{border-color:var(--color-primary)}.tp-q-opt.is-right{background:#ecfaf3;border-color:#1f9d72}.tp-q-opt.is-wrong{color:#7a2b2b;background:#fff1f1;border-color:#d14b4b;text-decoration:line-through}.tp-q[data-done="1"] .tp-q-opt:not(.is-right){opacity:.7}.tp-chat{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tp-msg{border-radius:16px;flex-direction:column;gap:2px;max-width:85%;padding:10px 40px 10px 14px;line-height:1.45;animation:.2s ease-out tp-in;display:flex;position:relative}.tp-msg--other{background:var(--color-bg-alt);border-bottom-left-radius:4px;align-self:flex-start}.tp-msg--du{background:var(--color-primary-light);border-bottom-right-radius:4px;align-self:flex-end}.tp-msg.is-after-wrong{box-shadow:inset 0 0 0 2px #e0a31e}.tp-msg-who{letter-spacing:.03em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.75rem;font-weight:700}.tp-replay{width:26px;height:26px;color:var(--color-primary-dark);cursor:pointer;background:#fff;border:0;border-radius:50%;font-size:.7rem;position:absolute;top:8px;right:8px}.tp-choices{flex-direction:column;gap:8px;margin-top:16px;display:flex}.tp-choices .tp-btn{align-self:flex-start}.tp-choices-q{color:var(--color-ink);margin:0;font-weight:600}.tp-opt{text-align:left;color:var(--color-ink);cursor:pointer;background:#fff;border:1.5px solid #0000001f;border-radius:14px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.tp-opt:hover{border-color:var(--color-primary)}.tp-opt.is-right{background:#ecfaf3;border-color:#1f9d72}.tp-opt.is-wrong{cursor:default;background:#fff1f1;border-color:#d14b4b}.tp-opt-why{color:#7a2b2b;font-size:.85rem}@keyframes tp-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tp-msg{animation:none}.tp-tab,.tp-btn,.tp-q-opt{transition:none}}
