.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}
.hd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.ipa{font-size:21px}
.ty{font-size:11px;color:var(--mut);border:1px solid var(--line);border-radius:99px;padding:1px 7px}
.b{font-size:11px;border-radius:99px;padding:1px 7px}
.mo{background:#fce7f3;color:#9d174d}.lip{background:#e0e7ff;color:#3730a3}.t1{background:#fee2e2;color:#991b1b}
.nas{background:#ede9fe;color:#5b21b6}
.b.tax{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}
.rel{background:#fff7ed;color:#9a3412}
.pans{display:grid;grid-template-columns:1.45fr 1fr;gap:6px;align-items:center}
.pans.lipfirst{grid-template-columns:2.3fr 1fr}
.pan{position:relative;background:#fff;border-radius:10px;overflow:hidden}
.pan svg{width:100%;height:auto;display:block}
.plab{position:absolute;left:6px;top:4px;font-size:10px;color:#a8998e}
.wh{position:absolute;left:0;right:0;bottom:0;background:rgba(255,251,247,.94);
 color:#9d174d;font-size:10.5px;line-height:1.35;padding:3px 6px;text-align:center;
 opacity:0;transition:opacity .18s;pointer-events:none}
.wh.on{opacity:1}
.lipcue{margin:6px 0 0;font-size:11px;color:#4f46e5;background:#eef2ff;
 border-radius:7px;padding:3px 8px;line-height:1.45}
.pan svg{--teeth:#FFFDF8;--teeth-line:#D9CFC4}
.flow{stroke:#3B82F6;stroke-width:2.4;stroke-linecap:round;fill:none;opacity:.85}
.flow.nasal{stroke:#8B5CF6}
.flow.run{stroke-dasharray:5 4;animation:flowdash .5s linear infinite}
@keyframes flowdash{to{stroke-dashoffset:-9}}
.vb{font-size:11px;border-radius:99px;padding:1px 7px}
.vb.on{background:#dcfce7;color:#166534}.vb.off{background:#f1f5f9;color:#64748b}
.ctl{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.ctl button{font:inherit;font-size:12px;cursor:pointer;border:1px solid var(--line);
 background:#fff;border-radius:99px;padding:4px 11px}
.ctl button:hover{background:#fdf2f8;border-color:#f9a8d4}
.ctl button[disabled]{opacity:.4;cursor:not-allowed}
.ctl button.pdemo{background:#fef3c7;border-color:#fcd34d;font-weight:600}
.ctl button.vid{background:#e0e7ff;border-color:#c7d2fe}
.vwrap{display:none;margin-top:8px}
.vwrap.live{display:block;position:relative}       
.vwrap video{width:100%;border-radius:10px;background:#000;cursor:pointer;display:block}
.vtabs{display:flex;gap:6px;margin:2px 0 7px}
.vtab{font:inherit;font-size:12px;cursor:pointer;border:1px solid #c7d2fe;background:#fff;
 color:#4338ca;border-radius:99px;padding:3px 12px}
.vtab.on{background:#4338ca;color:#fff;border-color:#4338ca}
[data-vview="video"] .pans{display:none}
[data-vview="video"] .lipcue{display:none}
[data-vview="anim"] .vwrap.live{display:none}
.vhint{position:absolute;left:8px;bottom:8px;font-size:11px;color:#fff;
 background:rgba(0,0,0,.45);border-radius:99px;padding:1px 8px;pointer-events:none}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;
 font-size:26px;display:flex;align-items:center;justify-content:center;
 pointer-events:none;text-indent:4px}
.vwrap.vplaying .vplay{display:none}
.key{margin:8px 0 0;font-size:13px;font-weight:600}
.chk{margin:2px 0 0;font-size:12px;color:#4b5563}
.ph{margin:6px 0 0;min-height:17px;font-size:12px;color:#9a3412;font-weight:600}
.vv path{stroke:#16A34A;stroke-width:1.8;stroke-linecap:round;fill:none}
.vv.run{animation:vvpulse .45s ease-in-out infinite alternate}
@keyframes vvpulse{from{opacity:.45}to{opacity:1}}
.glbar{display:flex;align-items:center;gap:9px;margin-top:7px;padding:3px 9px 3px 5px;
 border:1px solid var(--line);border-radius:9px;background:#fcfbfa}
.glw{width:62px;height:34px;flex:0 0 62px;display:block}
.glw .trh{fill:#FFF7F4;stroke:#E4D9D0;stroke-width:1.3}
.glw .fold{fill:#F0A6B0;stroke:#C2707C;stroke-width:1;stroke-linejoin:round}
.glw .gair{stroke:#3B82F6;stroke-width:2;fill:none;stroke-linecap:round;opacity:0}
.glw .rip{stroke:#16A34A;stroke-width:1.6;fill:none;stroke-linecap:round;opacity:0}
.glw.open .fL{transform:translateX(-4px)}
.glw.open .fR{transform:translateX(4px)}
.glw.open .gair{opacity:.9}
.glw.open.run .gair{stroke-dasharray:4 3.5;animation:flowdash .5s linear infinite}
.glw.buzz .fL{animation:vfL .085s ease-in-out infinite alternate}
.glw.buzz .fR{animation:vfR .085s ease-in-out infinite alternate}
.glw.buzz .rip{opacity:1;animation:vvpulse .26s ease-in-out infinite alternate}
@keyframes vfL{from{transform:translateX(-1.7px)}to{transform:translateX(1.2px)}}
@keyframes vfR{from{transform:translateX(1.7px)}to{transform:translateX(-1.2px)}}
.glcap{font-size:11px;line-height:1.45}
.glcap.on{color:#166534}.glcap.off{color:#64748b}
.teach{margin:7px 0 2px}
.trow{margin:0 0 3px;font-size:12.5px;line-height:1.6}
.tlab{display:inline-block;min-width:34px;text-align:center;font-size:11px;font-weight:700;
 border-radius:4px;padding:1px 5px;margin-right:6px;vertical-align:1px}
.tk .tlab{background:#fef3c7;color:#92400e}
.th2 .tlab{background:#e0e7ff;color:#3730a3}
.ti .tlab{background:#fae8ff;color:#86198f}
.tc .tlab{background:#dcfce7;color:#166534}
.tt .tlab{background:#fee2e2;color:#991b1b}
.tx .tlab{background:#ffedd5;color:#9a3412}
.tr2 .tlab{background:#e0f2fe;color:#075985}
.tk{font-weight:600}
.tt,.tx,.tr2{color:#4b5563}
.abpair{font:inherit;font-size:12px;cursor:pointer;border:1px solid #fcd34d;background:#fffbeb;
 border-radius:99px;padding:2px 10px;display:inline-flex;align-items:center;gap:5px}
.abpair:hover{background:#fef3c7}
.abpair::before{content:'▶';font-size:10px;color:#b45309;margin-right:1px}
.pw{display:inline-flex;align-items:baseline;gap:3px}
.pw i{font-style:normal;font-size:10px;color:#9a3412;opacity:.85}
.pw.own{font-weight:700;color:#9a3412}
.pw.own i{opacity:1}
.pvs{color:#c2a06a;font-size:11px}
.pnote{font-size:11px;color:#9ca3af;margin-left:7px}
.tpair .tlab{background:#ffedd5;color:#9a3412}
.more{margin-top:6px}
.more summary{font-size:11px;color:#9ca3af;cursor:pointer}
.mk{margin:4px 0 2px;font-size:12px;color:#57534e}
.me{margin:0;font-size:12px;color:#b91c1c}
.filters{position:sticky;top:0;z-index:5;background:var(--bg,#faf7f4);padding:8px 0 10px;
 margin:0 0 12px;border-bottom:1px solid var(--line,#ece4dd)}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 5px}
.flab{font-size:12px;color:var(--mut,#7a6b62);min-width:52px}
.fchip{font:inherit;font-size:12px;cursor:pointer;border:1px solid var(--line,#ece4dd);
 background:#fff;border-radius:99px;padding:2px 10px;color:#57534e}
.fchip:hover{background:#fdf2f8;border-color:#f9a8d4}
.fchip.on{background:#9d174d;border-color:#9d174d;color:#fff;font-weight:600}
.fchip.clr{background:#f8fafc}
.fcount{font-size:12px;color:var(--mut,#7a6b62);margin-left:8px}