:root{color-scheme:light;--bg:#f8faff;--paper:#fff;--line:#e8ebf4;--text:#18243e;--muted:#8491aa;--accent:#2f56f1;--accentfade:#ecf1ff;--shadow:0 4px 20px rgba(20,35,70,.04);--green:#169d55;--red:#e65270;--role:#384db6}body.dark{color-scheme:dark;--bg:#0d1325;--paper:#151d30;--line:#28344f;--text:#eff3fc;--muted:#9eacc7;--accent:#7994ff;--accentfade:#243358;--shadow:0 6px 20px #090e1955;--green:#38c878;--red:#ff7596;--role:#8ca6ff}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;font:14px/1.4 Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100dvh;display:flex;flex-direction:column}.top{flex:none;min-height:0;background:var(--paper);box-shadow:var(--shadow);z-index:1}.primarybar{height:57px;display:flex;align-items:center;padding:0 16px;gap:16px;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:850;letter-spacing:-.6px;white-space:nowrap}.brand>span:last-child{color:var(--accent)}.brandicon{font-size:25px;color:var(--accent);vertical-align:-2px;padding-right:5px}.network{font-size:12px;color:var(--muted);white-space:nowrap;max-width:40%;text-overflow:ellipsis;overflow:hidden}.network.connected{color:var(--green)}.toptools{display:flex;align-items:center;gap:5px;margin-left:auto}.toptools button,.user-title button{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text);font-size:12px;font-weight:600}.toptools button:hover,.user-title button:hover{background:var(--accentfade)}.tabs{height:54px;display:flex;align-items:center;overflow:auto;gap:7px;padding:7px 13px;scrollbar-width:thin}.tab{display:flex;align-items:center;gap:9px;height:36px;max-width:200px;border:1px solid var(--line);color:var(--text);background:var(--paper);border-radius:9px;padding:0 9px 0 13px;white-space:nowrap;font-weight:700}.tab:hover{background:var(--accentfade)}.tab.active{color:#fff;background:#3156e9;border-color:#3156e9;box-shadow:0 4px 13px #3156e929}.tab .x{border:0;background:transparent;color:inherit;opacity:.8;padding:0 3px;font-size:19px;border-radius:5px;line-height:20px}.tab .x:hover{background:#8883}.tab .lbl{overflow:hidden;text-overflow:ellipsis}.tab.add{font-size:23px;color:var(--accent);min-width:36px;padding:0;justify-content:center}.topicbar{height:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;padding:0 21px;color:var(--muted);overflow:hidden;white-space:nowrap;font-size:12px}.topicbar b{color:var(--accent);font-size:13px}.topicbar #topic{overflow:hidden;text-overflow:ellipsis}.topicbar small{margin-left:auto}.workspace{display:flex;flex:1;min-height:0}.chat{flex:1;min-width:0;background:var(--paper);overflow-y:auto;overflow-x:hidden;scrollbar-color:#bec6d5 transparent}.messages{padding:12px 12px 28px 13px}.line{display:grid;grid-template-columns:86px 27px minmax(0,1fr);gap:5px;align-items:baseline;border-radius:3px;min-height:23px;padding:0 3px;white-space:pre-wrap;overflow-wrap:anywhere}.line:hover{background:var(--bg)}.time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.mark{color:var(--green);font-weight:800}.line.quit .mark,.line.part .mark,.line.kick .mark{color:var(--red)}.line.status .mark,.line.mode .mark,.line.topic .mark{color:var(--accent)}.line .nick{font-weight:800;cursor:pointer}.nick:hover{text-decoration:underline}.line .body{color:var(--text)}.line.join .body{color:var(--green)}.line.quit .body,.line.kick .body{color:var(--red)}.hintline{color:var(--muted);padding:10px;font-size:13px}.users{width:275px;min-width:200px;max-width:31vw;background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.user-title{height:50px;padding:0 13px;display:flex;justify-content:space-between;align-items:center}.user-title b{font-size:15px}.user-title span{color:var(--accent)}.users input{margin:0 11px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);padding:11px;outline:0}.user-list{overflow:auto;padding:0 8px 15px;flex:1}.user{display:flex;align-items:center;gap:10px;background:none;color:var(--text);border:0;text-align:left;width:100%;padding:9px 11px;min-height:41px;border-bottom:1px solid var(--line);border-radius:4px}.user:hover{background:var(--accentfade)}.user .role{font-weight:900;color:var(--role);width:17px;text-align:center}.user .name{overflow:hidden;text-overflow:ellipsis}.user-foot{border-top:1px solid var(--line);color:var(--muted);padding:9px 10px;font-size:11px}.footer{background:var(--bg);border-top:1px solid var(--line);padding:10px 14px 9px}.footer form{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:4px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow)}.footer form input{background:transparent;border:0;color:var(--text);flex:1;min-width:0;outline:0;padding:10px 2px}.footer form button{border:0;background:none;color:var(--muted);font-size:23px;border-radius:7px;padding:5px 11px}.footer form .send{background:var(--accent);color:white}.hints{font-size:10px;padding:6px 5px 0;color:var(--muted)}.veil{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;background:#101930a6;z-index:20}.veil.hidden{display:none}.login,.dialog{background:var(--paper);border-radius:18px;width:min(480px,96vw);padding:29px;box-shadow:0 20px 70px #111b3366;border:1px solid var(--line)}.login{text-align:center}.loginlogo{font-size:55px;color:var(--accent);line-height:1}.login h1{font-size:29px;margin:4px 0 0}.login p{color:var(--muted);margin:7px 0 27px}.login form{text-align:left}.login label{display:block;font-weight:700;margin-bottom:8px}.login input,.dialog input{display:block;width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:13px;margin-bottom:12px}.login button{display:block;width:100%;background:var(--accent);border:0;color:white;padding:13px;border-radius:9px;font-weight:750}.login small{display:block;margin:17px 0;color:var(--muted)}.error{color:var(--red)}.dialog{position:relative;text-align:left}.dialog h2{margin:0 0 15px}.dialog p{color:var(--muted)}.dialog .cross{position:absolute;right:15px;top:13px;border:0;background:transparent;color:var(--muted);font-size:24px}.dlg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dlg-grid button,.dialog .do{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px;color:var(--text);text-align:left}.dlg-grid button:hover,.dialog .do:hover{background:var(--accentfade)}.dialog .do{width:100%;margin-top:8px}.menu{display:none;position:fixed;z-index:25;width:195px;min-width:150px;max-height:70vh;overflow:auto;padding:7px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 45px #0c1d3d35}.menu.open{display:block}.menu button{display:block;width:100%;padding:10px 11px;text-align:left;border:0;background:transparent;color:var(--text);border-radius:8px}.menu button:hover{background:var(--accentfade)}.menu h4{margin:7px 10px}.line .body .nick{display:inline}#toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);z-index:40;background:var(--text);color:var(--paper);border-radius:10px;padding:9px 20px;max-width:80vw;display:none;box-shadow:var(--shadow)}
@media(max-width:750px){.primarybar{height:52px;padding:0 8px;gap:7px}.brand{font-size:17px}.network{display:none}.toptools button{font-size:11px;padding:6px}.toptools #openServices{display:none}.tabs{height:47px;padding:5px}.topicbar{padding:0 9px}.topicbar small{display:none}.users{display:none;position:absolute;z-index:4;top:141px;bottom:65px;right:0;width:min(290px,82vw);max-width:82vw;box-shadow:-10px 12px 35px #17234236}.users.visible{display:flex}.line{grid-template-columns:70px 23px minmax(0,1fr);font-size:12px;min-height:21px}.time{font-size:10px}.messages{padding:10px 3px}.hints{font-size:9px;white-space:nowrap;overflow:hidden}.footer{padding:7px 8px}.user-foot{display:none}}
@media(min-width:751px){.users.collapsed{display:none}}

/* Signature: valid independent top tab and close buttons; chat-centric responsive layout. */
.tab{padding:0;gap:0;min-width:0;overflow:hidden}.tabmain{border:0;background:transparent;color:inherit;display:flex;gap:9px;align-items:center;padding:0 10px 0 13px;min-width:0;height:100%;font-weight:700;cursor:pointer}.tabmain .lbl{overflow:hidden;text-overflow:ellipsis}.tab .x{flex-shrink:0;margin-right:5px}.tab.active .tabmain{color:#fff}
.tab:focus-within{outline:2px solid var(--accent);outline-offset:1px}.user:focus-visible{outline:2px solid var(--accent)}
body:not(.dark) .chat{background:#fff}body:not(.dark) .users{background:#fcfdff}body:not(.dark) .top{border-bottom:1px solid var(--line)}
@media(min-width:1150px){.users{width:245px}.messages{padding-left:16px}.line{grid-template-columns:92px 30px minmax(0,1fr);line-height:1.58}}

.user-person{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.user-person .name{font-weight:700}.user-person .duration{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}

/* Studio: quiet glass surfaces, readable messages, distinct authority states. */
body.dark{--bg:#080c18;--paper:#101729;--line:#26314d;--text:#e9eefb;--muted:#8e9dbc;--accent:#7e9bff;--accentfade:#1d2b4c;--green:#4bdfba;--red:#ff839b;--role:#adbcff;background:radial-gradient(ellipse at 20% 0,#243059 0,transparent 48%),radial-gradient(ellipse at 100% 100%,#281a42 0,transparent 45%),#080c18}
.app{height:calc(100dvh - 32px);margin:16px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:0 30px 90px #0004}.top{background:var(--paper)}body.dark .top{background:linear-gradient(115deg,#17233b,#111728 65%,#241d3c)}.primarybar{height:72px;padding:0 24px;gap:20px}.brand{font-size:25px;letter-spacing:-1px}.brandicon{font-size:32px}.toptools{gap:8px}.toptools button{padding:9px 12px;border-radius:11px}.toptools #openAdmin{background:var(--accentfade);color:var(--accent)}.network{font-size:12px}.tabs{height:58px;padding:8px 20px}.tab{height:38px;border-radius:11px}.tab.active{background:linear-gradient(120deg,#526dff,#8b5cf6);border-color:#8092ff66;box-shadow:0 5px 18px #6977ff30}.topicbar{height:43px;padding:0 24px}.chat{background:var(--paper)}body.dark .chat{background:radial-gradient(ellipse at 30% 0,#16213a55,transparent 65%),#0d1424}.messages{padding:24px 20px 35px}.line{padding:3px 9px;line-height:1.65;grid-template-columns:82px 18px minmax(0,1fr);font-size:13px}.line .nick{font-weight:750}.line.join,.line.quit,.line.mode,.line.part,.line.kick,.line.topic{font-size:11px;opacity:.85}.line:hover{background:var(--accentfade)}.users{width:264px;max-width:30vw;background:var(--paper)}.user-title{height:62px;padding:0 18px}.user-title b{font-size:14px}.user{padding:12px 10px;border-bottom:0;border-radius:11px;gap:10px}.user .role{width:46px;flex:none;font-size:10px;font-weight:750;letter-spacing:.2px;border-radius:6px;padding:4px 2px;background:var(--accentfade)}.user .name{font-size:13px}.user-person .duration{margin-top:3px}.footer{padding:14px 20px 10px;background:var(--paper)}.footer form{border-radius:14px;padding:6px;background:var(--bg)}.footer form input{padding:12px 3px;font-size:13px}.footer form .send{background:linear-gradient(135deg,#526dff,#935af5);border-radius:10px;min-width:48px}.hints{padding-top:8px;font-size:10px}.my-role{font-size:10px;color:var(--muted);padding:6px 8px;white-space:nowrap;border:1px solid var(--line);border-radius:7px}.my-role.is-oper{color:var(--red);border-color:#ff839b55;background:#ff839b10;font-weight:800}.dialog{width:min(640px,96vw);max-height:88dvh;overflow:auto;border-radius:22px;padding:30px}.dialog h2{font-size:23px;letter-spacing:-.6px}.dialog h3{font-size:14px;margin-top:24px}.dialog label{font-size:12px;color:var(--muted);display:block;margin:12px 0 6px}.dialog input{padding:12px}.admin-state{border:1px solid var(--line);padding:12px;border-radius:10px;color:var(--muted);background:var(--bg);font-size:12px}.admin-state.granted{color:var(--green);border-color:#4bdfba55}.dlg-grid{gap:9px}.dlg-grid .do{margin:0}.dialog .do:disabled{cursor:not-allowed;opacity:.4}.dialog details{margin-top:20px;color:var(--muted);font-size:12px}.dialog pre{padding:15px;background:var(--bg);border-radius:10px;overflow:auto;line-height:1.8}.ban-row{padding:12px;margin:9px 0;border:1px solid var(--line);border-radius:10px}.ban-row code{display:block;overflow-wrap:anywhere}.ban-row small{display:block;color:var(--muted);margin-top:5px}.veil{backdrop-filter:blur(12px);background:#060b17b8}.login{padding:42px 35px;border-radius:25px;background:linear-gradient(135deg,var(--paper),var(--bg))}.loginlogo{background:linear-gradient(135deg,#6c99ff,#bd7dff);background-clip:text;-webkit-text-fill-color:transparent;font-size:70px}.login h1{font-size:36px;letter-spacing:-1.5px}.login button{background:linear-gradient(110deg,#526dff,#935af5);padding:15px;border-radius:12px}.login input{padding:15px;border-radius:12px}.menu{width:220px;box-shadow:0 20px 60px #0005}.menu button{font-size:12px}.line.notice .body{color:var(--accent)}.line.status .body{color:var(--muted)}
@media(max-width:850px){.my-role{display:none}.primarybar{padding:0 14px;gap:10px}.toptools{gap:4px}.toptools button{padding:8px;font-size:11px}.users{width:220px}.topicbar{padding:0 15px}}
@media(max-width:750px){.app{margin:0;height:100dvh;border:0;border-radius:0}.primarybar{height:61px}.brand{font-size:21px}.brandicon{font-size:27px}.toptools #openChannels{display:none}.toptools #openAdmin{display:block}.tabs{height:50px;padding:7px 10px}.topicbar{height:36px}.users{top:147px;bottom:90px;width:280px;max-width:85vw}.messages{padding:14px 4px}.line{grid-template-columns:62px 12px minmax(0,1fr);gap:3px;padding:3px 4px;font-size:12px}.line.join,.line.quit,.line.mode,.line.part{font-size:10px}.footer{padding:9px 10px}.footer form input{padding:10px 0}.dialog{padding:24px 20px}.login{padding:35px 25px}.topicbar small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.line.admin .body{color:var(--red);font-weight:800}.line.admin .mark{color:var(--red)}

/* Role management revision */
.user.selected{background:var(--accentfade);outline:1px solid var(--accent)}.role-stack{display:flex;flex-direction:column;gap:4px}.role.ircop{color:var(--red);font-weight:800}.user-actions{padding:12px;display:grid;gap:8px;border-top:1px solid var(--line)}.user-actions button{padding:9px;border-radius:8px}.target-box{padding:16px;border:2px solid var(--accent);border-radius:14px;background:var(--accentfade);margin:16px 0}.target-box label{color:var(--text);font-weight:700}.target-box input{background:var(--paper);font-size:16px;border:1px solid var(--accent)}.target-box small{display:block;margin-top:10px;line-height:1.6;color:var(--muted)}.dialog select{width:100%;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--text)}.line.error .body{color:var(--red)}.menu{max-height:70dvh;overflow:auto}.hidden{display:none!important}
/* Lounge: atmospheric city horizon, legible conversation and focused controls. */
body.dark{--paper:#101728;--bg:#0a1020;--accent:#93a8ff;--muted:#a1acc5;--line:#28344e;background:radial-gradient(ellipse at 0 10%,#17365b,transparent 50%),radial-gradient(ellipse at 100% 90%,#32214b,transparent 55%),#070b14}
.app{margin:12px;height:calc(100dvh - 24px);border-radius:24px;box-shadow:0 24px 90px #0005}.primarybar{height:78px}.brand{letter-spacing:-1.2px}.network.connected{color:#34c5a3}.toptools button{min-height:38px}.tabs{gap:9px}.tab.active{background:linear-gradient(120deg,#5279f4,#9059da);box-shadow:0 5px 24px #6179ff35}.topicbar{height:46px}.chat{position:relative}body.dark .chat{background-image:linear-gradient(180deg,#0c142499,#0c1424ed 280px),url('/skyline.svg');background-size:auto,100% auto;background-position:top,center top;background-repeat:no-repeat;background-color:#0c1424}.room-welcome{padding:28px 30px 16px;pointer-events:none}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--accent)}.room-welcome h2{font-size:clamp(19px,2vw,27px);letter-spacing:-.6px;margin:8px 0;color:var(--text)}.room-welcome p{font-size:12px;margin:0;color:var(--muted)}.messages{padding-top:10px}.line{font-size:14px;line-height:1.75;border-radius:7px}.line .time{font-size:11px;color:var(--muted)}.line.join,.line.part,.line.quit,.line.mode,.line.topic,.line.kick{font-size:12px}.users{width:290px}.user{gap:10px;padding:11px 9px}.avatar{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#5266ba,#74488a);color:#fff;font-size:11px;font-weight:800}.user-person{flex:1}.role-stack{margin-left:auto}.user .role{width:44px;font-size:9px}.user-actions{background:var(--accentfade);margin:8px;border-radius:12px;border:0}.footer form{border:1px solid var(--line);box-shadow:0 3px 18px #0001}.dialog{width:min(760px,96vw)}.dialog p,.dialog small{line-height:1.65}.service-card{padding:18px;border:1px solid var(--line);background:var(--bg);border-radius:15px;margin:18px 0}.service-card h3{margin-top:0;color:var(--accent);font-size:15px}.service-card p{font-size:13px;color:var(--muted)}.service-card summary{font-weight:700;cursor:pointer}.service-replies{max-height:260px;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:65px}.service-replies:empty:before{content:'Хизмат жавоби шу ерда пайдо бўлади.';color:var(--muted)}.service-reply{padding:9px 4px;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.service-reply small{color:var(--accent);font-size:10px}.dialog textarea{display:block;width:100%;resize:vertical;min-height:120px;padding:12px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:10px;font:inherit}.bot-log{font-size:12px;border-bottom:1px solid var(--line);padding:8px}.login{position:relative;box-shadow:0 30px 100px #0008;border:1px solid #8299ff55}.login:before{content:'';position:absolute;inset:-2px;border-radius:26px;z-index:-1;background:linear-gradient(140deg,#6d9fff55,transparent,#bb67d044)}
@media(max-width:1100px){.toptools{gap:4px}.toptools button{padding:8px}.network{font-size:10px}.primarybar{gap:10px}.my-role{display:none}}
@media(max-width:750px){.app{margin:0;height:100dvh;border-radius:0}.primarybar{height:64px}.toptools #openServices{display:block}.toptools #openCensor{font-size:0;width:35px}.toptools #openCensor:before{content:'◈';font-size:18px}.toptools #openServices{font-size:0;width:35px}.toptools #openServices:before{content:'⚙';font-size:18px}.toptools #openAdmin{font-size:0;width:35px}.toptools #openAdmin:before{content:'◇';font-size:18px}.brand{font-size:19px}.brandicon{display:none}.topicbar{height:36px}.users{top:150px}.room-welcome{padding:20px 16px 12px}.room-welcome h2{font-size:20px}.line{font-size:13px}.dialog{padding:24px 16px}.service-card{padding:14px}.dlg-grid{grid-template-columns:1fr 1fr}.dlg-grid .do{font-size:12px;min-height:44px}}

/* Compact user rows; readable nicknames, no persistent action panel. */
.users{width:242px}.user-list{padding:4px 7px;gap:2px}.user{padding:5px 7px;margin:0;min-height:40px;gap:8px;border-radius:8px}.user .name{font-size:14px;line-height:1.2}.avatar{width:26px;height:26px;border-radius:8px;font-size:9px}.user-person .duration{margin-top:1px;font-size:9px;line-height:1.2}.role-stack{gap:2px}.user .role{font-size:8px;line-height:1.1;padding:2px;width:39px}.user-title{height:46px;padding:0 12px}.users #filterUsers{padding:8px;font-size:12px;margin-bottom:6px}.user-foot{padding:8px;font-size:9px}@media(max-width:750px){.users{width:242px;max-width:85vw}}

/* oChat role icons v1 */
.user .avatar{background:transparent;color:var(--accent);border-radius:0;width:25px;height:25px}.avatar:before{content:"";display:block;width:21px;height:21px;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}
.avatar.icon-owner{color:#e7b451}.avatar.icon-owner:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206l4%204%205-7%205%207%204-4-2%2013H5L3%206zm3%2010h12%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206l4%204%205-7%205%207%204-4-2%2013H5L3%206zm3%2010h12%22%2F%3E%3C%2Fsvg%3E")}
.avatar.icon-admin{color:#bc91ec}.avatar.icon-admin:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-8%209-8%209s-8-4-8-9V6l8-3zm-4%209%203%203%205-6%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-8%209-8%209s-8-4-8-9V6l8-3zm-4%209%203%203%205-6%22%2F%3E%3C%2Fsvg%3E")}
.avatar.icon-op{color:#729cfa}.avatar.icon-op:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-8%209-8%209s-8-4-8-9V6l8-3zm0%205v8m-4-4h8%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-8%209-8%209s-8-4-8-9V6l8-3zm0%205v8m-4-4h8%22%2F%3E%3C%2Fsvg%3E")}
.avatar.icon-halfop{color:#48bdb0}.avatar.icon-halfop:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-8%209-8%209s-8-4-8-9V6l8-3zm0%204v10%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%205-8%209-8%209s-8-4-8-9V6l8-3zm0%204v10%22%2F%3E%3C%2Fsvg%3E")}
.avatar.icon-voice{color:#83b573}.avatar.icon-voice:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205a3%203%200%200%201%206%200v7a3%203%200%200%201-6%200V5zm-3%206v1a6%206%200%200%200%2012%200v-1m-6%207v4m-4%200h8%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205a3%203%200%200%201%206%200v7a3%203%200%200%201-6%200V5zm-3%206v1a6%206%200%200%200%2012%200v-1m-6%207v4m-4%200h8%22%2F%3E%3C%2Fsvg%3E")}
.avatar.icon-user{color:#91a0b8}.avatar.icon-user:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a4%204%200%201%201%200%208%204%204%200%200%201%200-8zm-7%2018v-2a7%207%200%200%201%2014%200v2%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a4%204%200%201%201%200%208%204%204%200%200%201%200-8zm-7%2018v-2a7%207%200%200%201%2014%200v2%22%2F%3E%3C%2Fsvg%3E")}
.avatar.icon-ircop{color:#f47e98}.avatar.icon-ircop:before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1%203-6%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202l3%206%207%201-5%205%201%207-6-3-6%203%201-7-5-5%207-1%203-6%22%2F%3E%3C%2Fsvg%3E")}

/* oChat compact profile v1 */
.profile-card{width:100%;min-width:0}.profile-name{font-size:22px;font-weight:800;overflow-wrap:anywhere;margin:12px 0 6px}.profile-role{color:#a6b4ff;font-size:13px;margin-bottom:18px}.profile-row{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-bottom:1px solid #ffffff12;overflow-wrap:anywhere}.profile-row small{font-size:12px;opacity:.65}.profile-row span{font-size:14px;line-height:1.5}.user-list>.do,.profile-card>.do{margin-top:16px;width:100%}.compact-whois .dialog{width:min(380px,calc(100vw - 28px));max-height:80vh;overflow:auto}.compact-whois h2{font-size:18px}.compact-whois .profile-name{font-size:21px}.compact-whois .profile-row{padding:8px 0}.users .user-list{overflow-y:auto}

/* oChat WHOIS IRC operator highlight */
.profile-role.profile-role-ircop{display:inline-flex;align-items:center;color:#ff526b!important;font-weight:800;font-size:14px;padding:7px 11px;border:1px solid #ff526b55;border-radius:9px;background:#ff526b12;box-shadow:0 0 18px #ff526b10;letter-spacing:.2px}.profile-oper-detail{color:#ff7185;font-weight:700;font-size:13px;line-height:1.5;margin:-6px 0 16px;overflow-wrap:anywhere}

/* oChat readability v1 */
#messages .line.message,#messages .line.notice{font-size:18px!important;line-height:1.65!important;padding-top:5px;padding-bottom:5px}
#messages .line .body{min-width:0;overflow-wrap:anywhere}
#messages .line .nick{font-size:inherit!important;font-weight:800}
#messages .line .time{font-size:12px!important}
#messages .line.quiz-bot{margin:7px 0;padding:10px 12px!important;border-left:3px solid #26b9ae;border-radius:9px;background:#19acaa12}
#messages .line.quiz-bot .body,#messages .line.quiz-bot .nick{color:#08796e!important;font-weight:650}
body.dark #messages .line.quiz-bot .body,body.dark #messages .line.quiz-bot .nick{color:#70eadc!important}
#messages .line.quiz-question{border-left-color:#e8b849;background:#dfad3217;padding-top:13px!important;padding-bottom:13px!important}
#messages .line.quiz-question .body,#messages .line.quiz-question .nick{color:#815600!important;font-size:20px!important;font-weight:750;line-height:1.65}
body.dark #messages .line.quiz-question .body,body.dark #messages .line.quiz-question .nick{color:#ffe092!important}
#message{font-size:18px!important}
@media(max-width:750px){#messages .line.message,#messages .line.notice{font-size:16px!important}#messages .line.quiz-question .body,#messages .line.quiz-question .nick{font-size:18px!important}#messages .line .time{font-size:10px!important}#messages .line.quiz-bot{padding-left:5px!important;padding-right:5px!important}#message{font-size:16px!important}}

/* OCHAT_COMPACT_MESSAGE_SPACING_START */
/* Font sizes/colors stay unchanged; only vertical rhythm is tightened. */
#messages .line.message,
#messages .line.notice {
  line-height: 1.22 !important;
  min-height: 0 !important;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Quiz bot keeps its turquoise/gold styles with less empty space. */
#messages .line.quiz-bot {
  margin: 1px 0 !important;
  padding: 3px 8px !important;
  line-height: 1.22 !important;
}
#messages .line.quiz-question {
  margin: 2px 0 !important;
  padding: 4px 8px !important;
}
#messages .line.quiz-question .body,
#messages .line.quiz-question .nick {
  line-height: 1.22 !important;
}
@media (max-width: 750px) {
  #messages .line.message,
  #messages .line.notice {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
  }
  #messages .line.quiz-bot {
    padding: 3px 4px !important;
    margin: 1px 0 !important;
  }
  #messages .line.quiz-question {
    padding: 4px 4px !important;
    margin: 1px 0 !important;
  }
}
/* OCHAT_COMPACT_MESSAGE_SPACING_END */

/* OCHAT_UI_FIX_V4_START */
/* Slightly smaller chat text; preserve readability and current colors. */
.line,
#messages .line,
body.dark .line {
  font-size: 12px !important;
  line-height: 1.48 !important;
}
.line.join,
.line.quit,
.line.mode,
.line.part,
.line.kick,
.line.topic,
body.dark .line.join,
body.dark .line.quit,
body.dark .line.mode,
body.dark .line.part,
body.dark .line.kick,
body.dark .line.topic {
  font-size: 10.5px !important;
}
#messages .line.quiz-question,
#messages .line.quiz-bot {
  font-size: 12px !important;
}
@media (max-width: 750px) {
  .line,
  #messages .line,
  body.dark .line {
    font-size: 11px !important;
    line-height: 1.42 !important;
  }
  .line.join,
  .line.quit,
  .line.mode,
  .line.part,
  .line.kick,
  .line.topic,
  body.dark .line.join,
  body.dark .line.quit,
  body.dark .line.mode,
  body.dark .line.part,
  body.dark .line.kick,
  body.dark .line.topic {
    font-size: 10px !important;
  }
}
/* OCHAT_UI_FIX_V4_END */

/* OCHAT_UNIFORM_CHAT_FONT_V5_START */
/* Explicitly override the older 18px / 20px !important on nested quiz text. */
#messages .line.message,
#messages .line.notice,
#messages .line.quiz-bot,
#messages .line.quiz-question {
    font-size: 15px !important;
}
#messages .line.message .body,
#messages .line.message .nick,
#messages .line.notice .body,
#messages .line.notice .nick,
#messages .line.quiz-bot .body,
#messages .line.quiz-bot .nick,
#messages .line.quiz-question .body,
#messages .line.quiz-question .nick,
body.dark #messages .line.quiz-bot .body,
body.dark #messages .line.quiz-bot .nick,
body.dark #messages .line.quiz-question .body,
body.dark #messages .line.quiz-question .nick {
    font-size: 15px !important;
}
/* Preserve the compact line rhythm from v3. */
#messages .line.quiz-bot .body,
#messages .line.quiz-bot .nick,
#messages .line.quiz-question .body,
#messages .line.quiz-question .nick {
    line-height: 1.22 !important;
}
@media (max-width: 750px) {
    #messages .line.message,
    #messages .line.notice,
    #messages .line.quiz-bot,
    #messages .line.quiz-question,
    #messages .line.message .body,
    #messages .line.message .nick,
    #messages .line.notice .body,
    #messages .line.notice .nick,
    #messages .line.quiz-bot .body,
    #messages .line.quiz-bot .nick,
    #messages .line.quiz-question .body,
    #messages .line.quiz-question .nick,
    body.dark #messages .line.quiz-bot .body,
    body.dark #messages .line.quiz-bot .nick,
    body.dark #messages .line.quiz-question .body,
    body.dark #messages .line.quiz-question .nick {
        font-size: 14px !important;
    }
}
/* OCHAT_UNIFORM_CHAT_FONT_V5_END */
