html, body { height: 100%; padding: 0; margin: 0; overflow: hidden; } body { display: grid; grid-template-rows: auto 1fr max-content; grid-template-columns: max-content 1fr max-content; font-family: monospace; } #buffer-list, #buffer, #connect, #member-list { width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; } #buffer-list { background-color: #e3e3e3; grid-column: 1; grid-row: 1 / 4; display: flex; flex-direction: column; } #buffer-list ul { list-style-type: none; margin: 0; padding: 0; flex: 1 0 auto; } #buffer-list li a { display: inline-block; width: 100%; padding: 2px 10px; box-sizing: border-box; } #buffer-list li.active a { color: white; background-color: #4a4a4a; } #buffer-list li.unread-message a { color: #b37400; } #buffer-list li.unread-highlight a { color: #22009b; } #buffer-header, #member-list-header { box-sizing: border-box; padding: 5px 10px; border-bottom: 1px solid #e3e3e3; } #buffer-header { grid-row: 1; grid-column: 2; } #buffer-header .status-here { color: green; } #buffer-header .status-gone { color: orange; } #buffer-header .status-offline { color: red; } #buffer-header .actions { float: right; } #buffer { grid-row: 2; grid-column: 2; } #member-list-header { grid-row: 1; grid-column: 3; border-left: 1px solid #e3e3e3; } #member-list { grid-row: 2; grid-column: 3; border-left: 1px solid #e3e3e3; } #member-list ul { list-style-type: none; margin: 0; padding: 0; } #member-list li a { display: inline-block; width: 100%; padding: 2px 10px; box-sizing: border-box; } #composer { grid-row: 3; grid-column: 2 / 4; border-top: 1px solid #e3e3e3; } #composer input { display: block; height: 35px; width: 100%; box-sizing: border-box; padding: 10px; } #composer input, #composer input:focus { border: none; background: none; outline: none; } #composer.read-only { display: none; } #connect { position: absolute; top: 0; left: 0; height: 100%; background: white; } #connect form { margin: 0 auto; max-width: 300px; } form input[type="text"], form input[type="username"], form input[type="password"], form input[type="url"] { box-sizing: border-box; width: 100%; } a { color: green; } #buffer-list li a, a.timestamp, a.nick { color: #4a4a4a; text-decoration: none; } #buffer-list li a:hover, #buffer-list li a:active, a.timestamp:hover, a.timestamp:active, a.nick:hover, a.nick:active { text-decoration: underline; } details summary { cursor: default; } #buffer { box-sizing: border-box; color: #4a4a4a; word-wrap: break-word; } #buffer .logline-list { padding: 10px; } #buffer .talk { color: black; } #buffer .error { color: red; } #buffer .me-tell { color: #b37400; } #buffer .highlight .nick { color: yellow; background-color: #c700ff; } #buffer .nick-1 { color: #f25e0d; } #buffer .nick-2 { color: #e43611; } #buffer .nick-3 { color: #f98a11; } #buffer .nick-4 { color: #b4a700; } #buffer .nick-5 { color: #89bd3b; } #buffer .nick-6 { color: #4ea847; } #buffer .nick-7 { color: #287e52; } #buffer .nick-8 { color: #117873; } #buffer .nick-9 { color: #0083a7; } #buffer .nick-10 { color: #2a6596; } #buffer .nick-11 { color: #385189; } #buffer .nick-12 { color: #434078; } #buffer .nick-13 { color: #5e4279; } #buffer .nick-14 { color: #7a447a; } #buffer .nick-15 { color: #e92980; } #buffer .nick-16 { color: #ec273e; } #buffer .separator { display: flex; align-items: center; text-align: center; text-transform: lowercase; font-variant: small-caps; } #buffer .separator::before, #buffer .separator::after { content: ""; flex: 1; border-bottom: 1px solid transparent; } #buffer .date-separator { color: #757575; } #buffer .date-separator::before, #buffer .date-separator::after { border-color: #ddd; } #buffer .unread-separator { color: #ff3535; } #buffer .unread-separator::before, #buffer .unread-separator::after { border-color: #ff3535; } #error-msg { color: white; background-color: red; position: fixed; bottom: 2rem; right: 0; padding: 0.5rem; margin: 0.5rem; } #error-msg a { color: white; text-decoration: none; } .error-text { color: red; } .dialog { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); overflow: auto; } .dialog .dialog-body { background-color: white; margin: 20px auto; max-width: 500px; padding: 15px; border: 1px solid rgba(0, 0, 0, 0.6); } .dialog a.dialog-close { float: right; text-decoration: none; font-size: 1.5em; color: inherit; } .dialog h2 { margin-top: 0; } kbd { background-color: #f0f0f0; border: 1px solid #bfbfbf; box-shadow: inset 0 1px 0 0 #fff, inset 0 -2px 0 0 #d9d9d9; display: inline-block; font-size: 80%; margin: 3px; min-width: 1em; text-align: center; white-space: nowrap; padding: 2px 4px; font-family: monospace; border-radius: 3px; }