html,body{background:#0a0a0f;margin:0}.px-root{--px-bg:#0a0a0f;--px-card:#15151d;--px-line:#262633;--px-text:#ececf1;--px-dim:#9a9aab;--px-accent:#7c5cff;--px-ok:#3ecf8e;--px-warn:#f5a524;--px-bad:#f46a6a;background:var(--px-bg);min-height:100dvh;color:var(--px-text);padding:16px 16px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;max-width:640px;margin:0 auto;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.px-root *{box-sizing:border-box}.px-h1{margin:4px 0 16px;font-size:22px;font-weight:700}.px-card{background:var(--px-card);border:1px solid var(--px-line);border-radius:14px;margin-bottom:14px;padding:14px}.px-row{gap:8px;display:flex}.px-input{border:1px solid var(--px-line);background:var(--px-bg);min-width:0;color:var(--px-text);border-radius:10px;flex:1;padding:12px;font-size:17px}.px-btn{background:var(--px-accent);color:#fff;border:0;border-radius:10px;padding:12px 18px;font-size:16px;font-weight:600}.px-btn:disabled{opacity:.5}.px-btn.ghost{border:1px solid var(--px-line);color:var(--px-text);background:0 0;padding:8px 12px;font-size:14px}.px-note{color:var(--px-dim);margin-top:8px;font-size:13px}.px-err{color:var(--px-bad);margin-top:8px;font-size:14px}.px-list{margin:0;padding:0;list-style:none}.px-item{text-align:left;border:0;border-top:1px solid var(--px-line);width:100%;color:inherit;font:inherit;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:12px 2px;display:flex}.px-item:first-child{border-top:0}.px-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.px-sub{color:var(--px-dim);font-size:13px}.px-chip{border:1px solid var(--px-line);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:12px}.px-chip.ok{color:var(--px-ok);border-color:var(--px-ok)}.px-chip.warn{color:var(--px-warn);border-color:var(--px-warn)}.px-chip.bad{color:var(--px-bad);border-color:var(--px-bad)}.px-audio{width:100%;margin:8px 0 4px}.px-turn{max-width:88%;margin:10px 0}.px-turn.rep{text-align:right;margin-left:auto}.px-who{color:var(--px-dim);margin-bottom:2px;font-size:12px}.px-bubble{text-align:left;background:var(--px-bg);border:1px solid var(--px-line);white-space:pre-wrap;border-radius:14px;padding:9px 12px;display:inline-block}.px-turn.rep .px-bubble{background:#221d3d;border-color:#3a2f72}
