*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.border{border-width:1px}.border-neutral-800{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.p-8{padding:2rem}.opacity-0{opacity:0}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg: #0f1117;--bg-elev: #171a22;--bg-elev2: #1e222d;--border: #262b38;--text: #e6e9f0;--muted: #8a90a3;--accent: #3b82f6;--accent-2: #22c55e}*{box-sizing:border-box}html,body,#root{height:100%;height:100dvh;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}input,select,textarea{font:inherit;font-size:16px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:12px;width:100%}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.muted{color:var(--muted)}.pad{padding:16px}.center-screen{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.error-box{color:#fca5a5;background:#2a1517;border:1px solid #7f1d1d;border-radius:12px;padding:20px}.join-wrap{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;gap:24px}.brand{text-align:center}.brand h1{margin:10px 0 4px;font-size:22px}.brand p{margin:0;font-size:14px}.logo{width:64px;height:64px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:16px;font-weight:800;font-size:22px;background:linear-gradient(135deg,var(--accent),#7c3aed)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:20px}.join-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.join-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.btn-primary{background:var(--accent);color:#fff;border-radius:10px;padding:14px;font-weight:600;font-size:15px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.app{height:100%;height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--bg-elev);border-bottom:1px solid var(--border)}.topbar-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.on{background:var(--accent-2)}.dot.warn{background:#f59e0b}.hamburger{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:10px;flex-shrink:0;border-radius:8px}.hamburger-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:10px;line-height:16px;text-align:center;background:var(--accent);color:#fff;font-weight:700}.hamburger:hover{background:var(--bg-elev2)}.hamburger-line{display:block;height:2px;width:100%;background:var(--text);border-radius:2px}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:900}.menu-drawer{position:fixed;top:0;left:0;bottom:0;width:min(72vw,280px);background:var(--bg-elev2);border-right:1px solid var(--border);padding:calc(16px + var(--edge-left) + env(safe-area-inset-top)) calc(12px + var(--edge-right)) 16px;z-index:901;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.menu-drawer.open{transform:translate(0)}@media(orientation:landscape){.menu-drawer{width:min(420px,88vw);padding-left:calc(16px + var(--edge-left))}}.menu-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 8px 8px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px;font-size:15px;font-weight:600;border-radius:8px;color:var(--muted);text-align:left}.menu-item:hover{background:var(--bg-elev)}.menu-item.active{color:var(--accent);background:var(--bg-elev)}.menu-drawer .menu-title{margin-top:14px}.ping-row{display:flex;gap:6px;padding:6px 12px 12px}.ping-opt{flex:1;padding:7px 0;font-size:13px;text-align:center;border-radius:8px;border:1px solid var(--border, rgba(255, 255, 255, .12));background:transparent;color:var(--text);cursor:pointer}.ping-opt.active{background:var(--accent);color:#fff;border-color:var(--accent)}.menu-item .badge{margin-left:auto;min-width:18px;padding:1px 5px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;text-align:center}.btn-ghost{background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px}.banner{padding:10px 16px;font-size:14px}.error-banner{background:#2a1517;color:#fca5a5;border-bottom:1px solid #7f1d1d}.support-warning{background:#2a2410;color:#fde68a;padding:8px 16px;font-size:13px;line-height:1.35;text-align:center;border-bottom:1px solid #854d0e}.channel-banner-inline{position:absolute;top:50%;right:0;transform:translateY(-50%);width:100%;height:82%;max-height:52px;-o-object-fit:cover;object-fit:cover;-o-object-position:right center;object-position:right center;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 22%,rgba(0,0,0,.55) 45%,#000 72%,rgba(0,0,0,.9) 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 22%,rgba(0,0,0,.55) 45%,#000 72%,rgba(0,0,0,.9) 100%);opacity:.45;transition:opacity .15s ease}.channel-row.active .channel-banner-inline{opacity:1}.channel-row.active .channel-name,.channel-row.active .count,.channel-row.active .hash{text-shadow:0 1px 2px rgba(0,0,0,.85)}.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--edge-left: env(safe-area-inset-left);--edge-right: env(safe-area-inset-right)}.content.split-host{overflow:hidden;display:flex;min-height:0}.split{--sb: 34%;--smin: 230px;--smax: 380px;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.split-top{display:flex;align-items:center;padding-top:calc(12px + env(safe-area-inset-top));background:var(--bg-elev);border-bottom:1px solid var(--border)}.split-top-left{flex:0 0 var(--sb);max-width:var(--smax);min-width:var(--smin);display:flex;align-items:center;gap:10px;padding-left:calc(12px + var(--edge-left));border-right:1px solid var(--border)}.split-top-left .topbar-title{flex:1;justify-content:center;min-width:0}.split-top-left .btn-ghost{flex-shrink:0;margin-right:12px}.split-top-convs{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;padding-left:12px;padding-right:calc(12px + var(--edge-right))}.split-body{display:flex;flex:1;min-height:0}.split-left{flex:0 0 var(--sb);max-width:var(--smax);min-width:var(--smin);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.split-tree{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-left:var(--edge-left)}.split-left .toolbar{padding:6px 0;padding-left:var(--edge-left);padding-bottom:calc(6px + env(safe-area-inset-bottom));margin-top:0}.split-right{flex:1 1 auto;min-width:0;min-height:0;display:flex}.split-right .chat{flex:1;min-width:0;min-height:0}.split-right .chat-list{padding-right:calc(12px + var(--edge-right))}.split-right .chat-input{padding:6px 12px;padding-right:calc(12px + var(--edge-right));padding-bottom:calc(6px + env(safe-area-inset-bottom));align-items:center}.split-right .chat-input input{height:44px;min-height:44px;padding:0 12px;font-size:16px}.split-right .chat-input .btn-primary{height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}.split-left .toolbar .tool-ptt{height:64px;padding:14px 6px 6px;border-radius:22px 22px 14px 14px}.split-left .toolbar .tool-ptt.inert{height:56px;border-radius:18px}.split-left .toolbar .toolbar-buttons{height:44px}@media(min-width:768px){.split{--sb: 32%;--smin: 300px;--smax: 440px}}.channel-tree{padding:8px 0}.channel-spacer{display:flex;align-items:center;gap:4px;padding:3px 12px;min-height:20px;font-size:11px;line-height:1.2;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;overflow:hidden}.channel-spacer .spacer-text{letter-spacing:.12em;text-transform:uppercase;opacity:.85;overflow:hidden;white-space:nowrap;text-overflow:clip}.channel-spacer .spacer-fill{white-space:nowrap;overflow:hidden;letter-spacing:.25em;opacity:.45}.channel-spacer.spacer-center{justify-content:center}.channel-spacer.spacer-right{justify-content:flex-end}.channel-spacer .spacer-children{width:100%}.channel-row{position:relative;overflow:hidden;display:flex;align-items:center;gap:4px;padding:9px 12px;cursor:pointer}.channel-row>*:not(.channel-banner-inline){position:relative;z-index:1}.channel-row.active{background:var(--bg-elev);border-left:3px solid var(--accent)}.chevron{width:18px;height:18px;color:var(--muted);display:flex;align-items:center;justify-content:center}.chevron-spacer{width:18px}.hash{color:var(--muted);width:16px;text-align:center;font-size:13px}.hash.has-children{color:var(--text)}.channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.count{color:var(--muted);font-size:12px;padding-right:4px}.lock{font-size:11px;color:var(--muted);padding:0 2px;line-height:1}.channel-row:active .lock,.channel-row.active .lock{color:var(--accent)}.password-modal .password-input{width:100%;box-sizing:border-box;margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:15px}.password-modal .password-input:focus{outline:none;border-color:var(--accent)}.password-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.members{padding-left:34px}.member{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:13px}.member.speaking .avatar{box-shadow:0 0 0 2px var(--accent-2)}.avatar{width:20px;height:20px;border-radius:50%;background:var(--bg-elev2);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:9px;text-transform:uppercase}.member.speaking .avatar{color:var(--accent-2)}.member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-badges{display:inline-flex;gap:4px;margin-left:8px;margin-right:auto;flex-shrink:0}.member-badge{display:inline-block;font-size:8px;font-weight:800;letter-spacing:.04em;line-height:1;padding:2px 4px;border-radius:5px;color:#fff}.member-badge.away{background:#6b7280}.member-badge.muted{background:#dc2626}.member-badge.deafened{background:#b45309}.chat{height:100%;display:flex;flex-direction:column}.chat-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:85%;align-self:flex-start;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:8px 12px}.chat-msg.self{align-self:flex-end;background:#1c2b4a;border-color:#274b86}.chat-meta{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.chat-name{font-weight:700;font-size:13px;color:var(--accent)}.chat-time{font-size:11px;color:var(--muted)}.chat-body{font-size:14px;line-height:1.4;word-wrap:break-word}.chat-input{display:flex;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-elev)}.chat-input .btn-primary{padding:12px 16px}.chat-input .btn-primary.poke{background:var(--bg-elev2);color:var(--accent-2);border:1px solid var(--border)}.chat-input .btn-primary.poke:hover{background:var(--bg-elev)}.chat.compact .chat-list{gap:4px;padding:8px}.chat.compact .chat-msg{max-width:92%;border-radius:8px;padding:4px 8px}.chat.compact .chat-meta{margin-bottom:0;gap:6px}.chat.compact .chat-name{font-size:12px}.chat.compact .chat-time{font-size:10px}.chat.compact .chat-body{font-size:13px;line-height:1.35}.chat-msg.pm{border-color:var(--accent-2)}.chat-msg.pm .chat-name{color:var(--accent-2)}.poke-item{font-size:13px;background:var(--bg-elev);border:1px dashed var(--accent-2);border-radius:8px;padding:6px 10px;color:var(--text)}.convbar,.split-top-convs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.convbar{align-items:center;padding:8px 12px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.convbar .conv,.split-top-convs .conv{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;border:1px solid var(--border);background:var(--bg-elev2);color:var(--muted);font-size:13px;font-weight:600}.convbar .conv.active,.split-top-convs .conv.active{color:var(--text);border-color:var(--accent);background:#5d9bff24}.convbar .conv .badge,.split-top-convs .conv .badge{display:inline-block;min-width:16px;padding:0 5px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;text-align:center}.convbar .conv-wrap,.split-top-convs .conv-wrap{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;padding:2px 2px 2px 12px;border-radius:16px;border:1px solid var(--border);background:var(--bg-elev2)}.convbar .conv-wrap .conv,.split-top-convs .conv-wrap .conv{border:none;background:none;color:var(--muted);padding:4px}.convbar .conv-wrap .conv .badge,.split-top-convs .conv-wrap .conv .badge{display:inline-block;min-width:16px;padding:0 5px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;text-align:center}.convbar .conv-wrap.active,.split-top-convs .conv-wrap.active{border-color:var(--accent);background:#5d9bff24}.convbar .conv-wrap.active .conv,.split-top-convs .conv-wrap.active .conv{color:var(--text)}.convbar .conv-close,.split-top-convs .conv-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:var(--muted);font-size:12px;line-height:1}.convbar .conv-close:hover,.split-top-convs .conv-close:hover{color:#fff;background:#7f1d1d}.targetbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.target-label{font-size:13px;font-weight:700;color:var(--accent-2)}.toast-stack{position:fixed;top:calc(64px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(64%,300px);z-index:50;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:10px 14px;border-radius:10px;background:var(--bg-elev2);border:1px solid var(--accent);box-shadow:0 6px 20px #0006;color:var(--text);font-size:14px;line-height:1.35;animation:toast-in .25s ease;pointer-events:auto;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grab;transition:transform .2s ease,opacity .2s ease}.toast.dragging{transition:none;cursor:grabbing}.toast.poke{border-color:var(--accent-2)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.poke-strip{display:flex;flex-direction:column;gap:4px;padding:6px 12px;background:var(--bg-elev);border-bottom:1px solid var(--border)}.poke-notice{font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px}.poke-dismiss{margin-left:auto;flex:none;width:22px;height:22px;border:none;border-radius:50%;background:var(--bg-elev2);color:var(--muted);font-size:12px;line-height:1;cursor:pointer}.poke-dismiss:hover{color:var(--text);background:var(--border)}.member{position:relative}.member-actions{display:flex;gap:4px;margin-left:auto}.member-action{background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:12px;padding:2px 6px;cursor:pointer}.member-action:active{background:var(--accent);color:#fff}.btn-ghost.center{width:100%;justify-content:center}.btn-ghost.danger{color:#e07070}.btn-ghost.danger:active{background:#3a1f1f}.bookmark-card{width:100%;max-width:340px;margin:10px auto;padding:10px 12px}.card-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}.bookmark-row{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--border)}.bookmark-row:last-child{border-bottom:none}.bookmark-main{flex:1;display:flex;flex-direction:column;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;padding:2px 0}.bookmark-name{font-size:14px;font-weight:600}.bookmark-sub{font-size:12px}.bookmark-dismiss{flex:none;width:26px;height:26px;border:none;border-radius:50%;background:none;color:var(--muted);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bookmark-dismiss:active{background:var(--bg-elev);color:var(--text)}.saved-card .bookmark-row{flex-wrap:wrap}.saved-card .bookmark-main{flex-direction:row;align-items:center;gap:6px}.saved-chevron{font-size:11px;color:var(--muted);flex:none;width:18px;transition:transform .15s ease}.saved-chevron.open{transform:rotate(90deg)}.saved-unread{min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;line-height:18px;text-align:center;background:var(--accent);color:#fff;font-weight:700;flex:none;margin-left:4px}.saved-preview{width:100%;display:flex;flex-direction:column;padding:4px 0 2px 6px;border-top:1px dashed var(--border);margin-top:4px}.saved-channel-group{display:flex;flex-direction:column}.saved-channel{display:flex;align-items:center;gap:6px;padding:5px 4px;background:none;border:none;color:var(--text);font-size:13px;text-align:left;cursor:pointer;width:100%}.saved-channel:active{background:var(--bg-elev)}.saved-channel .lock{font-size:11px}.saved-preview .pad{font-size:12px}.join-pane{padding:16px;transition:padding .2s ease}.join-pane.open{padding:20px;display:flex;flex-direction:column;gap:14px}.join-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;color:var(--text);cursor:pointer;text-align:left}.join-toggle .card-title{margin:0}.join-toggle .chevron{font-size:12px;color:var(--muted);transition:transform .15s ease}.join-toggle .chevron.open{transform:rotate(90deg)}.bookmark-save{flex:none;width:26px;height:26px;border:none;border-radius:50%;background:none;color:var(--accent);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bookmark-save:active{background:var(--bg-elev);color:var(--text)}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.info-modal{background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;max-height:80vh;overflow-y:auto;padding:16px}.info-modal-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.info-modal-header h3{flex:1;margin:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-modal-header .hash{color:var(--accent);font-size:18px}.info-modal-body{display:flex;flex-direction:column;gap:8px}.info-field{display:flex;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border)}.info-field:last-of-type{border-bottom:none}.info-label{flex-shrink:0;width:120px;color:var(--muted)}.info-value{flex:1;word-break:break-word;white-space:pre-wrap}.info-flags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.flag{background:var(--bg-elev);border:1px solid var(--accent);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:12px}.member-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.member-sheet{background:var(--bg-elev2);border:1px solid var(--border);border-top-left-radius:14px;border-top-right-radius:14px;width:100%;max-width:420px;max-height:78vh;overflow-y:auto;padding:8px 12px calc(16px + env(safe-area-inset-bottom))}.member-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 4px;border-bottom:1px solid var(--border);margin-bottom:8px}.member-sheet-title h3{margin:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-sheet-actions{display:flex;flex-direction:column;gap:6px}.sheet-action{display:flex;align-items:center;gap:10px;width:100%;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:15px;color:var(--text);text-align:left}.sheet-action.danger{color:#f87171;border-color:#7f1d1d}.sheet-action:active{background:var(--bg-elev2)}.sheet-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border);font-size:14px}.sheet-row:last-of-type{border-bottom:none}.sheet-row label{flex:1;color:var(--muted)}.sheet-row input[type=range]{flex:1.4;accent-color:var(--accent)}.sheet-value{min-width:34px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.sheet-hint{margin:0 4px 6px;font-size:12px;color:var(--muted)}.sheet-btns{display:flex;gap:8px;margin-top:4px}.sheet-btns .btn-ghost{flex:1}.sheet-btns .danger{border-color:#7f1d1d;color:#f87171}.hint{font-size:12px;margin:0;text-align:center}.select-column{display:flex;flex-direction:column;gap:14px;width:100%;max-width:400px}.toggler{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.toggler input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.check-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.check-box{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elev2);border:1px solid var(--border);border-radius:7px;color:#fff;transition:background .2s,border-color .2s}.check-box svg{width:62%;height:62%}.check-box.on{background:var(--accent);border-color:var(--accent)}.toggler:hover .check-box{border-color:var(--accent)}.toggler:focus-within .check-box{box-shadow:0 0 0 2px #3b82f666}.join-card .toggler{flex-direction:row;justify-content:flex-start}.toolbar{position:relative;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elev);border-top:1px solid var(--border);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom));margin-top:4px}.toolbar-buttons{position:relative;display:flex;align-items:flex-end;gap:8px;height:56px;padding:0 10px}.tool-btn{flex:1;height:100%;display:flex;align-items:center;justify-content:center;padding:0 4px;font-size:12px;font-weight:700;color:var(--muted);background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.tool-btn:active{background:var(--bg-elev2)}.tool-btn.on{color:#fff;background:var(--accent);border-color:var(--accent)}.tool-btn-label{pointer-events:none}.tool-ptt{position:relative;flex:1.6;align-self:flex-end;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:22px 6px 12px;font-size:14px;font-weight:800;color:var(--text);background:linear-gradient(180deg,#2a3040,var(--bg-elev2));border:2px solid var(--border);border-radius:42px 42px 18px 18px;margin:0 -2px;height:106px;overflow:hidden;box-shadow:0 -6px 16px #00000059;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.tool-ptt.inert{opacity:.55;border-style:dashed;border-color:var(--muted);height:84px;box-shadow:none}.tool-ptt.down{background:linear-gradient(180deg,var(--accent),#1d4ed8);border-color:var(--accent);color:#fff;box-shadow:0 -6px 22px #3b82f680}.tool-ptt-meter{position:absolute;left:0;bottom:0;width:100%;background:linear-gradient(180deg,#3b82f626,#3b82f68c);border-radius:0 0 18px 18px;pointer-events:none;transition:height 60ms linear}.tool-ptt-meter.live{background:linear-gradient(180deg,#3b82f666,#22c55eb3)}.tool-ptt-label{position:relative;z-index:1;pointer-events:none}.settings-page{max-width:460px;margin:0 auto;padding:14px 14px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.settings-header{display:flex;align-items:center;gap:10px}.settings-header h2{flex:1;margin:0;font-size:18px}.settings-section{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:12px}.settings-section h3{margin:0 0 4px;font-size:14px}.settings-hint{margin:0 0 10px;font-size:12.5px;line-height:1.45;color:var(--muted)}.settings-section .settings-hint:last-child{margin-bottom:0}.settings-mode-row{padding:0}.settings-toggle{justify-content:flex-start;padding:8px 0 10px;font-size:15px}.toggler.is-busy .check-box,.toggler.is-disabled .check-box{opacity:.5}.toggler.is-disabled{opacity:.55}.settings-toggle.is-disabled{pointer-events:none}.settings-error{margin:0 0 8px;font-size:12.5px;color:#f87171}.test-report{border:1px solid var(--border);border-radius:10px;padding:4px 10px;margin-bottom:10px;background:var(--bg-elev)}.meter-wrap{margin-bottom:12px}.meter-track{height:12px;border-radius:6px;background:var(--bg-elev2);border:1px solid var(--border);overflow:hidden}.meter-fill{height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:6px;transition:width 60ms linear}.meter-meta{display:flex;justify-content:space-between;gap:8px;margin-top:5px}.meter-label{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.meter-verdict{font-size:12px;color:var(--text);text-align:right}.landing{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:calc(28px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.landing-aurora{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;z-index:0;opacity:.45;pointer-events:none;background:radial-gradient(130% 60% at 50% 0%,rgba(59,130,246,.18),rgba(124,58,237,.08) 40%,transparent 68%),radial-gradient(120% 45% at 80% 5%,rgba(34,197,94,.1),transparent 60%)}.landing-aurora:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(124,58,237,.28),transparent 30%)}.landing-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:420px}.landing-hero{text-align:center}.landing-hero h1{margin:8px 0 2px;font-size:24px}.landing-features{list-style:none;margin:0;padding:0 4px;display:flex;flex-direction:column;gap:9px;width:100%;max-width:400px}.landing-features li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.35;color:var(--text)}.landing-features li:before{content:"✓";flex-shrink:0;color:var(--accent-2);font-weight:700}.landing-steps ol{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:13.5px;line-height:1.35}.landing-steps li:before{content:"•";margin-right:8px;color:var(--accent)}.step-glyph{display:inline-block;margin:0 2px;color:var(--accent);font-size:13px}.install-tip{margin-top:12px}.install-note{margin-top:12px;font-size:12px;line-height:1.45}.landing-anyway{margin-top:6px;opacity:.8}.faq{width:100%;display:flex;flex-direction:column;gap:10px}.faq-title{margin:0;font-size:18px;font-weight:700;color:var(--text)}.accordion{width:100%;display:flex;flex-direction:column;gap:8px}.accordion-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .2s}.accordion-item.open{border-color:var(--accent)}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:transparent;border:0;color:var(--text);font-size:14.5px;font-weight:600;text-align:left;cursor:pointer}.accordion-trigger:active{background:var(--bg-elev2)}.accordion-question{flex:1}.accordion-chevron{display:inline-flex;flex-shrink:0;color:var(--muted)}.accordion-content{overflow:hidden}.accordion-answer{margin:0;padding:0 16px 16px;font-size:13.5px;line-height:1.5}.accordion-answer p{margin:0 0 10px}.accordion-answer .landing-steps{padding:0}
