.Message{font-family:monospace;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Message>.time{color:#666}.Message>.nick{color:#000;font-weight:700}.Message>.content{color:#000}.Message.system>.system-text{color:#666;font-style:italic}.Message.action>.action-text{color:#666;font-style:italic}.Message.highlight-row{background:#e3f2fd}.Message .mention-nick{color:#5ba3d0}.Message .channel-link{color:#1a4971;cursor:pointer;text-decoration:none;background:#e3f2fd;border:1px solid #b3d9f2;border-radius:4px;padding:.1em .4em}.Message .channel-link:hover{background:#d0e8f7}.MessageList{flex:1;overflow-y:auto;padding:.5em;position:relative;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.MessageList>.load-more{display:block;width:100%;padding:.5em;margin-bottom:.5em;background:#f0f0f0;border:1px solid #ccc;font-family:monospace;font-size:12px;cursor:pointer}.MessageList>.load-more:hover{background:#e0e0e0}.MessageList>.load-more:focus{outline:2px solid #e3f2fd;outline-offset:1px;border-color:#5ba3d0}.MessageList>.toast{position:sticky;bottom:.5em;margin-left:auto;margin-right:1em;width:fit-content;background:#fffffff2;border:1px solid #ccc;border-radius:4px;padding:.5em 2em .5em .5em;overflow-y:auto;max-width:80%;box-shadow:0 2px 8px #00000026;opacity:1;transition:opacity 3s ease-out}.MessageList>.toast.fading{opacity:0}.MessageList>.toast>.toast-close{position:absolute;top:.25em;right:.5em;background:none;border:none;font-size:16px;cursor:pointer;color:#666;line-height:1;padding:.25em}.MessageList>.toast>.toast-close:hover{color:#000}.MessageInput{display:flex;align-items:center;gap:.5em;padding:.5em;padding-bottom:calc(.5em + env(safe-area-inset-bottom));border-top:1px solid #ccc;font-family:monospace}.MessageInput>.nick{font-size:14px}.MessageInput>input,.MessageInput>button{font-family:monospace;font-size:14px;padding:.5em;border:1px solid #ccc;background:#fff;color:#000;height:36px;box-sizing:border-box}@media(max-width:600px){.MessageInput>input{font-size:16px}}.MessageInput>input{flex:1}.MessageInput>button{padding:.5em 1em;cursor:pointer}.MessageInput>input:focus,.MessageInput>button:focus{outline:2px solid #e3f2fd;outline-offset:1px;border-color:#5ba3d0}.MessageInput>button:hover{background:#000;color:#fff}.MessageInput>.send-icon{display:none}@media(max-width:600px){.MessageInput>.nick{display:none}.MessageInput>.send-text{display:none}.MessageInput>.send-icon{display:block;width:36px;height:36px;padding:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.01 21L23 12 2.01 3 2 10l15 2-15 2z' fill='%23000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:20px}.MessageInput>.send-icon:hover{background-color:#000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.01 21L23 12 2.01 3 2 10l15 2-15 2z' fill='%23fff'/%3E%3C/svg%3E")}}.ChannelList{width:180px;border-right:1px solid #ccc;display:flex;flex-direction:column;overflow-y:auto}.ChannelList>.title{padding:.5em;font-weight:700;font-size:14px;border-bottom:1px solid #ccc;display:flex;align-items:center}.ChannelList>.title>.close-button{display:none;background:none;border:none;font-size:1.5em;cursor:pointer;padding:.25em;margin-right:.5em;line-height:1;width:1.5em;height:1.5em;text-align:center}.ChannelList>.title>.close-button:focus{outline:2px solid #e3f2fd;outline-offset:1px;border-color:#5ba3d0}@media(max-width:600px){.ChannelList>.title>.close-button{display:flex;align-items:center;justify-content:center}}.ChannelList>.separator{height:.5em}.ChannelList>.section-title{padding:.4em .5em .2em;font-size:.85em;text-transform:uppercase;letter-spacing:.06em;color:#666}.ChannelList>.channel{padding:.25em .5em;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.ChannelList>.channel:hover{background:#eee}.ChannelList>.channel.active{background:#e3f2fd}.ChannelList>.channel.unread{font-weight:700}.ChannelList>.channel>.badge{font-size:.75em;font-weight:700;background:#888;color:#fff;padding:.1em .4em;border-radius:.8em;min-width:1.2em;text-align:center}.ChannelList>.channel>.badge.mention{background:#c44}.PasswordModal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;font-family:monospace}.PasswordModal>.backdrop{position:absolute;inset:0;background:#0000004d}.PasswordModal>.dialog{position:relative;background:#fff;border:1px solid #ccc;border-radius:8px;padding:24px;min-width:300px;max-width:400px;display:flex;flex-direction:column;gap:16px}.PasswordModal>.dialog>h3{margin:0;color:#333}.PasswordModal>.dialog>label{display:flex;flex-direction:column;gap:4px;color:#666;font-size:.9em}.PasswordModal>.dialog>label>input{padding:8px;border:1px solid #ccc;border-radius:4px;background:#f8f8f8;color:#333;font-size:1em;font-family:monospace}.PasswordModal>.dialog>label>input:focus{outline:none;border-color:#5ba3d0}.PasswordModal>.dialog>.error{margin:0;color:#d32f2f;font-size:.9em}.PasswordModal>.dialog>.buttons{display:flex;justify-content:flex-end;gap:8px}.PasswordModal>.dialog>.buttons>button{padding:8px 16px;border:1px solid #ccc;border-radius:4px;background:#f0f0f0;color:#333;cursor:pointer;font-size:.9em;font-family:monospace}.PasswordModal>.dialog>.buttons>button:hover{background:#e0e0e0}.PasswordModal>.dialog>.buttons>button[type=submit]{background:#5ba3d0;border-color:#5ba3d0;color:#fff}.PasswordModal>.dialog>.buttons>button[type=submit]:hover{background:#4a93c0}.PasswordModal>.dialog>.buttons>button:disabled{opacity:.5;cursor:not-allowed}.ProfileModal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;font-family:monospace}.ProfileModal>.backdrop{position:absolute;inset:0;background:#0000004d}.ProfileModal>.dialog{position:relative;background:#fff;border:1px solid #ccc;border-radius:8px;padding:24px;width:calc(100% - 32px);max-width:420px;display:flex;flex-direction:column;gap:16px}.ProfileModal>.dialog>.close-x{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.4em;color:#999;cursor:pointer;padding:0 4px;line-height:1}.ProfileModal>.dialog>.close-x:hover{color:#333}.ProfileModal>.dialog>h3{margin:0;color:#333}.ProfileModal>.dialog>label{display:flex;flex-direction:column;gap:4px;color:#666;font-size:.9em}.ProfileModal>.dialog>label>.nick-row{display:flex;gap:8px}.ProfileModal>.dialog>label>.nick-row>input{flex:1;padding:8px;border:1px solid #ccc;border-radius:4px;background:#f8f8f8;color:#333;font-size:1em;font-family:monospace}.ProfileModal>.dialog>label>.nick-row>input:focus{outline:none;border-color:#5ba3d0}.ProfileModal>.dialog>label>.nick-row>button{padding:8px 12px;border:1px solid #5ba3d0;border-radius:4px;background:#5ba3d0;color:#fff;cursor:pointer;font-size:.9em;font-family:monospace}.ProfileModal>.dialog>label>.nick-row>button:hover{background:#4a93c0}.ProfileModal>.dialog>label>.nick-row>button:disabled{opacity:.5;cursor:not-allowed}.ProfileModal>.dialog>.type-section{display:flex;flex-direction:column;gap:8px}.ProfileModal>.dialog>.type-section>.type-label{color:#666;font-size:.9em}.ProfileModal>.dialog>.type-section>.type-options{display:flex;flex-wrap:wrap;gap:8px}.ProfileModal>.dialog>.type-section>.type-options>.type-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid #e0e0e0;border-radius:8px;background:#fafafa;cursor:pointer;font-family:monospace;transition:border-color .15s,background .15s}.ProfileModal>.dialog>.type-section>.type-options>.type-option:hover{border-color:#5ba3d0;background:#e3f2fd}.ProfileModal>.dialog>.type-section>.type-options>.type-option.active{border-color:#5ba3d0;background:#e3f2fd}.ProfileModal>.dialog>.type-section>.type-options>.type-option:disabled{opacity:.5;cursor:not-allowed}.ProfileModal>.dialog>.type-section>.type-options>.type-option>.type-icon{font-size:1.5em}.ProfileModal>.dialog>.type-section>.type-options>.type-option>.type-name{font-size:.8em;color:#555}.ProfileModal>.dialog>label>textarea{padding:8px;border:1px solid #ccc;border-radius:4px;background:#f8f8f8;color:#333;font-size:1em;font-family:monospace;resize:vertical}.ProfileModal>.dialog>label>textarea:focus{outline:none;border-color:#5ba3d0}.ProfileModal>.dialog>label>input[type=url]{padding:8px;border:1px solid #ccc;border-radius:4px;background:#f8f8f8;color:#333;font-size:1em;font-family:monospace}.ProfileModal>.dialog>label>input[type=url]:focus{outline:none;border-color:#5ba3d0}.ProfileModal>.dialog>.buttons>.save-profile{padding:8px 16px;border:1px solid #5ba3d0;border-radius:4px;background:#5ba3d0;color:#fff;cursor:pointer;font-size:.9em;font-family:monospace}.ProfileModal>.dialog>.buttons>.save-profile:hover:not(:disabled){background:#4a93c0}.ProfileModal>.dialog>.buttons>.save-profile:disabled{opacity:.5;cursor:not-allowed}.ProfileModal>.dialog>.error{margin:0;color:#d32f2f;font-size:.9em}.ProfileModal>.dialog>.success{margin:0;color:#2e7d32;font-size:.9em}.ProfileModal>.dialog>.buttons{display:flex;justify-content:flex-end;gap:8px}.ProfileModal>.dialog>.buttons>button{padding:8px 16px;border:1px solid #ccc;border-radius:4px;background:#f0f0f0;color:#333;cursor:pointer;font-size:.9em;font-family:monospace}.ProfileModal>.dialog>.buttons>button:hover{background:#e0e0e0}.LoginModal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;font-family:monospace}.LoginModal>.backdrop{position:absolute;inset:0;background:#0000004d}.LoginModal>.dialog{position:relative;background:#fff;border:1px solid #ccc;border-radius:8px;padding:24px;min-width:300px;max-width:400px;display:flex;flex-direction:column;gap:16px}.LoginModal>.dialog>h3{margin:0;color:#333}.LoginModal>.dialog>label{display:flex;flex-direction:column;gap:4px;color:#666;font-size:.9em}.LoginModal>.dialog>label>input{padding:8px;border:1px solid #ccc;border-radius:4px;background:#f8f8f8;color:#333;font-size:1em;font-family:monospace}.LoginModal>.dialog>label>input:focus{outline:none;border-color:#5ba3d0}.LoginModal>.dialog>.error{margin:0;color:#d32f2f;font-size:.9em}.LoginModal>.dialog>.buttons{display:flex;justify-content:flex-end;gap:8px}.LoginModal>.dialog>.buttons>button{padding:8px 16px;border:1px solid #ccc;border-radius:4px;background:#f0f0f0;color:#333;cursor:pointer;font-size:.9em;font-family:monospace}.LoginModal>.dialog>.buttons>button:hover{background:#e0e0e0}.LoginModal>.dialog>.buttons>button[type=submit]{background:#5ba3d0;border-color:#5ba3d0;color:#fff}.LoginModal>.dialog>.buttons>button[type=submit]:hover{background:#4a93c0}.LoginModal>.dialog>.buttons>button:disabled{opacity:.5;cursor:not-allowed}.MigrationBanner{background:#e3f2fd;border-bottom:2px solid #b3d9f2;padding:.75em 1em;font-family:monospace;font-size:13px;line-height:1.6}.MigrationBanner>.title{font-weight:700;font-size:14px;margin-bottom:.4em}.MigrationBanner>.steps{margin:0;padding-left:1.5em}.MigrationBanner>.steps>li{margin:.15em 0}.MigrationBanner>.steps .cmd{background:#fff;border:1px solid #b3d9f2;border-radius:3px;padding:.05em .35em;font-weight:700}.MigrationBanner>.steps a{color:#1a4971;font-weight:700}
