/* CrateMarket Step 19 R8 — Global Chat and Market Alert actions. */
.cm-chat-launcher{
  position:fixed;right:18px;bottom:18px;z-index:2147482000;display:inline-flex;align-items:center;gap:8px;
  min-height:46px;padding:10px 14px;border:1px solid rgba(168,132,255,.62);border-radius:15px;
  background:linear-gradient(135deg,rgba(111,68,194,.96),rgba(45,31,79,.98));color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.34);font-weight:900;cursor:pointer
}
.cm-chat-launcher[hidden]{display:none!important}.cm-chat-badge{display:none;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff5f87;color:#fff;font-size:11px;line-height:20px;text-align:center}.cm-chat-badge.visible{display:inline-block}
.cm-global-chat-shell{position:fixed;z-index:2147482100;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(168,132,255,.38);background:rgba(14,11,23,.985);color:#f8f5ff;box-shadow:0 22px 60px rgba(0,0,0,.48)}
.cm-global-chat-shell.desktop{top:var(--cm-chat-desktop-top,14px);right:14px;bottom:14px;width:min(370px,calc(100vw - 28px));border-radius:20px;transform:translateX(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
.cm-global-chat-shell.desktop.open{transform:none;opacity:1;pointer-events:auto}
.cm-global-chat-shell.mobile{inset:0;width:100%;height:100%;max-width:none;border:0;border-radius:0;display:none}
@supports(height:100dvh){.cm-global-chat-shell.mobile{height:100dvh}}
.cm-global-chat-shell.mobile.open{display:flex}
.cm-chat-head{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 11px;border-bottom:1px solid rgba(168,132,255,.22);background:linear-gradient(135deg,rgba(92,52,158,.98),rgba(31,22,54,.99))}
.cm-chat-head-copy{min-width:0;flex:1}.cm-chat-head h2{margin:0;font-size:1.03rem}.cm-chat-head p{margin:3px 0 0;color:#c6bbdc;font-size:.73rem}.cm-chat-icon-button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.09);color:#fff;cursor:pointer}
.cm-chat-status{padding:7px 11px;border-bottom:1px solid rgba(168,132,255,.14);background:rgba(47,34,78,.6);color:#cfc4e7;font-size:.76rem}.cm-chat-status.error{color:#ff9eae}.cm-chat-status.success{color:#87e9ba}
.cm-chat-messages{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px;scrollbar-gutter:stable}.cm-chat-load-older{display:block;margin:0 auto 10px;padding:7px 11px;border:1px solid rgba(168,132,255,.3);border-radius:10px;background:rgba(73,52,118,.34);color:#e8e0ff;cursor:pointer}.cm-chat-load-older[hidden]{display:none!important}
.cm-chat-empty{padding:30px 12px;text-align:center;color:#a99fbd}.cm-chat-message{margin:0 0 8px;padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.045)}.cm-chat-message.own{border-color:rgba(140,199,255,.32);background:rgba(76,130,186,.12)}.cm-chat-message.vip{box-shadow:inset 3px 0 0 rgba(177,137,255,.8)}.cm-chat-message.staff{border-color:rgba(106,223,174,.34)}.cm-chat-message.announcement{border-color:rgba(244,199,111,.5);background:rgba(244,199,111,.10)}.cm-chat-message.deleted{opacity:.72;font-style:italic}
.cm-chat-message-head{display:flex;align-items:center;gap:6px;min-width:0}.cm-chat-message-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.cm-chat-role,.cm-chat-vip{flex:0 0 auto;padding:2px 6px;border-radius:999px;font-size:.62rem;font-weight:950;text-transform:uppercase}.cm-chat-vip{background:rgba(159,115,255,.2);color:#d9c8ff}.cm-chat-role{background:rgba(86,218,165,.14);color:#9af0c7}.cm-chat-time{margin-left:auto;color:#9f96ad;font-size:.67rem;white-space:nowrap}.cm-chat-reply-preview{margin:6px 0;padding:6px 8px;border-left:3px solid rgba(159,115,255,.55);border-radius:6px;background:rgba(0,0,0,.18);color:#cfc5dc;font-size:.72rem}.cm-chat-text{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.42;font-size:.86rem}.cm-chat-actions{display:flex;gap:6px;margin-top:7px}.cm-chat-actions button{min-height:30px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06);color:#cbc3da;font-size:.69rem;cursor:pointer}
.cm-chat-compose{flex:0 0 auto;padding:9px 10px max(9px,env(safe-area-inset-bottom));border-top:1px solid rgba(168,132,255,.2);background:rgba(20,15,33,.99)}.cm-chat-replying{display:none;align-items:center;gap:8px;margin-bottom:7px;padding:7px 8px;border-radius:9px;background:rgba(129,89,211,.14);font-size:.75rem}.cm-chat-replying.visible{display:flex}.cm-chat-replying span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-chat-compose-row{display:flex;align-items:flex-end;gap:8px}.cm-chat-input{min-height:44px;max-height:116px;flex:1;resize:none;padding:10px 11px;border:1px solid rgba(168,132,255,.35);border-radius:12px;background:#181323;color:#fff;line-height:1.35}.cm-chat-send{min-width:66px;min-height:44px;border:1px solid rgba(168,132,255,.52);border-radius:12px;background:linear-gradient(135deg,#7044c2,#4c2f86);color:#fff;font-weight:900;cursor:pointer}.cm-chat-send:disabled,.cm-chat-input:disabled{opacity:.5;cursor:not-allowed}.cm-chat-compose-meta{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#9f96ad;font-size:.68rem}.cm-chat-vip-lock{padding:10px;border:1px solid rgba(244,199,111,.32);border-radius:12px;background:rgba(244,199,111,.08);color:#e8d59a;text-align:center}.cm-chat-vip-lock button{margin-top:7px;min-height:38px;padding:7px 11px;border:1px solid rgba(168,132,255,.45);border-radius:10px;background:rgba(111,68,194,.35);color:#fff;font-weight:850;cursor:pointer}
.cm-chat-settings{display:none;padding:10px;border-bottom:1px solid rgba(168,132,255,.18);background:#151020}.cm-chat-settings.open{display:block}.cm-chat-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 2px;color:#d6cee3;font-size:.78rem}.cm-chat-muted-list{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.cm-chat-muted-list button{margin:3px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.05);color:#ddd4ec}
.cm-chat-modal{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:18px;background:rgba(4,3,8,.74)}.cm-chat-modal[hidden]{display:none!important}.cm-chat-modal-card{width:min(330px,100%);padding:16px;border:1px solid rgba(168,132,255,.38);border-radius:16px;background:#181224;box-shadow:0 18px 50px rgba(0,0,0,.5)}.cm-chat-modal-card h3{margin:0 0 10px}.cm-chat-modal-card select,.cm-chat-modal-card textarea{width:100%;margin-top:8px;padding:9px;border:1px solid rgba(168,132,255,.3);border-radius:10px;background:#100c18;color:#fff}.cm-chat-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.cm-chat-modal-actions button{min-height:40px;padding:8px 12px;border:1px solid rgba(168,132,255,.3);border-radius:10px;background:rgba(111,68,194,.3);color:#fff;font-weight:800}
@media(min-width:1240px){body.cm-chat-desktop-open main.page{width:min(1180px,calc(100% - 410px));margin-left:20px;margin-right:390px}}
html.crate-market-android .cm-chat-launcher,html.crate-market-ios .cm-chat-launcher{display:none!important}
html.crate-market-android body.cm-chat-mobile-open,html.crate-market-ios body.cm-chat-mobile-open{overflow:hidden!important}

/* Market Alert direct actions. */
.market-alert-item[data-market-alert-item]{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"copy change" "owned owned" "actions actions" "result result";gap:7px 10px!important;align-items:center!important}.market-alert-item-copy{grid-area:copy}.market-alert-change{grid-area:change}.market-alert-owned{grid-area:owned;color:#c8bfd5;font-size:.76rem;font-weight:800}.market-alert-actions{grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.market-alert-actions button{min-height:38px;padding:7px 9px;border:1px solid rgba(168,132,255,.36);border-radius:10px;background:rgba(103,67,167,.28);color:#fff;font-size:.75rem;font-weight:850;cursor:pointer}.market-alert-actions button[data-market-sell-all]{border-color:rgba(86,216,165,.38);background:rgba(50,151,111,.18)}.market-alert-actions button:disabled{opacity:.42;cursor:not-allowed}.market-alert-result{grid-area:result;min-height:1em;color:#8ee6b9;font-size:.72rem}.market-alert-result.error{color:#ff9bab}.market-alert-item.processing{opacity:.72}.market-alert-item.processing button{pointer-events:none}
@media(max-width:520px){.market-alert-actions{grid-template-columns:1fr}.market-alert-item[data-market-alert-item]{grid-template-columns:minmax(0,1fr) auto!important}}
