: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;display:flex;place-items:center;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}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh}.title-dropdown{font-size:inherit;font-family:inherit;font-weight:inherit;color:#646cff;background:transparent;border:none;cursor:pointer;padding:0 .5rem 0 0;margin:0;outline:none}.title-dropdown:hover{opacity:.8}.title-dropdown option{background:#2a2a2a;color:#fff;font-size:1rem}.helper-text{color:#aaa;margin-bottom:2rem;max-width:500px;line-height:1.5;font-size:.9rem}.input-help{font-size:.8rem;color:#888;margin-bottom:.5rem;text-align:left;font-style:italic}.card{background:#2a2a2a;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000004d;width:100%;max-width:500px}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:700}.form-group input{width:100%;padding:.8rem;border-radius:.5rem;border:1px solid #444;background:#333;color:#fff}.join-input-group{display:flex;gap:.5rem}.join-input-group input{flex:1}.divider{margin:1rem 0 2rem;font-weight:700;color:#666;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#444}.divider:before{left:0}.divider:after{right:0}.room-input-group{display:flex;gap:.5rem}.room-input-readonly{background:#222!important;cursor:default;color:#888!important}.copy-btn{background:#2196f3;color:#fff;white-space:nowrap}.traits-grid{display:grid;gap:1rem;margin-bottom:2rem;text-align:left}.trait-slider{display:flex;flex-direction:column}.trait-description{font-size:.85rem;opacity:.8;font-weight:400;display:block;margin-top:.25rem}input[type=range]{-webkit-appearance:slider-horizontal;appearance:slider-horizontal;pointer-events:auto}.join-btn{width:100%;padding:1rem;background:#646cff;color:#fff;border:none;border-radius:.5rem;font-size:1.1rem;cursor:pointer}.chat-container{display:flex;flex-direction:column;height:90vh;height:100dvh;width:100%;max-width:800px;margin:0 auto;background:#1a1a1a;border-radius:1rem;overflow:hidden}@media(max-width:600px){.chat-container{height:100dvh;border-radius:0;margin:0}#root{padding:0}}.header{padding:1rem;background:#2a2a2a;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.room-header-info{display:flex;align-items:center;gap:1rem}.copy-btn-small{padding:.4rem .8rem;font-size:.8rem;background:#444;color:#fff;border:1px solid #555}.copy-btn-small:hover{background:#555}.messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{max-width:70%;padding:.8rem;border-radius:1rem;text-align:left}.message.sent{align-self:flex-end;background:#646cff;color:#fff;border-bottom-right-radius:.2rem}.message.received{align-self:flex-start;background:#333;color:#fff;border-bottom-left-radius:.2rem}.msg-sender{font-size:.8rem;opacity:.7;margin-bottom:.2rem}.input-area{padding:1rem;background:#2a2a2a;border-top:1px solid #333;max-height:50vh;overflow-y:auto}.compose-box{display:flex;gap:1rem}textarea{flex:1;padding:.8rem;border-radius:.5rem;border:1px solid #444;background:#333;color:#fff;resize:none;height:60px}.draft-review{background:#333;padding:1rem;border-radius:.5rem;text-align:left}.draft-content{background:#1a1a1a;padding:1rem;border-radius:.5rem;margin:1rem 0;font-style:italic}.draft-loading{padding:2rem;color:#888;font-style:italic;text-align:center}.refine-options{margin:1rem 0;padding:1rem 0;border-top:1px solid #444;border-bottom:1px solid #444}.refine-label{display:block;font-size:.8rem;color:#888;margin-bottom:.5rem;text-align:left}.refine-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.refine-btn{background:#333;border:1px solid #555;color:#ddd;font-size:.8rem;padding:.4rem .8rem;flex:1 0 auto}.refine-btn:hover{background:#444}.refine-btn.special{background:linear-gradient(45deg,#646cff,#9c27b0);border:none;color:#fff}.actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}button{padding:.6rem 1.2rem;border-radius:.4rem;border:none;cursor:pointer;font-weight:700}.send-btn{background:#4caf50;color:#fff}.regen-btn{background:#ff9800;color:#fff}.cancel-btn{background:#f44336;color:#fff}.connection-status{margin-right:1rem;font-size:.9rem}.connection-status.online{color:#4caf50}.connection-status.offline{color:#f44336}.online{color:#4caf50}.waiting{color:#ff9800}
