.socket-demo{--flow-space:0;--demo-border:color-mix(in srgb, var(--text) 25%, var(--light-bg));--demo-wash:color-mix(in srgb, var(--accent) 7%, var(--light-bg));color:var(--text);font-variant-numeric:tabular-nums;margin-block:2em;font-size:15px;line-height:1.5;display:block}.socket-demo figure{border:1px solid var(--demo-border);border-radius:var(--radius-md);background:var(--light-bg);margin:0;padding:clamp(16px,3vw,24px)}.socket-demo figcaption{text-wrap:balance;font-size:clamp(20px,3vw,24px);font-weight:600;line-height:1.25}.socket-demo .demo-intro{margin:.5em 0 1.25em;font-size:15px}.socket-demo fieldset{border:0;min-width:0;margin:0;padding:0}.socket-demo button{border:1px solid var(--text-light);border-radius:var(--radius-md);background:var(--light-bg);min-height:44px;color:var(--text);font:inherit;cursor:pointer;padding:8px 12px;font-size:14px;transition:background-color .16s ease-out,border-color .16s ease-out}.socket-demo button:hover:not(:disabled){border-color:var(--accent);background:var(--demo-wash)}.socket-demo button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.socket-demo button:disabled,.socket-demo fieldset:disabled button{cursor:not-allowed;opacity:.55}.socket-demo .demo-status{min-height:4.5em;margin:16px 0;font-size:15px}.socket-demo .demo-label{color:var(--text-light);font-size:var(--font-size-label);margin-bottom:6px;display:block}.socket-demo .demo-code{color:var(--text);font-family:var(--code-font);font-size:var(--font-size-label);white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;margin:0;padding:0;line-height:1.7}.socket-demo .demo-caption{color:var(--text-light);font-size:var(--font-size-label);margin:12px 0 0}.socket-demo .poll-clients{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.socket-demo .poll-client{border-top:1px solid var(--demo-border);min-width:0;padding-top:12px}.socket-demo .client-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;margin-bottom:12px;display:flex}.socket-demo .client-heading strong{font-size:20px;font-weight:600}.socket-demo .connection-state{color:var(--text-light);font-size:var(--font-size-meta)}.socket-demo .connection-state:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.socket-demo [data-connected=false] .connection-state:before{outline:1px solid var(--text-light);background:0 0}.socket-demo .vote-controls{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.socket-demo .vote-controls button{white-space:nowrap;flex:1;padding-inline:8px}.socket-demo .client-receipt{margin:12px 0 8px;font-size:14px}.socket-demo .client-receipt .demo-label{margin-bottom:2px}.socket-demo .connection-toggle{font-size:var(--font-size-label);padding-inline:8px}.socket-demo .poll-wires{width:100%;height:48px;display:block;overflow:visible}.socket-demo .poll-wires path{fill:none;stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke}.socket-demo .poll-wires [data-connected=false]{stroke:var(--text-light);stroke-dasharray:3 5}.socket-demo .poll-wires .wire-packet{stroke-width:3px;stroke-linecap:round;stroke-dasharray:10 100;opacity:0}.socket-demo .shared-actor{background:var(--demo-wash);border:1px solid var(--demo-border);border-radius:var(--radius-sm);padding:16px}.socket-demo .actor-heading{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.socket-demo .actor-heading>span{color:var(--text-light);font-size:14px}.socket-demo .poll-tallies{grid-template-columns:1fr 1fr;gap:24px;margin-top:12px;display:grid}.socket-demo .poll-tally{grid-template-columns:1fr auto;align-items:baseline;gap:4px 8px;display:grid}.socket-demo .poll-tally strong{color:var(--accent);font-size:24px;font-weight:400}.socket-demo .tally-track{background:var(--demo-border);grid-column:1/-1;height:4px}.socket-demo .tally-track span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.socket-demo .poll-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.socket-demo .poll-footer .demo-caption{flex:180px;margin:0}.socket-demo .demo-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=540px){.socket-demo .poll-clients,.socket-demo .poll-tallies{gap:16px}.socket-demo .poll-clients{grid-template-columns:1fr}.socket-demo .poll-wires{display:none}.socket-demo .shared-actor{margin-top:16px}}@media (prefers-reduced-motion:no-preference){.socket-demo .tally-track span{transition:transform .35s cubic-bezier(.16,1,.3,1)}}@media (prefers-reduced-motion:reduce){.socket-demo *,.socket-demo :before,.socket-demo :after{transition:none!important;animation:none!important}}
