#commsBtn{position:relative;font-family:"Courier New",monospace;font-weight:bold;letter-spacing:2px;font-size:12px;color:var(--green-soft,#b9f6ca);background:rgba(118,255,3,0.07);border:1px solid var(--line,rgba(118,255,3,0.22));border-radius:6px;padding:7px 12px;cursor:pointer;margin-left:6px;white-space:nowrap}
#commsBtn:hover{background:rgba(118,255,3,0.16)}
#commsBtn .cb{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--green,#76ff03);color:#0a0e17;font-size:11px;line-height:18px;text-align:center;display:none}
#commsBtn .cb.on{display:inline-block}
#commsDrawer{position:fixed;top:0;left:0;bottom:0;width:430px;max-width:100vw;background:#0c1220;border-right:1px solid rgba(118,255,3,0.25);box-shadow:12px 0 40px rgba(0,0,0,0.55);z-index:60;display:flex;flex-direction:column;transform:translateX(-102%);font-family:"Courier New",monospace;color:var(--text,#cfd8dc)}
#commsDrawer.open{transform:none}
#commsDrawer.cd-anim{transition:transform .22s ease}
#commsDrawer .cd-head{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,0.07)}
#commsDrawer .cd-title{font-weight:bold;letter-spacing:4px;color:var(--green,#76ff03);text-shadow:0 0 14px rgba(118,255,3,0.4);font-size:16px;flex:1}
#commsDrawer .cd-x{background:none;border:none;color:var(--dim,#78909c);font-size:20px;cursor:pointer;font-family:inherit}
#commsDrawer .cd-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,0.07)}
#commsDrawer .cd-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--dim,#78909c);font-family:inherit;font-weight:bold;letter-spacing:2px;font-size:11px;padding:10px 4px;cursor:pointer;position:relative}
#commsDrawer .cd-tab.on{color:var(--green,#76ff03);border-bottom-color:var(--green,#76ff03)}
#commsDrawer .cd-tab .cb{display:inline-block;min-width:16px;padding:0 4px;border-radius:8px;background:var(--green,#76ff03);color:#0a0e17;font-size:10px;line-height:16px;margin-left:5px}
#commsDrawer .cd-body{flex:1;overflow:auto;padding:12px 14px;scrollbar-width:thin;scrollbar-color:rgba(118,255,3,0.25) transparent}
#commsDrawer .cd-sec{font-size:10px;letter-spacing:3px;color:var(--dim,#78909c);margin:14px 0 6px}
#commsDrawer .cd-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;border:1px solid transparent;position:relative}
#commsDrawer .cd-acts{display:flex;gap:5px;flex:none}
#commsDrawer .cd-row:hover{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.06)}
#commsDrawer .cd-dot,#commsToasts .cd-dot,#commsCall .cd-dot{width:9px;height:9px;border-radius:50%;background:#546e7a;flex:none;box-shadow:0 0 0 2px rgba(0,0,0,0.3)}
#commsDrawer .cd-dot.on,#commsToasts .cd-dot.on,#commsCall .cd-dot.on{background:var(--green,#76ff03);box-shadow:0 0 8px rgba(118,255,3,0.8)}
#commsDrawer .cd-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold;letter-spacing:1px;font-size:13px}
#commsDrawer .cd-name img{width:18px;height:18px;vertical-align:-4px;margin-left:6px}
#commsDrawer .cd-star{display:inline-block;width:1.1em;color:#ffd75e;text-shadow:0 0 8px rgba(255,215,94,0.55)}
#commsDrawer .cd-tier{display:inline-block;padding:0 5px;border-radius:3px;font-size:9px;letter-spacing:1px;margin-left:6px;vertical-align:1px;border:1px solid rgba(255,215,94,0.5);color:#ffd75e}
#commsDrawer .cd-sub{font-size:10px;color:var(--dim,#78909c);letter-spacing:1px}
#commsDrawer .cd-mini,#commsToasts .cd-mini,#commsCall .cd-mini{font-family:inherit;font-weight:bold;letter-spacing:1px;font-size:10px;text-transform:uppercase;cursor:pointer;border-radius:5px;padding:5px 8px;background:rgba(118,255,3,0.07);color:var(--green-soft,#b9f6ca);border:1px solid var(--line,rgba(118,255,3,0.22))}
#commsDrawer .cd-mini:hover,#commsToasts .cd-mini:hover,#commsCall .cd-mini:hover{background:rgba(118,255,3,0.16)}
#commsDrawer .cd-mini.primary,#commsToasts .cd-mini.primary,#commsCall .cd-mini.primary{background:var(--green,#76ff03);color:#0a0e17;border-color:var(--green,#76ff03)}
#commsDrawer .cd-mini:disabled,#commsToasts .cd-mini:disabled,#commsCall .cd-mini:disabled{opacity:.4;cursor:default}
#commsDrawer .cd-mini.danger,#commsToasts .cd-mini.danger,#commsCall .cd-mini.danger{color:#ff8a80;border-color:rgba(255,138,128,0.4);background:rgba(255,82,82,0.08)}
#commsDrawer input,#commsDrawer textarea{width:100%;box-sizing:border-box;background:#0a0e17;border:1px solid rgba(255,255,255,0.12);border-radius:6px;color:var(--text,#cfd8dc);font-family:inherit;font-size:13px;padding:9px 10px;outline:none}
#commsDrawer input:focus,#commsDrawer textarea:focus{border-color:var(--green,#76ff03)}
#commsDrawer .cd-menu{position:absolute;right:8px;background:#0e1522;border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:6px;z-index:2;display:flex;flex-direction:column;gap:4px;min-width:150px}
#commsDrawer .cd-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 6px;border:1px solid rgba(255,255,255,0.08);border-radius:8px;background:rgba(255,255,255,0.02);cursor:pointer;user-select:none}
#commsDrawer .cd-toggle .sw{width:34px;height:18px;border-radius:9px;background:#37474f;position:relative;flex:none}
#commsDrawer .cd-toggle .sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#cfd8dc;transition:left .15s}
#commsDrawer .cd-toggle.on .sw{background:var(--green,#76ff03)}
#commsDrawer .cd-toggle.on .sw::after{left:18px;background:#0a0e17}
#commsDrawer .cd-empty{color:var(--dim,#78909c);font-size:12px;padding:16px 6px;line-height:1.7}
#commsDrawer .cd-conv{display:flex;flex-direction:column;height:100%}
#commsDrawer .cd-msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:6px 2px}
#commsDrawer .cd-m{max-width:82%;padding:8px 11px;border-radius:12px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);align-self:flex-start}
#commsDrawer .cd-m.mine{align-self:flex-end;background:rgba(118,255,3,0.10);border-color:rgba(118,255,3,0.25)}
#commsDrawer .cd-m.sys{align-self:center;background:none;border:none;color:var(--dim,#78909c);font-size:11px;letter-spacing:1px;text-align:center;padding:2px 0}
#commsDrawer .cd-m .t{display:block;font-size:9px;color:var(--dim,#78909c);margin-top:3px;letter-spacing:1px}
#commsDrawer .cd-compose{display:flex;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.07)}
#commsDrawer .cd-compose textarea{resize:none;height:46px}
#commsDrawer .cd-chips{display:flex;gap:6px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}
#commsDrawer .cd-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.03);cursor:pointer;font-size:11px;letter-spacing:1px;max-width:150px;white-space:nowrap}
#commsDrawer .cd-chip.on{border-color:var(--green,#76ff03);background:rgba(118,255,3,0.10)}
#commsDrawer .cd-chip .n{overflow:hidden;text-overflow:ellipsis}
#commsDrawer .cd-chip .x{color:var(--dim,#78909c);padding-left:2px}
#commsDrawer .cd-chip .x:hover{color:#ff8a80}
#commsDrawer .cd-chip .cb{display:inline-block;min-width:14px;padding:0 4px;border-radius:7px;background:var(--green,#76ff03);color:#0a0e17;font-size:9px;line-height:14px}
#commsDrawer .cd-lm{padding:6px 4px;border-bottom:1px solid rgba(255,255,255,0.04);font-size:13px;line-height:1.45;word-break:break-word}
#commsDrawer .cd-lm .cd-name{display:inline;font-size:12px;margin-right:6px}
#commsDrawer .cd-lm .cd-name img{width:15px;height:15px}
#commsDrawer .cd-lm .t{float:right;font-size:9px;color:var(--dim,#78909c);letter-spacing:1px;margin-left:8px}
#commsDrawer .cd-lm.mine{background:rgba(118,255,3,0.04)}
#commsDrawer .cd-lobbyhead{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px}
#commsDrawer [data-tab=lobby] .dot{display:none;width:7px;height:7px;border-radius:50%;background:var(--green,#76ff03);margin-left:6px;vertical-align:1px}
#commsDrawer [data-tab=lobby] .dot.on{display:inline-block}
#commsDrawer .cd-back{background:none;border:none;color:var(--green-soft,#b9f6ca);font-family:inherit;font-weight:bold;letter-spacing:2px;font-size:11px;cursor:pointer;padding:0}
#commsDrawer .cd-toast{position:absolute;left:14px;right:14px;bottom:14px;background:#0e1522;border:1px solid var(--line,rgba(118,255,3,0.22));border-radius:8px;padding:9px 12px;font-size:12px;color:var(--green-soft,#b9f6ca);display:none}
#cdCall{display:none;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(118,255,3,0.25);background:rgba(118,255,3,0.06)}
#cdCall.on{display:flex}
#cdCall .cd-name{font-size:12px}
#cdCall .tm{font-size:11px;color:var(--green,#76ff03);letter-spacing:1px;min-width:42px}
#cdCall .cd-mini.muted{background:rgba(255,82,82,0.15);color:#ff8a80;border-color:rgba(255,138,128,0.5)}
#commsCall{position:fixed;z-index:2147483000;display:none;align-items:center;gap:8px;background:rgba(12,18,32,0.92);border:1px solid rgba(118,255,3,0.35);border-radius:8px;padding:6px 10px;font-family:"Courier New",monospace;color:#cfd8dc;font-size:11px;letter-spacing:1px;backdrop-filter:blur(4px)}
#commsCall.on{display:flex}
body.comms-game #commsCall{top:78px;left:150px}
body:not(.comms-game) #commsCall{top:70px;left:50%;transform:translateX(-50%)}
#commsCall .tm{color:var(--green,#76ff03)}
#cdCall.room{flex-direction:column;align-items:stretch;gap:6px}
#cdCall .cd-vhead{display:flex;align-items:center;gap:8px}
#cdCall .cd-vhead .cd-name{flex:1;font-size:11px;letter-spacing:1px}
#cdCall .cd-vrow{display:flex;align-items:center;gap:8px;padding:4px 0 4px 2px;border-radius:6px;position:relative}
#cdCall .cd-vrow .cd-name{flex:1;font-size:12px;min-width:0}
#cdCall .cd-vrow .cd-acts{display:flex;gap:4px;flex:none;position:relative}
#cdCall .cd-vrow.talk{background:rgba(118,255,3,0.08)}
#cdCall .cd-vrow.talk .cd-dot.on{box-shadow:0 0 0 3px rgba(118,255,3,0.35),0 0 12px rgba(118,255,3,0.9)}
#cdCall .cd-sec{margin-top:4px}
#cdCall .cd-menu{position:absolute;right:0;top:100%;z-index:3;display:flex;flex-direction:column;gap:4px;background:#0e1522;border:1px solid var(--line,rgba(118,255,3,0.22));border-radius:8px;padding:6px}
#commsCall.room b{letter-spacing:1px}
#commsToasts .ct.ring{pointer-events:auto;cursor:default;border-color:var(--green,#76ff03);animation:cdring 1.2s ease-in-out infinite}
#commsToasts .ct .acts{display:flex;gap:6px;margin-top:6px}
@keyframes cdring{0%,100%{box-shadow:0 0 0 0 rgba(118,255,3,0.0)}50%{box-shadow:0 0 18px 2px rgba(118,255,3,0.45)}}
body:not(.comms-game) #commsToasts{top:74px;left:16px}
@media (max-width:520px){#commsDrawer{width:100vw}}
body.comms-game #commsBtn{position:fixed;top:78px;left:34px;z-index:2147483000;margin:0;background:rgba(12,18,32,0.85);backdrop-filter:blur(4px)}
body.comms-game #commsDrawer{z-index:2147483001;left:0;right:auto;border-left:none;border-right:1px solid rgba(118,255,3,0.25);box-shadow:12px 0 40px rgba(0,0,0,0.55);background:rgba(12,18,32,0.93);backdrop-filter:blur(6px);transform:translateX(-102%)}
body.comms-game #commsDrawer.open{transform:none}
#commsToasts{position:fixed;top:122px;left:34px;z-index:2147483000;display:flex;flex-direction:column;gap:6px;pointer-events:none;font-family:"Courier New",monospace}
#commsToasts .ct{background:rgba(12,18,32,0.92);border:1px solid rgba(118,255,3,0.35);border-left:3px solid var(--green,#76ff03);border-radius:8px;padding:8px 12px;max-width:320px;color:#cfd8dc;font-size:12px;line-height:1.4;opacity:0;transform:translateX(-10px);transition:opacity .2s,transform .2s;pointer-events:auto;cursor:pointer}
#commsToasts .ct.on{opacity:1;transform:none}
#commsToasts .ct b{color:var(--green,#76ff03);letter-spacing:1px;font-size:11px}
.s6b99de.s6b99de.s6b99de{display:none}
.sb4784c.sb4784c.sb4784c{letter-spacing:2px;font-size:11px}
.s116966.s116966.s116966{margin:0}
.s45f762.s45f762.s45f762{gap:0}
.s3b6a3a.s3b6a3a.s3b6a3a{cursor:pointer}
.sd304a9.sd304a9.sd304a9{display:inline-block;min-width:16px;padding:0 4px;border-radius:8px;background:var(--green,#76ff03);color:#0a0e17;font-size:10px;line-height:16px;margin-left:6px}
.sfc9793.sfc9793.sfc9793{width:7px;height:7px}
.sb30544.sb30544.sb30544{display:flex;align-items:center;gap:10px;padding-bottom:6px}
.sf0ec70.sf0ec70.sf0ec70{width:8px;height:8px;border-radius:50%;background:#76ff03;display:inline-block}
#commsDrawer .cd-m{position:relative}
#commsDrawer .cd-m .ed{color:var(--dim,#78909c);font-size:9px;letter-spacing:1px;margin-left:6px}
#commsDrawer .cd-m.gone{color:var(--dim,#78909c);font-style:italic}
#commsDrawer .cd-mact{display:none;position:absolute;right:6px;top:-9px;gap:4px}
#commsDrawer .cd-m.mine:hover .cd-mact,#commsDrawer .cd-m.mine:focus-within .cd-mact,#commsDrawer .cd-mact.on{display:flex}
#commsDrawer .cd-mact button{font:inherit;font-size:8px;letter-spacing:1px;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,0.18);background:#0e1522;color:#cfd8dc;cursor:pointer}
#commsDrawer .cd-mact button:hover{border-color:var(--green,#76ff03);color:var(--green,#76ff03)}
#commsDrawer .cd-mact button.warn{border-color:#ff5252;color:#ff5252}
#commsDrawer .cd-editbox{width:100%;box-sizing:border-box;min-height:44px;font:inherit;font-size:12px;background:#0a0e17;color:#e0e6ea;border:1px solid var(--green,#76ff03);border-radius:6px;padding:6px;resize:vertical}
@media (hover:none){#commsDrawer .cd-m.mine .cd-mact{display:flex;position:static;margin-top:4px}}
body.comms-frame{background:transparent;margin:0;padding:0;overflow:hidden;min-height:0}
body.comms-frame #commsBtn{left:calc(var(--bx,34px) - var(--ox,0px));top:calc(var(--by,78px) - var(--oy,0px));backdrop-filter:none;background:rgba(12,18,32,0.92)}
body.comms-frame #commsCall{left:calc(var(--px,150px) - var(--ox,0px));top:calc(var(--py,78px) - var(--oy,0px));backdrop-filter:none;background:rgba(12,18,32,0.96)}
body.comms-frame #commsToasts{left:calc(var(--tx,34px) - var(--ox,0px));top:calc(var(--ty,122px) - var(--oy,0px))}
body.comms-frame #commsDrawer{left:calc(0px - var(--ox,0px));top:calc(0px - var(--oy,0px));backdrop-filter:none;background:rgba(12,18,32,0.985)}
body.comms-frame:not(.cd-phone) #commsDrawer{width:430px;max-width:none}
body.comms-frame.cd-phone #commsDrawer{width:100vw}
body.comms-frame.cd-open #commsBtn{visibility:hidden}
