:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{background:#f3f3f3;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.top-bar{color:#fff;background:#464775;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 2px 8px #0000001a}.top-bar-left{align-items:center;gap:12px;display:flex}.meeting-indicator{letter-spacing:.5px;background:#e74856;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600}.meeting-title{opacity:.95;font-size:14px;font-weight:500}.top-bar-right{opacity:.9;align-items:center;gap:8px;font-size:13px;display:flex}.participant-count{background:#ffffff1a;border-radius:12px;padding:4px 10px;font-size:12px}.join-form{background:#fff;border-radius:8px;width:100%;max-width:400px;margin:100px auto 0;padding:40px;box-shadow:0 2px 16px #0000001a}.join-form h1{text-align:center;color:#464775;margin-bottom:8px;font-size:28px;font-weight:600}.join-form .subtitle{text-align:center;color:#616161;margin-top:0;margin-bottom:32px;font-size:14px;font-weight:400}.join-form input{box-sizing:border-box;border:1px solid #d1d1d1;border-radius:4px;width:100%;margin-bottom:16px;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.join-form input:focus{border-color:#464775;outline:none;box-shadow:0 0 0 1px #464775}.join-form button{color:#fff;cursor:pointer;background:#6264a7;border:none;border-radius:4px;width:100%;padding:12px;font-family:inherit;font-size:15px;font-weight:600;transition:background .2s}.join-form button:hover:not(:disabled){background:#464775}.join-form button:disabled{cursor:not-allowed;background:#d1d1d1}.join-form .hint{text-align:center;color:#666;margin-top:15px;font-size:14px}.header{color:#fff;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin-bottom:20px;padding:0 20px;display:flex}.header h1{margin:0;display:none}.room-info{gap:20px;font-size:14px;display:none}.winner-banner{color:#333;text-align:center;background:gold;border-radius:4px;margin:0 20px 20px;padding:12px 24px;font-size:16px;font-weight:600;animation:1s infinite pulse;box-shadow:0 2px 8px #00000026}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-container{justify-content:center;align-items:flex-start;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding:20px;display:flex}.bingo-board{background:#fff;border-radius:8px;flex-shrink:0;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);gap:6px;width:650px;height:650px;padding:16px;display:grid;box-shadow:0 2px 8px #0000001a}.bingo-cell{aspect-ratio:1;color:#242424;cursor:pointer;text-align:center;background:#fff;border:1px solid #e1e1e1;border-radius:4px;justify-content:center;align-items:center;min-width:0;min-height:0;padding:8px;font-size:14px;font-weight:500;line-height:1.3;transition:all .15s;display:flex;overflow:hidden}.bingo-cell:hover:not(:disabled){background:#fafafa;border-color:#6264a7;transform:translateY(-2px);box-shadow:0 2px 6px #00000014}.bingo-cell.marked{color:#fff;background:#6264a7;border-color:#464775;font-weight:600}.bingo-cell.winning{color:#333;background:gold;border-color:#ffbf00;font-weight:600;animation:1s infinite bingo-pulse}@keyframes bingo-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ffd700b3}50%{transform:scale(1.05);box-shadow:0 0 10px 5px #ffd7004d}}.bingo-cell.free-space{color:#464775;cursor:default;background:#e8e8f5;border-color:#d1d1e8;font-size:16px;font-weight:600}.bingo-cell.free-space.winning{background:gold;border-color:#ffbf00}.bingo-cell.free-space:hover{box-shadow:none;border-color:#d1d1e8;transform:none}.sidebar{flex-direction:column;flex-shrink:0;gap:12px;width:300px;height:650px;display:flex}.players{background:#fff;border-radius:8px;flex-direction:column;flex:1;padding:16px;display:flex;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.players h3{color:#242424;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e1e1e1;flex-shrink:0;margin-top:0;margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600}.players-list{flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.player-item{border-bottom:1px solid #f3f3f3;padding-bottom:10px}.player-item:last-child{border-bottom:none;padding-bottom:0}.player-info{color:#242424;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.player-info .winner{color:gold;font-weight:700}.mini-board{background:#e0e0e0;border-radius:4px;grid-template-columns:repeat(5,1fr);gap:2px;width:100px;padding:3px;display:grid}.mini-cell{aspect-ratio:1;background:#fff;border-radius:1px;transition:background .2s}.mini-cell.marked{background:#6264a7}.mini-cell.winning{background:gold}.mini-cell.free-space{background:#e8e8f5}.mini-cell.free-space.winning{background:gold}.reset-button{color:#fff;cursor:pointer;background:#e74856;border:none;border-radius:4px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s;box-shadow:0 2px 8px #0000001a}.reset-button:hover{background:#d13438}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:8px;width:90%;max-width:440px;padding:28px;animation:.2s slideUp;box-shadow:0 8px 32px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h2{color:#242424;margin:0 0 12px;font-size:20px;font-weight:600}.modal p{color:#616161;margin:0 0 20px;font-size:14px;line-height:1.5}.modal input{box-sizing:border-box;border:1px solid #d1d1d1;border-radius:4px;width:100%;margin-bottom:24px;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.modal input:focus{border-color:#464775;outline:none;box-shadow:0 0 0 1px #464775}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-button{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.modal-button.cancel{color:#242424;background:#f3f3f3}.modal-button.cancel:hover{background:#e1e1e1}.modal-button.confirm{color:#fff;background:#6264a7}.modal-button.confirm:hover{background:#464775}@media (width<=1024px){.game-container{flex-direction:column;align-items:center}.bingo-board{width:100%;max-width:650px;height:auto}.sidebar{width:100%;max-width:650px}.bingo-cell{padding:6px;font-size:13px}}@media (width>=1400px){.bingo-cell{padding:12px;font-size:18px}.bingo-cell.free-space{font-size:20px}}
