:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media(max-width:768px){html{font-size:18px}button{min-height:44px;padding:.65em 1em;font-size:1.05rem}}#root{min-height:100vh;display:flex;flex-direction:column}.home{margin:auto;padding:2rem;text-align:center;max-width:480px}.home h1{margin-bottom:.5rem}.tagline{color:var(--color-text-muted, #888);margin-bottom:2rem}.nav-links{display:flex;flex-direction:column;gap:1rem;align-items:center}.enter-form{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.enter-form input{padding:.5em .8em;font-size:1em;border-radius:6px;border:1px solid #444;min-width:180px}.hint{margin-top:2rem;font-size:.9em;color:var(--color-text-muted, #888)}.room{display:flex;flex-direction:column;flex:1;min-height:0}.room-header{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--header-bg, #1a1a1a);border-bottom:1px solid #333;font-size:.85rem;position:relative}.room-header .status[data-status=connected],.room-header .status-server[data-status=connected]{color:#4ade80}.room-header .status[data-status=connecting],.room-header .status[data-status=reconnecting],.room-header .status-server[data-status=connecting],.room-header .status-server[data-status=reconnecting]{color:#fbbf24}.room-header .status[data-status=disconnected],.room-header .status-server[data-status=disconnected]{color:#f87171}.room-header .status-sync{font-size:.9em;padding:0;white-space:nowrap;background:none;border:none}.room-header .status-sync--not-ready{color:var(--color-text-muted, #9ca3af)}.room-header .status-sync--partial{color:#fbbf24}.room-header .status-sync--ready,.room-header .status-sync--syncing{color:#4ade80}.room-id{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:.9em}.room-header button{padding:.35em .5em;font-size:.85em;background:none;border:none;color:inherit;opacity:.9;border-radius:0}.room-header button:hover{opacity:1;text-decoration:underline}.room-header button:focus,.room-header button:focus-visible{outline:1px dotted currentColor;outline-offset:2px}.room-header-row1,.room-header-row2{display:contents}.room-header .status-server{margin-left:.5rem;margin-right:.5rem}.nodes-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-left:auto}.node-pill{padding:0;font-size:.8em;cursor:default;white-space:nowrap;background:none;border:none}.node-pill--connected{color:#4ade80}.node-pill--connecting{color:#fbbf24}.node-pill--failed{color:#9ca3af}.node-pill--ghost{color:#60a5fa}.node-pill--empty{color:var(--color-text-muted, #888)}.editor{flex:1;min-height:200px;padding:1rem;font-size:1rem;font-family:inherit;resize:none;border:none;background:var(--editor-bg, #242424);color:inherit}.editor:focus{outline:none}.room-kicked-banner{flex:0 0 auto;padding:.5rem .75rem;background:#7f1d1d;color:#fca5a5;font-size:.9rem;text-align:center}.error{padding:.5rem .75rem;background:#7f1d1d;color:#fca5a5;font-size:.9rem}.room-header-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:.35em .75em;font-size:.85rem;background:var(--header-bg, #1a1a1a);border:none;border-radius:4px;white-space:nowrap;z-index:2;box-shadow:0 2px 8px #0003;color:inherit}@media(prefers-color-scheme:light){.room-header{--header-bg: #f0f0f0}.editor{--editor-bg: #fff}.enter-form input{border-color:#ccc}}@media(max-width:768px){.home{padding:1.5rem 1rem;max-width:100%}.home h1{font-size:2rem;margin-bottom:.75rem}.tagline{font-size:1.05rem;margin-bottom:1.5rem}.nav-links{gap:1.25rem}.enter-form{flex-direction:column;align-items:stretch;gap:.75rem}.enter-form input{min-height:44px;padding:.6em .9em;font-size:1.05rem;min-width:0}.nav-links button{min-height:44px;font-size:1.05rem}.hint{font-size:.95rem;margin-top:1.5rem}.room-header{flex-direction:column;flex-wrap:nowrap;align-items:stretch;font-size:.8rem;padding:.2rem .4rem;gap:.12rem}.room-header-row1,.room-header-row2{display:flex;flex-wrap:nowrap;align-items:center;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:0}.room-header-row2{gap:.5rem}.room-header-row1,.room-header-row2{flex-shrink:0}.room-header button{min-height:36px;padding:.25em .5em;font-size:.8rem;flex-shrink:0}.room-header .status-sync{font-size:.75rem;padding:0;flex-shrink:0}.room-header .status-server{font-size:.75rem;flex-shrink:0}.room-id{max-width:none;font-size:.8rem;flex-shrink:0;white-space:nowrap}.nodes-wrap{width:auto;order:0;margin-left:0;margin-top:0;gap:.2rem;flex-shrink:0}.node-pill{padding:0;font-size:.75rem;flex-shrink:0}.room-header-toast{font-size:.8rem;padding:.25em .5em}.editor{padding:1rem;font-size:1.05rem;min-height:200px}.room-kicked-banner,.error{padding:.6rem .75rem;font-size:1rem}}
