.mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:9998}.mobile-overlay.active{display:block}.container{display:flex;height:100vh;height:100dvh;position:relative}.sidebar{width:290px;background:var(--bg-secondary);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;transition:transform .15s linear;position:relative;z-index:2;overflow-y:auto;height:100vh;height:100dvh}.sidebar-header{padding:20px 16px;border-bottom:1px solid var(--glass-border);text-align:center;background:#00000026}.logo-ascii{font-size:4.5px;line-height:1.2;color:var(--primary);margin-bottom:8px;font-family:monospace;white-space:pre;overflow:hidden;opacity:.9}body.nymchat-app .logo-ascii{display:none}.nym-display{margin-top:15px;padding:10px 14px;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.nym-display:hover{background:#ffffff12;border-color:rgb(from var(--primary) r g b / .3);box-shadow:0 0 15px rgb(from var(--primary) r g b / .08)}.nym-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;font-weight:500}.nym-identity{display:flex;align-items:center;gap:10px;margin-top:6px;min-width:0}.nym-value{font-size:15px;color:var(--secondary);overflow:hidden;text-overflow:ellipsis;word-break:break-all;font-weight:600;min-width:0}.nym-value .nym-suffix{color:var(--text-dim)}.status-indicator{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-dim);margin-top:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}.nav-section{padding:16px 12px 12px;border-bottom:1px solid var(--glass-border);position:relative}.nav-title{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:10px;padding-left:8px;display:flex;justify-content:flex-start;align-items:center;font-weight:600;gap:10px}.nav-title-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-reorder-arrows{display:none;align-items:center;gap:3px;margin-right:6px}body.sidebar-reorder-mode .section-reorder-arrows{display:inline-flex}body.sidebar-reorder-mode .nav-title{cursor:grab}.section-reorder-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:var(--radius-xs);background:#ffffff14;color:var(--text);cursor:pointer;transition:background .12s,opacity .12s}.section-reorder-btn:hover:not(:disabled){background:var(--primary);color:#fff}.section-reorder-btn:disabled{opacity:.25;cursor:default}.search-icon,.discover-icon,.collapse-icon{cursor:pointer;padding:2px 5px;transition:all .2s;width:20px;height:20px}.search-icon:hover svg,.discover-icon:hover svg,.collapse-icon:hover svg{stroke:var(--primary)}.search-icon svg,.discover-icon svg,.collapse-icon svg{width:14px;height:14px;stroke:var(--text-dim);stroke-width:2;fill:none;transition:stroke .2s,transform .2s}.collapse-icon svg{stroke-linecap:round;stroke-linejoin:round}.nav-section.section-collapsed>*:not(.nav-title),.user-list.section-collapsed>*:not(.nav-title){display:none!important}.section-collapsed .collapse-icon svg{transform:rotate(-90deg)}.search-input-wrapper{position:relative;display:none;margin-bottom:10px}.search-input-wrapper.active{display:block}.search-input{width:100%;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-xs);color:var(--text-bright, #ffffff);padding:8px 28px 8px 12px;font-family:var(--font-sans);font-size:12px;outline:none;display:block;box-sizing:border-box;transition:all var(--transition)}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;display:none;transition:color .2s;z-index:2}.search-clear:hover{color:var(--danger)}.search-input-wrapper.has-value .search-clear{display:block}.search-input:focus{border-color:rgb(from var(--primary) r g b / .3);background:#ffffff14;box-shadow:0 0 0 3px rgb(from var(--primary) r g b / .06)}.view-more-btn{padding:8px 12px;margin:6px 10px;text-align:center;color:var(--text-dim);border:1px solid var(--glass-border);border-radius:var(--radius-xs);cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:1px;transition:all var(--transition);display:block!important;font-weight:500}.view-more-btn:hover{border-color:rgb(from var(--primary) r g b / .3);background:rgb(from var(--primary) r g b / .08);color:var(--text)}.list-collapsed .list-item.list-overflow{display:none!important}.list-expanded .view-more-btn{display:none}.list-expanded .list-item:not(.search-hidden){display:flex!important}.channel-list,.pm-list{max-height:none;overflow-y:visible;display:flex;flex-direction:column;position:relative}.channel-item,.pm-item{padding:9px 12px;margin:2px 4px;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-xs);position:relative;display:flex;align-items:center;justify-content:space-between;pointer-events:auto;z-index:1;min-height:36px;font-size:var(--user-text-size)}.channel-item.has-unread{order:-1}.channel-item.pinned{order:-2;background:#9696a01a;border-color:#9696a033;box-shadow:0 0 12px #9696a00d}.channel-item.pinned:not(.active):before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--text-dim);box-shadow:0 0 8px #9696a04d}@media(hover:hover){.channel-item:hover,.pm-item:hover{background:#ffffff0f}}.channel-item.active,.pm-item.active{background:rgb(from var(--primary) r g b / .1);border-color:rgb(from var(--primary) r g b / .2);box-shadow:0 0 12px rgb(from var(--primary) r g b / .05)}.channel-item.active{order:-3}.channel-item[data-geohash=nymchat],.channel-item[data-channel=nymchat]{order:-4}.channel-item.active:before,.pm-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--primary);box-shadow:0 0 8px rgb(from var(--primary) r g b / .4)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.channel-name,.pm-name{flex:1;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;min-width:0;max-width:100%;display:block;white-space:normal;line-height:1.3}.channel-sub{display:flex;align-items:baseline;margin-top:1px;font-size:.72rem;line-height:1.25;color:var(--text-dim);white-space:nowrap;overflow:hidden;min-width:0}.channel-sub .loc-city{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-sub .loc-country{flex:0 0 auto;white-space:nowrap}.channel-badges{display:flex;gap:5px;align-items:center;pointer-events:none;flex-shrink:0;margin-left:5px}.channel-badges>*{pointer-events:auto}.row-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-dim);opacity:.55;cursor:pointer;flex-shrink:0;transition:opacity var(--transition),color var(--transition),background var(--transition)}.row-menu-btn:hover,.row-menu-btn:focus-visible{opacity:1;color:var(--text);background:var(--glass-bg)}.row-menu-btn:focus-visible{outline:1px solid var(--primary);outline-offset:1px}.row-menu-btn svg{display:block;pointer-events:none}.std-badge{font-size:9px;color:var(--blue);background:#0080ff1a;padding:2px 6px;border:1px solid rgba(0,128,255,.25);border-radius:20px;font-weight:500}.geohash-badge{font-size:9px;color:var(--warning);background:#ffff0014;padding:2px 6px;border:1px solid rgba(255,255,0,.2);border-radius:20px;font-weight:500}.delete-pm{font-size:16px;color:var(--danger);padding:4px 8px;cursor:pointer;opacity:.5;transition:opacity .2s;line-height:1}.delete-pm:hover{opacity:1}.unread-badge{background:var(--primary);color:var(--bg);padding:2px 7px;border-radius:20px;font-size:10px;font-weight:600;min-width:3ch;box-sizing:content-box;text-align:center;font-variant-numeric:tabular-nums}@keyframes glow{0%{box-shadow:0 0 3px var(--danger)}to{box-shadow:0 0 8px var(--danger)}}.sidebar-actions{display:none;padding:16px 12px;border-top:1px solid var(--glass-border);gap:6px;flex-direction:row}.sidebar-actions .icon-btn{flex:1;padding:6px 4px;text-align:center;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.sidebar-actions .icon-btn svg{flex-shrink:0}.sidebar-actions .icon-btn .btn-label{display:block;font-size:9px;line-height:1;font-weight:500;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.user-list{flex:0 1 auto;overflow-y:visible;padding:10px;min-height:0}.user-item{padding:6px 12px;margin:2px 4px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:calc(var(--user-text-size) - 3px);color:var(--text-dim);display:flex;align-items:center;gap:8px;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word}.user-item .nym-suffix,.pm-name .nym-suffix{opacity:.7;font-size:.9em;font-weight:100}.user-item>span:last-child,.pm-name{color:var(--text-dim)}@media(hover:hover){.user-item:hover>span:last-child{color:var(--text)}}.user-item>span:last-child{word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0}@media(hover:hover){.user-item:hover{color:var(--text);background:#ffffff0a;border-radius:var(--radius-xs)}}.user-item.search-hidden{display:none!important}.user-status{width:6px;height:6px;border-radius:50%;background:#22c55e}.user-status.away{background:#eab308}.user-status.offline{background:#6b7280}.context-menu{position:fixed;top:0;right:0;width:320px;max-width:85vw;height:100vh;height:100dvh;background:var(--bg-tertiary);border-left:1px solid var(--glass-border);z-index:10100;padding:0;overflow-y:auto;overflow-x:hidden;transform:translate(100%);transition:transform .15s linear;display:flex;flex-direction:column}.context-menu.active{transform:translate(0);box-shadow:-4px 0 24px #0006}.context-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:10099;opacity:0;pointer-events:none;transition:opacity .25s ease}.context-menu-overlay.active{opacity:1;pointer-events:auto}.context-menu-close{position:absolute;top:14px;right:14px;width:32px;height:32px;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-dim);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-size:16px;z-index:2;transition:all var(--transition)}.context-menu-close:hover{background:#ff44441f;color:var(--danger);border-color:#ff44444d}.context-menu-actions{padding:6px;border-top:1px solid rgba(255,255,255,.06)}.channel-context-menu{position:fixed;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0d;z-index:10100;display:none;min-width:180px;padding:6px;overflow:hidden}.channel-context-menu.active{display:block}.context-menu-item{padding:10px 14px;cursor:pointer;font-size:13px;color:var(--text);border-bottom:none;border-radius:var(--radius-xs);font-weight:450}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:#ffffff14;color:var(--primary)}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:#ff44441f;color:var(--danger)}.main-content{flex:1;display:flex;flex-direction:column;position:relative;min-width:0;overflow:hidden}.chat-header{padding:16px 24px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;background:var(--glass-bg);min-width:0;overflow:hidden}.channel-info{display:flex;align-items:center;gap:15px;min-width:0;flex:1 1 auto;overflow:hidden}.channel-info>.nm-h-15{min-width:0;flex:1 1 auto;overflow:hidden}.channel-title-wrap{min-width:0;flex:1 1 auto;overflow:hidden;margin-left:20px;margin-right:20px}.channel-header-controls{display:grid;grid-template-columns:auto auto;grid-auto-rows:auto;row-gap:12px;column-gap:2px;justify-content:start;align-items:center}.channel-nav-buttons,.channel-action-buttons{display:contents}.channel-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s}.channel-nav-btn:hover:not(:disabled){background:#ffffff14;color:var(--primary)}.channel-nav-btn:disabled{opacity:.3;cursor:default}.channel-nav-btn svg{fill:none;stroke:currentColor}.channel-title{font-size:calc(var(--user-text-size) + 3px);color:var(--primary);font-weight:700;letter-spacing:.3px;min-height:calc((var(--user-text-size) + 3px) * 1.4 + 19px);min-width:0;max-width:100%;overflow:hidden}.channel-title-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pm-header-row,.group-header-row{display:flex;align-items:center;min-width:0;max-width:100%;gap:0;overflow:hidden}.pm-header-row>*,.group-header-row>*{flex:0 0 auto}.pm-name-text,.group-name-text{flex:0 1 auto!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-location{font-size:12px;color:var(--text-dim);text-shadow:none;margin-top:2px;max-width:100%;display:flex;align-items:baseline;min-width:0}.channel-location a{color:var(--text-dim);text-shadow:none;display:inline-flex;align-items:baseline;min-width:0;max-width:100%;overflow:hidden}.channel-location .loc-city{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-location .loc-country,.channel-location-dist{flex:0 0 auto;white-space:nowrap}.channel-meta{font-size:11px;color:var(--text-dim);font-weight:400}.header-actions{display:flex;gap:5px;flex-wrap:wrap}.icon-btn{background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-xs);color:var(--text);padding:7px 14px;cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:500;transition:all var(--transition);text-transform:uppercase;letter-spacing:.8px;display:inline-flex;align-items:center;gap:5px}.icon-btn:hover{background:rgb(from var(--primary) r g b / .12);color:var(--primary);border-color:rgb(from var(--primary) r g b / .3);box-shadow:0 0 15px rgb(from var(--primary) r g b / .1)}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 20px 16px;display:flex;flex-direction:column-reverse;font-size:14px;background-color:#00000026;contain:layout style;transform:translateZ(0);backface-visibility:hidden}
