@import"https://fonts.googleapis.com/css2?family=72:wght@400;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sap-bg: #f5f6f7;--sap-surface: #ffffff;--sap-surface-2: #eff1f2;--sap-text: #131e29;--sap-text-label: #556b82;--sap-text-placeholder: #556b82;--sap-brand: #0070f2;--sap-brand-hover: #0064d9;--sap-border: #d9d9d9;--sap-border-field: #556b81;--sap-border-focus: #0032a5;--sap-border-radius-btn: .5rem;--sap-border-radius-field: .25rem;--sap-border-radius-card: .75rem;--sap-border-radius-tile: 1rem;--sap-btn-bg: #ffffff;--sap-btn-border: #bcc3ca;--sap-btn-text: #0064d9;--sap-btn-hover-bg: #eaecee;--sap-btn-em-bg: #0070f2;--sap-btn-em-border: #0070f2;--sap-btn-em-text: #ffffff;--sap-btn-em-hover-bg: #0064d9;--sap-btn-lite-bg: transparent;--sap-btn-lite-border: transparent;--sap-btn-lite-text: #0064d9;--sap-btn-lite-hover-bg: #eaecee;--sap-btn-neg-bg: #ffd6e9;--sap-btn-neg-border: #ffc2de;--sap-btn-neg-text: #aa0808;--sap-btn-neg-hover-bg: #ffbddb;--sap-field-bg: #ffffff;--sap-field-text: #131e29;--sap-field-bg-gradient: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #556b81, #556b81) border-box;--sap-field-hover-gradient: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #0064d9, #0064d9) border-box;--sap-field-shadow: inset 0 0 0 .0625rem rgba(85,107,129,.25);--sap-field-height: 2.25rem;--sap-font: "72", Arial, Helvetica, sans-serif;--sap-font-size: .875rem;--sap-font-size-sm: .75rem;--sap-font-size-lg: 1rem;--sap-font-h1: 3rem;--sap-font-h2: 2rem;--sap-font-h3: 1.5rem;--sap-font-h4: 1.25rem;--sap-font-h5: 1rem;--sap-line-height: 1.5;--sap-element-height: 2.25rem;--sap-error: #aa0808;--sap-error-bg: #ffeaf4;--sap-error-border: #e90b0b;--sap-warning: #b44f00;--sap-warning-bg: #fff8d6;--sap-success: #256f3a;--sap-success-bg: #f5fae5;--sap-success-el: #30914c;--sap-info: #0070f2;--sap-info-bg: #e1f4ff;--sap-neutral: #788fa6;--sap-shadow-0: 0 0 .125rem 0 rgba(34,53,72,.2), 0 .125rem .25rem 0 rgba(34,53,72,.2);--sap-shadow-1: 0 0 0 .0625rem rgba(34,53,72,.48), 0 .125rem .5rem 0 rgba(34,53,72,.3);--sap-shadow-2: 0 0 0 .0625rem rgba(34,53,72,.48), 0 .625rem 1.875rem 0 rgba(34,53,72,.25);--sap-header-shadow: 0 .125rem .125rem 0 rgba(34,53,72,.05), inset 0 -.0625rem 0 0 #d9d9d9;--sap-shell-shadow: 0 .125rem .125rem 0 rgba(34,53,72,.15), inset 0 -.0625rem 0 0 rgba(34,53,72,.2);--sap-ws-connected-bg: #f5fae5;--sap-ws-connected-fg: #256f3a;--sap-ws-connected-bd: #30914c;--sap-ws-disconnected-bg: #fff8d6;--sap-ws-disconnected-fg: #b44f00;--sap-ws-disconnected-bd: #dd6100;--sap-ws-connecting-bg: #e1f4ff;--sap-ws-connecting-fg: #0064d9;--sap-ws-connecting-bd: #0070f2;--sap-ws-error-bg: #ffeaf4;--sap-ws-error-fg: #aa0808;--sap-ws-error-bd: #e90b0b;--sap-ws-reconnecting-bg: #ded3ff;--sap-ws-reconnecting-fg: #5d36ff;--sap-ws-reconnecting-bd: #5d36ff;--sap-infobar-bg: #c2fcee;--sap-infobar-text: #046c7a;--sap-card-selected-bg: #edf6ff;--sap-card-selected-bd: #0064d9;--sap-card-selected-text: #0064d9;--sap-card-hover-bg: #eaecee}[data-theme=dark]{--sap-bg: #1c2228;--sap-surface: #29313a;--sap-surface-2: #354147;--sap-text: #e5eaef;--sap-text-label: #8da0b3;--sap-text-placeholder: #6e899e;--sap-brand: #5b9cf6;--sap-brand-hover: #4fa0f7;--sap-border: #3d464d;--sap-border-field: #5b778e;--sap-border-focus: #7ab0ff;--sap-btn-bg: #29313a;--sap-btn-border: #4f6070;--sap-btn-text: #5b9cf6;--sap-btn-hover-bg: #354147;--sap-btn-em-bg: #5b9cf6;--sap-btn-em-border: #5b9cf6;--sap-btn-em-text: #1c2228;--sap-btn-em-hover-bg: #4fa0f7;--sap-btn-lite-bg: transparent;--sap-btn-lite-border: transparent;--sap-btn-lite-text: #5b9cf6;--sap-btn-lite-hover-bg: #354147;--sap-btn-neg-bg: #4a1a2e;--sap-btn-neg-border: #7a2040;--sap-btn-neg-text: #f8a5b5;--sap-btn-neg-hover-bg: #5a2038;--sap-field-bg: #29313a;--sap-field-text: #e5eaef;--sap-field-bg-gradient: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #5b778e, #5b778e) border-box;--sap-field-hover-gradient: 0 100% / 100% .0625rem no-repeat linear-gradient(0deg, #5b9cf6, #5b9cf6) border-box;--sap-field-shadow: inset 0 0 0 .0625rem rgba(91,119,142,.35);--sap-error: #f87c86;--sap-error-bg: #4a1a1a;--sap-error-border: #f53232;--sap-warning: #f5b84f;--sap-warning-bg: #3d2a10;--sap-success: #5ec481;--sap-success-bg: #14311e;--sap-success-el: #5ec481;--sap-info: #5b9cf6;--sap-info-bg: #152540;--sap-neutral: #8da0b3;--sap-shadow-0: 0 0 .125rem 0 rgba(0,0,0,.4), 0 .125rem .25rem 0 rgba(0,0,0,.4);--sap-shadow-1: 0 0 0 .0625rem rgba(0,0,0,.6), 0 .125rem .5rem 0 rgba(0,0,0,.5);--sap-shadow-2: 0 0 0 .0625rem rgba(0,0,0,.6), 0 .625rem 1.875rem 0 rgba(0,0,0,.45);--sap-header-shadow: 0 .125rem .125rem 0 rgba(0,0,0,.2), inset 0 -.0625rem 0 0 #3d464d;--sap-shell-shadow: 0 .125rem .125rem 0 rgba(0,0,0,.3), inset 0 -.0625rem 0 0 rgba(0,0,0,.3);--sap-ws-connected-bg: #14311e;--sap-ws-connected-fg: #5ec481;--sap-ws-connected-bd: #5ec481;--sap-ws-disconnected-bg: #3d2a10;--sap-ws-disconnected-fg: #f5b84f;--sap-ws-disconnected-bd: #f5b84f;--sap-ws-connecting-bg: #152540;--sap-ws-connecting-fg: #5b9cf6;--sap-ws-connecting-bd: #5b9cf6;--sap-ws-error-bg: #4a1a1a;--sap-ws-error-fg: #f87c86;--sap-ws-error-bd: #f53232;--sap-ws-reconnecting-bg: #281a4a;--sap-ws-reconnecting-fg: #a08cff;--sap-ws-reconnecting-bd: #a08cff;--sap-infobar-bg: #1a3535;--sap-infobar-text: #5ec4c4;--sap-card-selected-bg: #152540;--sap-card-selected-bd: #5b9cf6;--sap-card-selected-text: #5b9cf6;--sap-card-hover-bg: #354147}body{font-family:var(--sap-font);font-size:var(--sap-font-size);line-height:var(--sap-line-height);background:var(--sap-bg);color:var(--sap-text);min-height:100vh;-webkit-font-smoothing:antialiased}.theme-toggle{width:2.25rem;height:2.25rem;border-radius:50%;border:.0625rem solid var(--sap-border);background:var(--sap-btn-bg);color:var(--sap-btn-text);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s;padding:0}.theme-toggle:hover{background:var(--sap-btn-hover-bg);border-color:var(--sap-brand)}.lobby{max-width:480px;margin:3rem auto;padding:2rem;background:var(--sap-surface);border-radius:var(--sap-border-radius-card);box-shadow:var(--sap-shadow-1);border:.0625rem solid var(--sap-border)}.lobby-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.lobby-title-row h1{font-size:var(--sap-font-h3);font-weight:700;color:var(--sap-text);letter-spacing:-.01em}.tabs{display:flex;border-bottom:.0625rem solid var(--sap-border);margin-bottom:1.5rem}.tabs button{flex:1;padding:.75rem 1rem;border:none;border-bottom:.1875rem solid transparent;background:transparent;color:var(--sap-text-label);cursor:pointer;font-size:var(--sap-font-size);font-family:var(--sap-font);font-weight:700;transition:color .15s,border-color .15s;margin-bottom:-.0625rem}.tabs button:hover{color:var(--sap-brand);background:var(--sap-surface-2)}.tabs button.active{border-bottom-color:var(--sap-brand);color:var(--sap-brand)}form{display:flex;flex-direction:column;gap:1.25rem}label{display:flex;flex-direction:column;gap:.375rem;font-size:var(--sap-font-size);color:var(--sap-text-label);font-weight:700}.optional{font-size:var(--sap-font-size-sm);color:var(--sap-neutral);font-weight:400}input,select{height:var(--sap-field-height);padding:0 .75rem;background-attachment:var(--sap-field-bg-gradient);background:var(--sap-field-bg);border:none;border-bottom:.0625rem solid var(--sap-border-field);border-radius:var(--sap-border-radius-field);color:var(--sap-field-text);font-size:var(--sap-font-size);font-family:var(--sap-font);outline:none;box-shadow:var(--sap-field-shadow);transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--sap-text-placeholder)}input:hover,select:hover{border-bottom-color:var(--sap-brand-hover)}input:focus,select:focus{border-bottom-color:var(--sap-brand);box-shadow:var(--sap-field-shadow),0 0 0 .125rem var(--sap-border-focus);outline:none}button[type=submit],.btn-emphasized{height:var(--sap-element-height);padding:0 1rem;background:var(--sap-btn-em-bg);border:.0625rem solid var(--sap-btn-em-border);border-radius:var(--sap-border-radius-btn);color:var(--sap-btn-em-text);font-size:var(--sap-font-size);font-family:var(--sap-font);font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;margin-top:.5rem;display:inline-flex;align-items:center;justify-content:center}button[type=submit]:hover,.btn-emphasized:hover{background:var(--sap-btn-em-hover-bg);border-color:var(--sap-btn-em-hover-bg)}.reveal-btn,.reset-btn{width:100%;height:var(--sap-element-height);padding:0 1rem;background:var(--sap-btn-em-bg);border:.0625rem solid var(--sap-btn-em-border);border-radius:var(--sap-border-radius-btn);color:var(--sap-btn-em-text);font-size:var(--sap-font-size);font-family:var(--sap-font);font-weight:700;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;justify-content:center}.reveal-btn:hover,.reset-btn:hover{background:var(--sap-btn-em-hover-bg);border-color:var(--sap-btn-em-hover-bg)}button:disabled{opacity:.4;cursor:not-allowed}.error{font-size:var(--sap-font-size-sm);color:var(--sap-error);display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.room{display:flex;flex-direction:column;height:100vh}.room-header{display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;height:3rem;background:var(--sap-surface);box-shadow:var(--sap-header-shadow);gap:1rem;flex-shrink:0}.header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.header-left h2{font-size:var(--sap-font-h5);font-weight:700;color:var(--sap-text);white-space:nowrap}.header-left code{font-size:var(--sap-font-size);font-family:"72Mono",lucida console,monospace;background:var(--sap-surface-2);padding:.125rem .5rem;border-radius:.25rem;border:.0625rem solid var(--sap-border);letter-spacing:.06em;color:var(--sap-text-label)}.header-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.ws-status{font-size:var(--sap-font-size-sm);font-weight:700;padding:0 .5rem;height:1.25rem;border-radius:.625rem;display:inline-flex;align-items:center;border:.0625rem solid transparent}.ws-status.connected{background:var(--sap-ws-connected-bg);color:var(--sap-ws-connected-fg);border-color:var(--sap-ws-connected-bd)}.ws-status.disconnected{background:var(--sap-ws-disconnected-bg);color:var(--sap-ws-disconnected-fg);border-color:var(--sap-ws-disconnected-bd)}.ws-status.connecting{background:var(--sap-ws-connecting-bg);color:var(--sap-ws-connecting-fg);border-color:var(--sap-ws-connecting-bd)}.ws-status.error{background:var(--sap-ws-error-bg);color:var(--sap-ws-error-fg);border-color:var(--sap-ws-error-bd)}.ws-status.reconnecting{background:var(--sap-ws-reconnecting-bg);color:var(--sap-ws-reconnecting-fg);border-color:var(--sap-ws-reconnecting-bd)}.copy-link-btn,.leave-btn{height:2rem;padding:0 .75rem;background:var(--sap-btn-bg);border:.0625rem solid var(--sap-btn-border);border-radius:var(--sap-border-radius-btn);color:var(--sap-btn-text);font-size:var(--sap-font-size-sm);font-family:var(--sap-font);font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;display:inline-flex;align-items:center}.copy-link-btn:hover{background:var(--sap-btn-hover-bg);border-color:var(--sap-brand);color:var(--sap-brand)}.leave-btn:hover{background:var(--sap-btn-neg-hover-bg);border-color:var(--sap-btn-neg-border);color:var(--sap-btn-neg-text)}.topic-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:var(--sap-infobar-bg);border-bottom:.0625rem solid var(--sap-border);flex-shrink:0}.topic-label{font-size:var(--sap-font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sap-infobar-text);flex-shrink:0}.topic-text{font-size:var(--sap-font-size);font-weight:700;color:var(--sap-infobar-text)}.room-body{display:flex;flex:1;overflow:hidden}.left-panel{width:17.5rem;background:var(--sap-surface);border-right:.0625rem solid var(--sap-border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.right-panel{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;overflow-y:auto;background:var(--sap-bg)}.participant-list h3{font-size:var(--sap-font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sap-text-label);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:.0625rem solid var(--sap-border)}.participant-list ul{list-style:none;display:flex;flex-direction:column;gap:.125rem}.participant{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;border-radius:.375rem;font-size:var(--sap-font-size);transition:background .1s}.participant:hover{background:var(--sap-surface-2)}.participant.me{background:var(--sap-surface-2);border-left:.1875rem solid var(--sap-brand);padding-left:.4375rem}.participant-name{font-weight:700;color:var(--sap-text)}.badges{display:flex;gap:.25rem;align-items:center}.host-badge{font-size:var(--sap-font-size-sm);font-weight:700;color:#d27700;background:#fff3b8;border-radius:.25rem;padding:0 .375rem;height:1.25rem;display:inline-flex;align-items:center}.you-badge{font-size:var(--sap-font-size-sm);font-weight:700;color:#0064d9;background:#e1f4ff;border-radius:.25rem;padding:0 .375rem;height:1.25rem;display:inline-flex;align-items:center}.vote-status{font-size:var(--sap-font-size-sm);font-weight:700}.vote-status.voted{color:var(--sap-success-el)}.vote-status.waiting{color:var(--sap-neutral)}.new-round-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--sap-surface-2);border-radius:var(--sap-border-radius-card);border:.0625rem solid var(--sap-border)}.new-round-label{font-size:var(--sap-font-size-sm);font-weight:700;color:var(--sap-text-label);display:flex;flex-direction:column;gap:.375rem}.new-round-topic{font-size:var(--sap-font-size-sm)!important;height:2rem!important}.voting-deck{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:640px}.status-text{font-size:var(--sap-font-lg, 1rem);color:var(--sap-text-label);font-weight:700}.voting-card{width:4.5rem;height:6.25rem;background:var(--sap-surface);border:.0625rem solid var(--sap-border);border-radius:var(--sap-border-radius-tile);color:var(--sap-text);font-size:1.375rem;font-weight:700;font-family:var(--sap-font);cursor:pointer;box-shadow:var(--sap-shadow-0);transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}.voting-card:hover:not(:disabled){background:var(--sap-card-hover-bg);border-color:var(--sap-brand);transform:translateY(-.25rem);box-shadow:var(--sap-shadow-1)}.voting-card.selected{background:var(--sap-card-selected-bg);border:.125rem solid var(--sap-card-selected-bd);color:var(--sap-card-selected-text);transform:translateY(-.375rem);box-shadow:var(--sap-shadow-2)}.voting-card:disabled{opacity:.4;cursor:not-allowed;transform:none}.results{width:100%;max-width:640px}.results h3{font-size:var(--sap-font-h4);font-weight:700;color:var(--sap-text);margin-bottom:1.5rem;text-align:center}.stats{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.stat{background:var(--sap-surface);border:.0625rem solid var(--sap-border);border-radius:var(--sap-border-radius-card);padding:.875rem 1.25rem;text-align:center;min-width:5.5rem;box-shadow:var(--sap-shadow-0)}.stat .label{display:block;font-size:var(--sap-font-size-sm);font-weight:700;color:var(--sap-text-label);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.stat .value{display:block;font-size:1.5rem;font-weight:700;color:var(--sap-brand)}.histogram{display:flex;gap:.75rem;align-items:flex-end;justify-content:center;height:12rem;padding:0 .5rem;width:100%}.histogram-col{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;max-width:5rem;height:100%}.histogram-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.histogram-bar{width:100%;background:var(--sap-brand);border-radius:.25rem .25rem 0 0;transition:height .4s cubic-bezier(.34,1.56,.64,1);min-height:0}.histogram-count{font-size:var(--sap-font-size-sm);font-weight:700;color:var(--sap-brand);min-height:1em}.histogram-label{font-size:var(--sap-font-size);font-weight:700;color:var(--sap-text)}.histogram-voters{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-top:.25rem}.voter-name{font-size:.6875rem;color:var(--sap-text-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:4.5rem}.expired-notice{display:flex;align-items:center;justify-content:center;height:100vh;font-size:var(--sap-font-h5);font-weight:700;color:var(--sap-text-label)}
