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-list .actions { flex-shrink: 0; text-align: center; } #buffer-list .actions a { display: block; padding: 10px; } #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; } #connect input[type="text"], #connect input[type="username"], #connect input[type="password"], #connect 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 .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; }