:root{color-scheme:light;--desktop:#008080;--face:#c0c0c0;--white:#fff;--shadow:#808080;--dark:#000;--navy:#000080;--chat-size:15px;font-family:Tahoma,'MS Sans Serif',Arial,sans-serif;font-size:12px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--desktop);color:#000}button,input,textarea{font:inherit;color:inherit;border-radius:0}button{cursor:pointer;background:var(--face);border:0;box-shadow:inset -1px -1px #000,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #dfdfdf;padding:6px 14px;min-height:25px}button:active,.control.active{box-shadow:inset 1px 1px #000,inset -1px -1px #fff,inset 2px 2px #808080;padding-top:7px;padding-bottom:5px}button:focus-visible{outline:1px dotted #000;outline-offset:-5px}button:disabled{cursor:default;color:#808080;text-shadow:1px 1px #fff}input,textarea{background:#fff;border:0;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff,inset 2px 2px #000,inset -2px -2px #dfdfdf;outline:0}input:focus-visible{outline:1px dotted #808080;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.on-login .taskbar,.booting .taskbar{display:none}
.login-desktop{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-panel{width:354px;max-width:100%;padding:17px;background:#c0c0c0;box-shadow:inset -1px -1px #000,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #dfdfdf}.login-logo{display:block;width:100%;height:auto;margin:0 0 17px}.login-panel input{display:block;width:100%;height:34px;padding:6px 10px;font-family:'Courier New',monospace;font-size:15px}.login-panel input::placeholder{color:#646464;opacity:1}.error{color:#800000;font-size:12px;line-height:1.5;margin:10px 0 0;overflow-wrap:anywhere}.error:empty{display:none}
.boot{position:fixed;inset:0;background:#000;color:#d5d5d5;z-index:20;overflow:hidden;padding:clamp(22px,4vw,60px);font-family:'Courier New',monospace}.boot-log{margin:0;height:min(60dvh,420px);max-height:100%;overflow:hidden;white-space:pre-wrap;font-family:inherit;font-size:clamp(13px,1.3vw,18px);line-height:1.55;overflow-wrap:anywhere}.boot-log:after{content:'_';animation:cursor-blink .65s steps(1) infinite}@keyframes cursor-blink{50%{opacity:0}}
.window{background:var(--face);padding:3px;box-shadow:inset -1px -1px #000,inset 1px 1px #dfdfdf,inset -2px -2px #808080,inset 2px 2px #fff}.room{height:calc(100dvh - 48px);margin:8px;display:flex;flex-direction:column;min-width:0}.titlebar{background:#000080;color:#fff;display:flex;align-items:center;gap:6px;min-height:25px;padding:3px 4px;font-size:12px;font-weight:700}.titlebar h1{font-size:12px;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.app-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;background:#fff;color:#000080;font-family:'Courier New',monospace;font-weight:bold;border:1px solid #808080}.room-tools{margin-left:auto;display:flex;gap:3px}.caption-button{padding:0 3px!important;min-height:18px;height:18px;min-width:19px;font-family:Arial,sans-serif;font-size:16px;font-weight:bold;line-height:16px}.menubar{display:flex;align-items:center;gap:22px;padding:6px 9px;min-height:29px}.menubar .identity{margin-left:auto;color:#000;font-size:11px}.menubar u{text-underline-offset:2px}.channel-tabs{padding:4px 5px 0;border-top:1px solid #808080;min-height:29px;box-shadow:inset 0 1px #fff;display:flex;align-items:flex-end}.channel-tab{background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #000;padding:5px 22px;position:relative;top:1px;z-index:1;font-weight:bold}.client-body{display:flex;flex:1;min-height:0;margin:0 4px;gap:4px}.chat-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.feed-wrap{position:relative;flex:1;min-height:0;border:2px solid;border-color:#808080 #fff #fff #808080;background:#fff;box-shadow:inset 1px 1px #000}.messages{height:100%;overflow:auto;overscroll-behavior:contain;padding:10px 12px;font-family:'Courier New',Courier,monospace;font-size:var(--chat-size);scrollbar-color:#c0c0c0 #dfdfdf;scrollbar-width:auto;line-height:1.45}.message{margin:0 0 3px;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.45}.message-meta{display:inline}.timestamp{color:#777;font-family:inherit;font-size:inherit;font-weight:400;margin-right:8px}.nickname{font-family:inherit;font-size:inherit;font-weight:700;color:#000080;margin-right:8px}.message-body{display:inline;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;color:#000}.is-host .nickname{color:#800000}.message-actions{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}.message-actions button{font-family:Tahoma,Arial,sans-serif;font-size:10px;padding:2px 7px;min-height:20px}.empty{color:#008000;font-family:'Courier New',monospace;font-size:var(--chat-size)}.sidebar{width:176px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border:2px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #000;margin-bottom:33px;min-height:0;overflow:hidden}.online-heading{display:flex;justify-content:space-between;gap:8px;background:#c0c0c0;padding:6px 8px;border-bottom:1px solid #808080;font-size:11px}.users{overflow:auto;list-style:none;padding:5px 7px;margin:0;flex:1;font-family:'Courier New',monospace;font-size:13px}.users li{display:flex;align-items:center;gap:3px;min-height:23px;overflow-wrap:anywhere}.users li:before{content:'•';font-size:11px;color:#008000;margin-right:4px}.user-name{flex:1}.mute-button{font-family:Tahoma,sans-serif;font-size:9px;min-height:19px;padding:2px 5px}.composer{display:flex;align-items:flex-end;gap:4px;margin-top:4px;min-height:29px}.prompt{display:none}.composer textarea{width:100%;font-family:'Courier New',monospace;font-size:15px;line-height:1.4;resize:none;min-height:29px;max-height:140px;padding:5px 7px}.send{min-width:66px;height:29px;min-height:29px;padding:4px 10px}.statusbar{display:flex;align-items:center;gap:3px;margin:5px 4px 1px;min-height:21px;font-size:11px}.statusbar>span{border:1px solid;border-color:#808080 #fff #fff #808080;padding:3px 7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusbar>span:first-child{flex:1}.statusbar>span:nth-child(2){min-width:120px}.statusbar>span:last-child{min-width:70px}.taskbar{position:fixed;bottom:0;left:0;right:0;height:30px;display:flex;align-items:center;gap:5px;background:#c0c0c0;border-top:2px solid #fff;padding:3px 5px;box-shadow:0 -1px #c0c0c0;font-size:12px}.start-button{display:flex;align-items:center;gap:5px;font-weight:700;box-shadow:inset -1px -1px #000,inset 1px 1px #fff,inset -2px -2px #808080;padding:3px 8px;min-height:23px}.start-icon{font-size:17px;line-height:14px;color:#000080}.task-button{min-width:160px;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff;padding:4px 9px;background:#dfdfdf;font-weight:700}.taskbar time{margin-left:auto;border:1px solid;border-color:#808080 #fff #fff #808080;padding:4px 10px;font-size:11px}.host-controls{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;padding:4px 5px;border-top:1px solid #808080;box-shadow:inset 0 1px #fff}.control-group{display:flex;gap:4px;flex-wrap:wrap}.control{font-size:11px;min-height:25px;padding:5px 10px}.banner{font-family:'Courier New',monospace;padding:6px 10px;color:#800000;font-size:13px;margin:0 5px;background:#ffffe1;border:1px solid #808080}.pinned{margin:3px 5px;padding:7px 10px;background:#ffffe1;border:1px solid #808080;font-family:'Courier New',monospace;max-height:23dvh;overflow:auto}.pinned-label{font-family:Tahoma,Arial,sans-serif;font-size:10px;color:#444;display:flex;align-items:center;justify-content:space-between}.pinned blockquote{font-size:var(--chat-size);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}.pinned>p{font-size:11px;color:#000080;margin:0}.jump{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px}.chat-error{margin:0;background:#ffffe1;padding:4px 8px;font-family:'Courier New',monospace}.stage-mode{--chat-size:20px}.stage-mode .message{padding:3px 0}.stage-mode .sidebar{width:200px}.stage-mode .message-actions{float:right;margin:0 0 0 8px}.toast{position:fixed;bottom:42px;left:50%;transform:translateX(-50%);background:#ffffe1;border:1px solid #000;box-shadow:2px 2px #808080;max-width:90vw;padding:9px 14px;font-size:12px;z-index:30}dialog{border:0;max-width:430px;color:#000}dialog::backdrop{background:#0005}dialog h2{margin:0;font-size:12px}dialog p{margin:18px 17px;font-size:12px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 13px}.dialog-actions button{min-width:85px}::selection{color:#fff;background:#000080}
@media(min-width:1600px){:root{--chat-size:17px}.stage-mode{--chat-size:24px}}@media(max-width:650px){.room{height:calc(100dvh - 36px);margin:3px}.titlebar{min-height:27px}.menubar{gap:18px;padding:7px}.menubar .identity{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-body{margin:0 2px;gap:3px}.sidebar{width:94px;margin-bottom:36px}.online-heading{font-size:10px;padding:6px 4px}.users{font-size:11px;padding:5px 4px}.users li:before{display:none}.messages{font-size:13px;padding:8px 6px}.timestamp{color:#808080;margin-right:5px}.nickname{margin-right:5px}.composer textarea{font-size:16px;min-height:32px}.send{height:32px;min-width:48px;padding:4px 8px}.taskbar{height:29px}.task-button{min-width:115px;font-size:11px}.taskbar time{padding:4px 6px}.statusbar>span:nth-child(2){min-width:70px}.statusbar>span:last-child{display:none}.stage-mode .sidebar{width:115px}.stage-mode .messages{font-size:var(--chat-size)}.stage-mode .message-actions{float:none;margin:0 4px}.host-controls .control{font-size:10px;padding:5px 7px}.login-panel{width:330px;padding:14px}.boot-log{font-size:13px}.login-desktop{padding:20px}}
@media(prefers-reduced-motion:reduce){.boot-log:after{animation:none}}

.menu-button{font:inherit;background:transparent;box-shadow:none;min-height:20px;padding:1px 5px}.menu-button:hover{background:#000080;color:#fff}.menu-button:active{box-shadow:none;padding:1px 5px}
