.v4 .py-demo{font-size:15px;line-height:1.45}.v4 .py-demo button{font:inherit;color:inherit;cursor:pointer;text-align:left}.v4 .py-feedbar{padding:14px 20px;border-bottom:1px solid var(--line);background:#fafbfc;display:flex;flex-direction:column;gap:10px}.v4 .py-feedhead{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap;min-height:40px}.v4 .py-feedlead{gap:4px 12px}.v4 .py-feedlead,.v4 .py-live{display:inline-flex;align-items:center;min-width:0}.v4 .py-live{gap:8px;color:var(--pa-ink)}.v4 .py-dot{width:8px;height:8px;border-radius:50%;background:#22a06b;flex:none}.v4 .py-live[data-paused] .py-dot{animation:none;background:var(--line-2)}.v4 .py-pause{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:none;color:var(--label);font-size:10px;letter-spacing:0;transition:border-color .2s,color .2s}.v4 .py-pause:hover{border-color:var(--line);color:var(--text)}.v4 .py-pause[aria-pressed=true]{color:var(--pa-ink);border-color:var(--pa-soft)}.v4 .py-pipe{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--muted)}.v4 .py-pipe b{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.v4 .py-pipe b.acc{color:var(--pa-ink)}.v4 .py-feed{list-style:none;margin:0;padding:0 0 2px;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.v4 .py-feed>li{flex:0 0 248px;min-width:0;display:flex}.v4 .py-feed>li.new{animation:v4-py-in .5s ease both}.v4 .py-post{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:11px 12px;border-radius:12px;min-height:44px;background:#fff;border:1px solid var(--line);transition:background .3s,border-color .3s}.v4 .py-post:hover{border-color:var(--pa-soft)}.v4 .py-post[aria-pressed=true]{background:#fffbef;border-color:var(--pa)}.v4 .py-post-top{display:flex;justify-content:space-between;gap:8px;width:100%;font-size:10px;letter-spacing:.12em;color:var(--label)}.v4 .py-post-top .now{color:#167a52}.v4 .py-post>b{font-size:14px;font-weight:600;line-height:1.3}.v4 .py-post-co{font-size:12.5px;color:var(--muted)}.v4 .py-post-st{font-size:12px;font-weight:600;color:var(--pa-ink)}@keyframes v4-py-in{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}.v4 .py-panes{display:flex;flex-wrap:wrap;overflow:hidden}.v4 .py-pane{padding:20px;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;border-left:1px solid var(--line);border-top:1px solid var(--line);margin:-1px 0 0 -1px}.v4 .py-weights{flex:1 1 260px;gap:8px}.v4 .py-list{flex:999 1 380px;gap:8px}.v4 .py-score{flex:1 1 320px;gap:12px;background:#fffdf6}.v4 .py-demo .pv-label.acc{color:var(--pa-ink)}.v4 .py-w{display:flex;flex-direction:column;font-size:14px;font-weight:600}.v4 .py-w-row{display:flex;justify-content:space-between;gap:8px}.v4 .py-w-v{font-family:var(--mono);font-weight:500;color:var(--pa-ink);font-variant-numeric:tabular-nums}.v4 .py-w input[type=range]{accent-color:var(--pa-ink);width:100%;height:40px;margin:0;cursor:pointer}.v4 .py-note{margin:4px 0 0;font-size:13px;color:var(--label)}.v4 .py-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:0 4px 6px}.v4 .py-list-head .py-role{text-transform:none;letter-spacing:normal}.v4 .py-list-head .py-fit{flex:none}.v4 .py-list ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.v4 .py-list li{position:relative}.v4 .py-cand{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:12px;min-height:64px;background:#fff;border:1px solid var(--line);transition:background .2s,border-color .2s}.v4 .py-cand:hover{border-color:var(--pa-soft)}.v4 .py-cand[aria-pressed=true]{background:#fffbef;border-color:var(--pa)}.v4 .py-ring{position:relative;width:50px;height:50px;flex:none;display:flex;align-items:center;justify-content:center}.v4 .py-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.v4 .py-ring circle{fill:none;stroke-width:5}.v4 .py-ring .trk{stroke:var(--grey-2)}.v4 .py-ring .val{stroke:var(--pa);transition:stroke-dashoffset .4s ease}.v4 .py-ring>span{position:relative;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.v4 .py-cand-txt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0}.v4 .py-cand-txt b{font-size:15px;font-weight:600}.v4 .py-cand-txt span{font-size:12.5px;color:var(--label)}.v4 .py-flag{border-radius:6px;padding:4px 8px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--pa-tint);color:#6e5208}.v4 .py-flag.ok{background:#e7f5ee;color:#0e5a3b}.v4 .py-score-h{font-size:19px;font-weight:600;line-height:1.3}.v4 .py-dims{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content minmax(40px,1fr) 28px;align-items:center;gap:7px 10px;font-size:13px}.v4 .py-dims li{display:contents}.v4 .py-dims .lb{color:var(--muted)}.v4 .py-dims .bar{height:6px;border-radius:3px;background:#f1ead3;overflow:hidden}.v4 .py-dims .bar span{display:block;height:6px;border-radius:3px;background:#c79a1e;width:var(--w);transition:width .35s ease}.v4 .py-dims .v{text-align:right;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums}.v4 .py-sg{display:flex;flex-direction:column;gap:6px;font-size:13.5px}.v4 .py-sg>span{display:flex;gap:8px}.v4 .py-sg b{font-weight:600;flex:none}.v4 .py-sg .plus{color:#167a52}.v4 .py-sg .minus{color:#c2412d}.v4 .py-demo .py-short{margin-top:auto;border-radius:9px;padding:13px 16px;font-size:14px;font-weight:600;min-height:46px;text-align:center;background:var(--text);color:#fff;border:1px solid var(--text);transition:background .2s,color .2s,border-color .2s}.v4 .py-demo .py-short.on{background:#e7f5ee;color:#0e5a3b;border-color:#bfe3cf}@media (max-width:640px){.v4 .py-feedbar{padding:12px 14px}.v4 .py-pane{padding:16px 14px}.v4 .py-feedlead{flex:1 1 100%;justify-content:space-between;flex-wrap:nowrap}.v4 .py-pause{flex:none}.v4 .py-pipe{margin-left:0;gap:2px 10px;font-size:12.5px}.v4 .py-feed>li{flex-basis:232px}}@media (prefers-reduced-motion:reduce){.v4 .py-feed>li.new{animation:none}.v4 .py-cand,.v4 .py-demo .py-short,.v4 .py-dims .bar span,.v4 .py-post,.v4 .py-ring .val{transition:none}}