:root{--bg:#1a1a2e;--pn:#16213e;--bd:#2a2a4a;--tx:#e0e0e0;--mn:#0f3460;--th:#2a2a4a;--ib:#1a1a2e;--ac:#00d2ff;--mt:#888;--dm:#555;--bx:#444}
body.light{--bg:#e8ecf1;--pn:#ffffff;--bd:#d1d5db;--tx:#1a1a2e;--mn:#d1e7ff;--th:#f0f0f0;--ib:#f5f5f5;--ac:#0066cc;--mt:#888;--dm:#999;--bx:#ccc}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden;position:fixed;width:100%}
body{font-family:system-ui,-apple-system,sans-serif,'Noto Color Emoji';background:var(--bg);color:var(--tx);font-size:16px}
.h{display:none!important}

/* Buttons */
.sq{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--pn);border:1px solid var(--bx);color:var(--tx);border-radius:7px;cursor:pointer;font-size:20px;flex-shrink:0}
.bp{padding:10px;background:var(--mn);color:#fff;border:none;border-radius:7px;font-size:15px;font-weight:600;cursor:pointer}
.bo{padding:10px;background:0 0;color:var(--ac);border:1px solid var(--ac);border-radius:7px;font-size:15px;font-weight:600;cursor:pointer}
.bp-danger{background:#ff6b6b;border-color:#ff6b6b}
body.light .bp{color:#fff;background:#2563eb}
body.light .bo{color:#2563eb;border-color:#2563eb}

/* Auth */
#auth{display:none;align-items:center;justify-content:center;height:100%}
#auth.visible{display:flex}
.ab{display:flex;flex-direction:column;gap:12px;padding:32px;background:var(--pn);border-radius:12px;border:1px solid var(--bd);width:300px}
.ab h1{text-align:center;font-size:1.4rem;letter-spacing:3px}
.ab input{padding:10px 12px;border:1px solid var(--bx);border-radius:7px;background:var(--ib);color:var(--tx);font-size:15px;outline:none}
.ab input:focus,#mi:focus{border-color:var(--ac)}
#ae{color:#ff6b6b;font-size:14px;min-height:18px;text-align:center}

/* Top bar */
#app{display:flex;flex-direction:column;height:100%}
#top{display:flex;align-items:center;gap:6px;padding:6px 9px;background:var(--pn);border-bottom:1px solid var(--bd);height:48px;flex-shrink:0}
#ct{flex:1;font-weight:600;font-size:17px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Dropdown menu */
#menu{position:relative}
#dd{position:absolute;right:0;top:110%;background:var(--pn);border:1px solid var(--bd);border-radius:7px;min-width:160px;z-index:20;overflow:hidden}
#dd div{padding:10px 14px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--bg)}
#dd div:last-child{border:none}
#dd div:hover{background:var(--mn);color:#fff}
body.light #dd div:hover{background:#2563eb;color:#fff}

/* Sidebar */
#main{display:flex;flex:1;overflow:hidden;position:relative}
#sb{position:fixed;left:0;top:48px;bottom:0;width:220px;z-index:10;background:var(--pn);border-right:1px solid var(--bd);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .2s}
#sb.open{transform:translateX(0)}
.sh{padding:8px 12px;font-size:12px;font-weight:700;color:var(--dm);letter-spacing:2px;text-align:center}
#cl{flex:1;overflow-y:auto;min-height:0}
.c{padding:10px 12px;cursor:pointer;font-size:15px;border-bottom:1px solid var(--bg);display:flex;align-items:center;justify-content:center;position:relative}
.c:hover{background:var(--bg)}
.c.a{background:var(--mn);color:#fff}
body.light .c.a{color:#1a1a2e}
.cname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align: center;}
.badge{background:#ff3b30;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0;margin-left:6px}
.sb-div{border-top:1px solid var(--bd);margin:0}
.sb-actions{display:flex;flex-direction:column;flex-shrink:0}
.sba{padding:10px 12px;background:none;border:none;color:var(--ac);font-size:14px;font-weight:600;cursor:pointer;text-align:center;border-bottom:1px solid var(--bg);width:100%}
.sba:hover{background:var(--bg)}
body.light .sba{color:#2563eb}
#ov{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:9}

/* Chat area */
#ca{flex:1;display:flex;flex-direction:column;min-width:0}
#ms{flex:1;overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}
.m{max-width:75%;margin-bottom:6px;padding:7px 10px;border-radius:10px;font-size:14px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}
.m .t{font-size:11px;color:var(--mt);margin-bottom:2px}
.m.r{margin-left:auto;background:var(--mn);border-bottom-right-radius:3px}
.m.l{margin-right:auto;background:var(--th);border-bottom-left-radius:3px}
body.light .m.r{color:#1a1a2e}
.m a{color:#4fc3f7;text-decoration:none;font-size:14px;word-break:break-all}
body.light .m a{color:#2563eb}

/* Input bar */
#ib{display:flex;gap:6px;padding:6px 8px;background:var(--pn);border-top:1px solid var(--bd);flex-shrink:0;align-items:flex-end}
#mi{flex:1;padding:8px 10px;border:1px solid var(--bx);border-radius:7px;background:var(--ib);color:var(--tx);font-size:15px;outline:none;font-family:inherit;resize:none;line-height:1.4;min-height:36px;max-height:calc(1.4em * 3 + 16px);overflow-y:auto}
#sn{background:var(--mn);color:#fff;border-color:var(--mn)}
body.light #sn{background:#2563eb;border-color:#2563eb}

/* Delete account button */
.da{padding:10px 12px;background:none;border:none;border-top:1px solid var(--bg);color:#ff6b6b;font-size:14px;font-weight:600;cursor:pointer;text-align:center;flex-shrink:0;width:100%}
.da:hover{background:rgba(255,107,107,.1)}

/* Modals */
.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:30;display:flex;align-items:center;justify-content:center}
.mc{background:var(--pn);border:1px solid var(--bd);border-radius:12px;padding:16px;width:300px;max-height:80vh;display:flex;flex-direction:column;gap:8px;overflow-y:auto}
.mc h2{text-align:center;font-size:1rem;letter-spacing:1px;margin-bottom:2px}
.mc input[type="text"],.mc-input{padding:8px 10px;border:1px solid var(--bx);border-radius:7px;background:var(--ib);color:var(--tx);font-size:15px;outline:none}
.mc input[type="text"]:focus,.mc-input:focus{border-color:var(--ac)}
.mc .bp,.mc .bo{padding:8px;font-size:14px}
.mc-hint{text-align:center;font-size:14px;color:var(--dm)}
#gml{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.gl{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:14px;cursor:pointer;border-radius:7px}
.gl:hover{background:var(--bg)}
.gl input[type="checkbox"]{width:18px;height:18px;accent-color:var(--ac)}
.sh.mc-sh{padding:5px 12px;font-size:11px}
.mbb{display:flex;gap:8px}
.mbb button{flex:1}
.merr{color:#ff6b6b;font-size:13px;min-height:16px;text-align:center}

/* Menu button notification dot */
#sb-btn{position:relative}
#sb-btn::after{content:'';position:absolute;top:2px;right:2px;width:10px;height:10px;background:#ff3b30;border-radius:50%;display:none}
#sb-btn.has-unread::after{display:block}
