:root{--cos-castle:linear-gradient(180deg,#070b1466,#080d17ed),url('/assets/enchanted-castle.webp') center top/cover no-repeat;--cos-midnight:linear-gradient(145deg,#080d18,#101b30);--cos-slate:linear-gradient(130deg,#171e26,#0c1118);--cos-aurora:radial-gradient(ellipse at 20% 5%,#347f864d,transparent 58%),radial-gradient(ellipse at 80% 35%,#5f4f884f,transparent 55%),linear-gradient(160deg,#101f31,#0c111b);--cos-nebula:radial-gradient(ellipse at 75% 20%,#65498266,transparent 60%),radial-gradient(ellipse at 20% 70%,#33477e66,transparent 55%),linear-gradient(#151326,#101425);--cos-emerald:radial-gradient(ellipse at 25% 25%,#21695666,transparent 60%),linear-gradient(145deg,#0e2528,#08171f);--cos-tnt:url('/assets/cosmetics/pattern-tnt.svg') 0 0/340px 340px repeat,linear-gradient(135deg,#2a1d2c,#101825);--cos-diamonds:url('/assets/cosmetics/pattern-diamonds.svg') 0 0/340px 340px repeat,radial-gradient(ellipse at top,#163c4b,#101725 65%);--cos-vault:url('/assets/cosmetics/pattern-vault.svg') 0 0/340px 340px repeat,linear-gradient(135deg,#2d2a24,#121925);--cos-cosmic:url('/assets/cosmetics/pattern-cosmic.svg') 0 0/340px 340px repeat,radial-gradient(ellipse at 20% 15%,#43335577,transparent 55%),radial-gradient(ellipse at 80% 70%,#24516b77,transparent 60%),#111827}
body[data-cosmetic-bg=castle]:before,.cos-bg-castle{background:var(--cos-castle)}body[data-cosmetic-bg=midnight]:before,.cos-bg-midnight{background:var(--cos-midnight)}body[data-cosmetic-bg=slate]:before,.cos-bg-slate{background:var(--cos-slate)}body[data-cosmetic-bg=aurora]:before,.cos-bg-aurora{background:var(--cos-aurora)}body[data-cosmetic-bg=nebula]:before,.cos-bg-nebula{background:var(--cos-nebula)}body[data-cosmetic-bg=emerald]:before,.cos-bg-emerald{background:var(--cos-emerald)}body[data-cosmetic-bg=tnt]:before,.cos-bg-tnt{background:var(--cos-tnt)}body[data-cosmetic-bg=diamonds]:before,.cos-bg-diamonds{background:var(--cos-diamonds)}body[data-cosmetic-bg=vault]:before,.cos-bg-vault{background:var(--cos-vault)}body[data-cosmetic-bg=cosmic]:before,.cos-bg-cosmic{background:var(--cos-cosmic)}
body[data-cosmetic-bg]:before{pointer-events:none}body[data-cosmetic-motion=on]:is([data-cosmetic-bg=tnt],[data-cosmetic-bg=diamonds],[data-cosmetic-bg=vault],[data-cosmetic-bg=cosmic]):before{animation:cosDrift 40s linear infinite}
@keyframes cosDrift{from{background-position:0 0}to{background-position:170px -340px}}
#menu-cosmetics{--menu-icon:url('/assets/menu-cases.svg')}
.cosmetics-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 25px}.cosmetics-intro p{font-size:22px;font-weight:700;margin:0 0 10px}.cosmetics-intro small{color:#a8bbcf;font-size:12px;line-height:1.6}.cosmetics-intro>strong{font-size:24px;white-space:nowrap;color:#b6e8da;text-align:right}.cosmetics-intro>strong small{display:block;font-size:11px;font-weight:400}.cosmetics-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.cosmetics-tabs [aria-pressed=true]{background:#2c4e56;border-color:#81c8d0;color:#dcfaff}.cosmetics-motion{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:13px;color:#d7e1ed}.cosmetics-motion input{width:17px;height:17px;accent-color:#91d8c4}.cosmetics-motion small{color:#98acc1;font-size:11px}.cosmetics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.cosmetic-card{overflow:hidden;border:1px solid #51637b77;border-radius:14px;background:#172334}.cosmetic-card.selected{border-color:#90d3c2;box-shadow:0 0 0 1px #90d3c233}.cosmetic-preview{position:relative;height:150px;border-bottom:1px solid #ffffff12;overflow:hidden;background-size:cover}.cosmetic-preview.cos-bg-castle{background-size:cover}.cosmetic-card-info{padding:16px;display:grid;gap:9px}.cosmetic-card-info>strong{font-size:15px}.cosmetic-card-info small{font-size:11px;color:#aebfd2}.cosmetic-card-info button{padding:9px 12px;font-size:12px;margin-top:5px}.cosmetic-card-info progress{width:100%;height:6px;accent-color:#7ac5b2}.cosmetic-locked{position:absolute;right:10px;top:10px;padding:5px 8px;border-radius:6px;background:#111b2ce6;color:#d6e1ed;font-size:10px}.cos-emoji-preview{display:grid;place-items:center;background:radial-gradient(ellipse,#31445a,#172334)}.cos-emoji-preview img{filter:drop-shadow(0 5px 9px #0004)}
.cos-chat-plain{background:#1b2839}.cos-chat-mint{background:linear-gradient(125deg,#214139,#182632)}.cos-chat-diamonds{background:linear-gradient(#142433bb,#142433cc),var(--cos-diamonds)}.cos-chat-tnt{background:linear-gradient(#1e2032a6,#142030b3),var(--cos-tnt)}.cos-chat-vault{background:linear-gradient(#26263888,#142030a6),var(--cos-vault)}.cos-chat-cosmic{background:linear-gradient(#161e3180,#142030a6),var(--cos-cosmic)}
.cosmetic-preview[class*=cos-chat-]{padding:26px 18px;display:flex;flex-direction:column;justify-content:center}.cosmetic-preview>span:not(.cosmetic-locked){font-size:12px;font-weight:700}.cosmetic-preview>span small{font-size:9px;margin-left:8px;color:#aec9d5}.cosmetic-preview>p{font-size:12px;color:#cbd9e7;margin-top:10px}.chat-message[class*=cos-chat-]:not(.cos-chat-plain){border:1px solid #a5bfd32b;border-radius:10px;margin:6px 3px;padding:10px;background-size:auto,260px,cover}.chat-message.cos-chat-plain{background:transparent}
body[data-cosmetic-motion=on] .chat-message:is(.cos-chat-tnt,.cos-chat-diamonds,.cos-chat-vault,.cos-chat-cosmic){animation:cosDrift 50s linear infinite}
body[data-cosmetic-chat=mint] #chat-messages{background:linear-gradient(160deg,#17362b66,transparent)}body[data-cosmetic-chat=tnt] #chat-messages{background:linear-gradient(#101a2bc9,#101a2bc9),var(--cos-tnt)}body[data-cosmetic-chat=diamonds] #chat-messages{background:linear-gradient(#101a2bc9,#101a2bc9),var(--cos-diamonds)}body[data-cosmetic-chat=vault] #chat-messages{background:linear-gradient(#101a2bc9,#101a2bc9),var(--cos-vault)}body[data-cosmetic-chat=cosmic] #chat-messages{background:linear-gradient(#101a2bc9,#101a2bc9),var(--cos-cosmic)}body[data-cosmetic-motion=on]:not([data-cosmetic-chat=plain]) #chat-messages{animation:cosDrift 60s linear infinite}
.dc-emoji{display:inline-block!important;width:26px!important;height:26px!important;object-fit:contain;vertical-align:middle;margin:0 2px}.chat-emoji-picker .dc-emoji,.chat-reactions .dc-emoji{width:21px!important;height:21px!important}.dc-chat-tools{position:relative;flex-shrink:0;padding:3px 0 7px}.dc-chat-tools>button{background:transparent;color:#b4c8d9;font-size:12px;padding:6px 8px;border-radius:6px}.dc-chat-tools>button:hover{background:#ffffff0b}.dc-compose-picker{position:absolute;left:0;bottom:100%;z-index:15;width:240px;max-width:calc(100vw - 35px);padding:12px;background:#152235;border:1px solid #54677e;border-radius:12px;box-shadow:0 8px 25px #0007;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.dc-compose-picker[hidden]{display:none}.dc-compose-picker button{display:grid;place-items:center;background:#ffffff08;border-radius:7px;padding:7px}.dc-compose-picker .dc-picker-unlocks{grid-column:1/-1;font-size:11px;color:#b7dcd6;padding:10px}.chat-message p{overflow-wrap:anywhere}#cosmetic-message{color:#ffd1a2;font-size:13px;line-height:1.6}
@media(max-width:1000px){.cosmetics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.cosmetics-intro{align-items:start;flex-direction:column}.cosmetics-intro>strong{text-align:left}.cosmetic-preview{height:120px}.cosmetic-card-info{padding:12px}.cosmetics-tabs button{font-size:11px;padding:9px}.cosmetics-motion small{width:100%}}
@media(prefers-reduced-motion:reduce){body[data-cosmetic-motion=on]:before,body[data-cosmetic-motion=on] .chat-message,body[data-cosmetic-motion=on] #chat-messages{animation:none!important}}
/* Scenic edition: photographic environments and independent ambient motion. */
:root{--scene-alpine:linear-gradient(#09132133,#0a12225c),url('/assets/cosmetics/alpine-aurora-v2.webp') center/cover no-repeat;--scene-coast:linear-gradient(#09132125,#0a12224d),url('/assets/cosmetics/volcanic-coast-v2.webp') center/cover no-repeat;--scene-hollow:linear-gradient(#0b14222b,#0a12225c),url('/assets/cosmetics/halloween-hollow-v2.webp') center/cover no-repeat;--scene-manor:linear-gradient(#0b14221a,#0a12224d),url('/assets/cosmetics/halloween-manor-v2.webp') center/cover no-repeat;--cos-tnt:url('/assets/cosmetics/pattern-tnt-v2.svg') 0 0/480px 480px repeat,var(--scene-hollow);--cos-diamonds:url('/assets/cosmetics/pattern-diamonds-v2.svg') 0 0/440px 440px repeat,var(--scene-alpine);--cos-vault:url('/assets/cosmetics/pattern-vault-v2.svg') 0 0/440px 440px repeat,linear-gradient(120deg,#59442555,#11182733),var(--scene-coast);--cos-cosmic:url('/assets/cosmetics/pattern-cosmic-v2.svg') 0 0/440px 440px repeat,linear-gradient(140deg,#49285966,#142d5733),var(--scene-alpine)}
body[data-cosmetic-bg=halloween-hollow]:before,.cos-bg-halloween-hollow{background:var(--scene-hollow)}body[data-cosmetic-bg=halloween-manor]:before,.cos-bg-halloween-manor{background:var(--scene-manor)}body[data-cosmetic-bg=alpine-aurora]:before,.cos-bg-alpine-aurora{background:var(--scene-alpine)}body[data-cosmetic-bg=volcanic-coast]:before,.cos-bg-volcanic-coast{background:var(--scene-coast)}
body[data-cosmetic-motion=on]:is([data-cosmetic-bg=tnt],[data-cosmetic-bg=diamonds],[data-cosmetic-bg=vault],[data-cosmetic-bg=cosmic]):before{animation:none}
#cosmetic-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.cosmetic-preview-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cosmetic-particle{display:block;position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);background:#d2f4ff;border-radius:50%;opacity:.28;box-shadow:0 0 10px #8de3ff}
.cosmetic-particle.has-icon{background:transparent;box-shadow:none;border-radius:0;opacity:.55}.cosmetic-particle img{width:100%;height:100%;object-fit:contain}.cosmetic-particle:not(.has-icon){width:3px;height:3px}
body[data-cosmetic-motion=on] .cosmetic-particle{animation:cosParticle var(--dur) ease-in-out var(--delay) infinite alternate}
@keyframes cosParticle{from{transform:translate3d(0,35px,0) rotate(calc(-1 * var(--turn)));opacity:.18}to{transform:translate3d(30px,-65px,0) rotate(var(--turn));opacity:.65}}
#cosmetic-atmosphere:after{content:'';position:absolute;inset:20% -20% -20%;background:radial-gradient(ellipse at 25% 70%,#c1e8ed20,transparent 55%),radial-gradient(ellipse at 75% 90%,#c1d1ec22,transparent 55%);opacity:0}
body:is([data-cosmetic-bg=halloween-hollow],[data-cosmetic-bg=halloween-manor],[data-cosmetic-bg=cosmic],[data-cosmetic-bg=alpine-aurora],[data-cosmetic-bg=volcanic-coast]) #cosmetic-atmosphere:after{opacity:.8}
body[data-cosmetic-motion=on] #cosmetic-atmosphere:after{animation:cosMist 22s ease-in-out infinite alternate}
@keyframes cosMist{from{transform:translateX(-5%);opacity:.35}to{transform:translateX(7%);opacity:.9}}
body[data-cosmetic-bg^=halloween] .cosmetic-particle{filter:drop-shadow(0 0 7px #ed9b6c66)}
.cosmetic-preview{height:180px;background-size:cover}.cosmetic-preview:is(.cos-bg-tnt,.cos-bg-diamonds,.cos-bg-vault,.cos-bg-cosmic){background-size:230px 230px,cover,cover;animation:cosPreviewScene 30s linear infinite}
@keyframes cosPreviewScene{to{background-position:100px -180px,center,center}}
body[data-cosmetic-motion=off] .cosmetic-preview{animation:none!important}
.cosmetic-preview-button{justify-self:start;border:1px solid #7b9db377;background:#26425770;color:#c3e7f6;font-size:11px!important;padding:7px 10px!important;margin:0!important;border-radius:7px}.cosmetic-preview-button:hover{background:#35566e}
.cos-emoji-preview{background:radial-gradient(ellipse at 50% 35%,#69518a66,transparent 60%),linear-gradient(145deg,#1b2941,#101827)}.cos-emoji-preview>img{width:84px;height:84px;filter:drop-shadow(0 5px 10px #0004)}
.dc-emoji{width:32px!important;height:32px!important;margin:0 1px}.chat-emoji-picker .dc-emoji,.chat-reactions .dc-emoji{width:25px!important;height:25px!important}.dc-compose-picker button>img{width:34px;height:34px}
/* Themes keep text in a calm inset, with distinct illustrated edges. */
.cos-chat-mint{background:radial-gradient(ellipse at top right,#46d3aa44,transparent 55%),linear-gradient(130deg,#183c37,#152431);border-color:#6de4bf66!important}
.cos-chat-diamonds{background:url('/assets/cosmetics/pattern-diamonds-v2.svg') right top/240px repeat,linear-gradient(110deg,#142b42f2,#153448e8);border-color:#78d1ef77!important}
.cos-chat-tnt{background:url('/assets/cosmetics/pattern-tnt-v2.svg') right top/240px repeat,linear-gradient(110deg,#35232ff2,#1c2737e8);border-color:#ec967277!important}
.cos-chat-vault{background:url('/assets/cosmetics/pattern-vault-v2.svg') right top/240px repeat,linear-gradient(110deg,#39302af2,#202a38e8);border-color:#e9c68188!important}
.cos-chat-cosmic{background:url('/assets/cosmetics/pattern-cosmic-v2.svg') right top/240px repeat,radial-gradient(ellipse at right,#7848a077,transparent 70%),#1b2643;border-color:#c3a1ec88!important}
.cos-chat-halloween{background:url('/assets/cosmetics/pattern-halloween-v2.svg') right top/240px repeat,linear-gradient(120deg,#392a36,#212539);border-color:#d8a47e88!important}
.cos-chat-aurora{background:radial-gradient(ellipse at 80% 0%,#53d7a466,transparent 55%),radial-gradient(ellipse at 30% 100%,#8a69d966,transparent 65%),#132a3d;border-color:#a1d2e888!important}
.chat-message[class*=cos-chat-]:not(.cos-chat-plain){background-size:240px 240px,cover;box-shadow:inset 0 1px 0 #ffffff14,0 5px 14px #0002;border-left-width:2px;padding:12px;border-radius:12px}
.chat-message[class*=cos-chat-]:not(.cos-chat-plain)>p{background:#0b142a55;border-radius:7px;padding:6px 8px;color:#f0f5ff}
body[data-cosmetic-motion=on] .chat-message:is(.cos-chat-diamonds,.cos-chat-tnt,.cos-chat-vault,.cos-chat-cosmic,.cos-chat-halloween){animation:cosThemeDrift 35s linear infinite}
@keyframes cosThemeDrift{to{background-position:180px -240px,center,center}}
body[data-cosmetic-chat=halloween] #chat-messages{background:linear-gradient(#101a2ba6,#101a2bbf),url('/assets/cosmetics/pattern-halloween-v2.svg') center/260px,#262132}
body[data-cosmetic-chat=aurora] #chat-messages{background:radial-gradient(ellipse at top,#3b8d754d,transparent 60%),linear-gradient(150deg,#152e39,#29243e)}
.cosmetic-demo-dialog{width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border:1px solid #6c87a8;border-radius:20px;background:linear-gradient(140deg,#1b2b41,#111b2d);color:#eaf2fc;box-shadow:0 24px 90px #0009}
.cosmetic-demo-dialog::backdrop{background:#050b16cf;backdrop-filter:blur(4px)}.cosmetic-demo-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.cosmetic-demo-heading small{color:#92bacd;letter-spacing:2px;font-size:9px}.cosmetic-demo-heading h2{font-size:25px;margin:5px 0 0}.cosmetic-demo-heading button{font-size:24px;padding:2px 12px}.cosmetic-demo-scene{position:relative;height:250px;border-radius:12px;border:1px solid #ffffff2b;overflow:hidden;margin-bottom:16px;background-size:cover}.cosmetic-demo-scene>span{position:absolute;bottom:12px;left:12px;padding:7px 10px;background:#071322b3;border-radius:7px;font-size:11px;color:#c9dae9}.cosmetic-demo-chat{padding:18px;border:1px solid #6c829955;border-radius:14px;overflow:hidden}.cosmetic-demo-chat-header{display:flex;justify-content:space-between;color:#d3e8f5;font-size:10px;letter-spacing:1.5px;font-weight:800;padding-bottom:14px}.cosmetic-demo-chat-header>span{color:#9bb3c9;font-weight:400;letter-spacing:0}.cosmetic-demo-name{display:flex;gap:8px;align-items:center;font-weight:700;font-size:13px}.cosmetic-demo-name>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:linear-gradient(140deg,#567588,#3e4673);color:#d6e8f5}.cosmetic-demo-name small{font-size:10px;font-weight:400;color:#afc8da}.cosmetic-demo-chat .chat-message{margin:9px 0;padding:12px}.cosmetic-demo-chat .chat-message p{font-size:13px;line-height:1.7;color:#f3f5fa}.cosmetic-demo-chat .chat-reply-quote{margin:9px 0;font-size:10px;color:#becbda;border-left:2px solid #a5b9cb;padding:5px 9px;background:#0b14234d;border-radius:4px}.cosmetic-demo-reactions{display:flex;align-items:center;gap:5px;font-size:11px;color:#ccdeec}.cosmetic-demo-compose{display:flex;align-items:center;justify-content:space-between;background:#0b142a99;border:1px solid #8babc333;padding:8px 12px;border-radius:10px;color:#93adc4;font-size:12px;margin-top:16px}.cosmetic-demo-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.cosmetic-demo-footer button{padding:11px 16px;font-size:12px}.cosmetic-demo-note{color:#b4c8d9;font-size:12px;line-height:1.6;margin:16px 0 0}
@media(max-width:580px){.cosmetic-preview{height:150px}.cosmetic-demo-dialog{padding:16px}.cosmetic-demo-scene{height:190px}.cosmetic-demo-chat{padding:12px}.cosmetic-demo-heading h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.cosmetic-particle,#cosmetic-atmosphere:after,.cosmetic-preview,.chat-message{animation:none!important}}
body[data-cosmetic-motion=off] .cosmetic-particle,body[data-cosmetic-motion=off] #cosmetic-atmosphere:after{animation:none!important}
.cosmetic-animation-badge{position:absolute;top:10px;left:10px;padding:5px 8px;background:#0b1629cc;border:1px solid #a6d5e533;border-radius:6px;color:#c9edf8;font-size:9px!important;letter-spacing:.3px;pointer-events:none}
body[data-cosmetic-motion=on] :is(.chat-message,.cosmetic-demo-chat,.cosmetic-preview).cos-chat-aurora{background-size:160% 160%;animation:cosAurora 12s ease-in-out infinite alternate}
@keyframes cosAurora{from{background-position:0% 20%}to{background-position:100% 80%}}
body[data-cosmetic-motion=on] .cosmetic-preview:is(.cos-chat-tnt,.cos-chat-diamonds,.cos-chat-vault,.cos-chat-cosmic,.cos-chat-halloween){animation:cosThemeDrift 35s linear infinite}
@media(prefers-reduced-motion:reduce){body[data-cosmetic-motion=on] :is(.chat-message,.cosmetic-demo-chat,.cosmetic-preview).cos-chat-aurora{animation:none!important}}
/* Clear access labels and compact browsing. */
.cosmetics-grid-backgrounds{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cosmetics-grid-backgrounds .cosmetic-preview{height:118px}.cosmetic-card-info{padding:12px;gap:8px}.cosmetic-card-info>strong{font-size:13px;line-height:1.35}.cosmetic-card-info>small{line-height:1.4}.cosmetic-access{font-size:11px;font-weight:800;letter-spacing:.25px;padding:7px 9px;border-radius:6px;line-height:1.3;align-self:stretch}.cosmetic-access.locked{background:#4b3440;color:#ffe2c5;border:1px solid #c9996e66}.cosmetic-access.unlocked{background:#20483f;color:#b4f4d5;border:1px solid #7ed7ae55}.cosmetic-access.equipped{background:#25485f;color:#c4edff;border:1px solid #88c7e288}.cosmetic-card:has(.cosmetic-access.locked){border-color:#a57f6255}.cosmetic-demo-note{font-weight:700}
:root{--cos-tnt:linear-gradient(135deg,#1c14232b,#10182722),var(--scene-hollow);--cos-diamonds:linear-gradient(130deg,#132d4833,#111b2b22),var(--scene-alpine);--cos-vault:linear-gradient(135deg,#c4904b40,#17202b33),var(--scene-coast);--cos-cosmic:radial-gradient(ellipse at 80% 0%,#78409840,transparent 65%),var(--scene-alpine);--cos-floating-gems:radial-gradient(ellipse at 50% 115%,#246b8b88,transparent 65%),radial-gradient(ellipse at 15% 5%,#61437e44,transparent 55%),linear-gradient(145deg,#0c1425,#13253a);--cos-floating-tnt:radial-gradient(ellipse at 50% 115%,#a85b3c66,transparent 65%),radial-gradient(ellipse at 80% 0%,#76436733,transparent 60%),linear-gradient(145deg,#171628,#142237)}
body[data-cosmetic-bg=minecraft-valley]:before,.cos-bg-minecraft-valley{background:linear-gradient(#0b14222b,#0a12224d),url('/assets/cosmetics/minecraft-valley-v3.webp') center/cover no-repeat}body[data-cosmetic-bg=minecraft-cavern]:before,.cos-bg-minecraft-cavern{background:linear-gradient(#0b14221a,#0a12225c),url('/assets/cosmetics/minecraft-cavern-v3.webp') center/cover no-repeat}
body[data-cosmetic-bg=floating-gems]:before,.cos-bg-floating-gems{background:var(--cos-floating-gems)}body[data-cosmetic-bg=floating-tnt]:before,.cos-bg-floating-tnt{background:var(--cos-floating-tnt)}
.cosmetic-preview:is(.cos-bg-tnt,.cos-bg-diamonds,.cos-bg-vault,.cos-bg-cosmic){background-size:cover;background-position:center;animation:none!important}
.cosmetic-preview:is(.cos-bg-floating-gems,.cos-bg-floating-tnt):after{content:'';position:absolute;inset:0;background:url('/assets/cosmetics/pattern-diamonds-v2.svg') center/220px repeat;opacity:.8;pointer-events:none}.cosmetic-preview.cos-bg-floating-tnt:after{background-image:url('/assets/cosmetics/pattern-tnt-v2.svg')}
body[data-cosmetic-motion=on] .cosmetic-preview:is(.cos-bg-floating-gems,.cos-bg-floating-tnt):after{animation:cosFloatTile 35s linear infinite}@keyframes cosFloatTile{to{background-position:100px -220px}}
body:is([data-cosmetic-bg=floating-gems],[data-cosmetic-bg=floating-tnt]) #cosmetic-atmosphere .cosmetic-particle{opacity:.65;filter:drop-shadow(0 6px 14px #0006)}
body[data-cosmetic-motion=on] img[data-dc-emoji=dragon],body[data-cosmetic-motion=on] img[data-dc-emoji=chest],body[data-cosmetic-motion=on] img[data-dc-emoji=legend]{animation:cosPremiumEmoji 3.6s ease-in-out infinite;transform-origin:center;filter:drop-shadow(0 2px 5px #8369d64d)}
@keyframes cosPremiumEmoji{0%,100%{transform:translateY(1px) rotate(-3deg)}50%{transform:translateY(-2px) rotate(3deg)}}
@media(max-width:1150px){.cosmetics-grid-backgrounds{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){.cosmetics-grid-backgrounds{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cosmetics-grid-backgrounds .cosmetic-preview{height:105px}}@media(max-width:360px){.cosmetics-grid-backgrounds{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body[data-cosmetic-motion=on] img[data-dc-emoji],.cosmetic-preview:is(.cos-bg-floating-gems,.cos-bg-floating-tnt):after{animation:none!important}}
.dc-compose-picker button{position:relative}.dc-picker-lock{position:absolute;right:1px;bottom:0;font-size:10px;line-height:1;background:#101a2be6;padding:2px;border-radius:4px}.dc-compose-picker button:disabled{opacity:.6}
/* Keep chat-only effects independent from the scenic site backgrounds. */
body[data-cosmetic-chat=diamonds] #chat-messages{background:linear-gradient(#101a2bb3,#101a2bc9),url('/assets/cosmetics/pattern-diamonds-v2.svg') center/260px,#182c3d}body[data-cosmetic-chat=tnt] #chat-messages{background:linear-gradient(#101a2bb3,#101a2bc9),url('/assets/cosmetics/pattern-tnt-v2.svg') center/260px,#292331}body[data-cosmetic-chat=vault] #chat-messages{background:linear-gradient(#101a2bb3,#101a2bc9),url('/assets/cosmetics/pattern-vault-v2.svg') center/260px,#2b2a2c}body[data-cosmetic-chat=cosmic] #chat-messages{background:linear-gradient(#101a2bb3,#101a2bc9),url('/assets/cosmetics/pattern-cosmic-v2.svg') center/260px,#28223b}
/* Author-owned message effects, shared with every reader. */
body[data-cosmetic-chat] #chat-messages{background:none!important;animation:none!important}
body[data-cosmetic-bg=minecraft-nether]:before,.cos-bg-minecraft-nether{background:linear-gradient(#110d1933,#10152266),url('/assets/cosmetics/minecraft-nether-v4.webp') center/cover no-repeat}body[data-cosmetic-bg=minecraft-end]:before,.cos-bg-minecraft-end{background:linear-gradient(#0b10252b,#0b142455),url('/assets/cosmetics/minecraft-end-v4.webp') center/cover no-repeat}
.cos-chat-money{background:radial-gradient(ellipse at top right,#47765266,transparent 70%),linear-gradient(130deg,#173b37,#172536);border-color:#9ce8b5aa!important}.cos-chat-jackpot{background:radial-gradient(ellipse at top left,#9b6c3955,transparent 70%),linear-gradient(135deg,#3a2845,#242a39);border-color:#f0c77daa!important}
.chat-message[class*=cos-chat-],.cosmetic-preview[data-cos-effect]{position:relative;isolation:isolate}
.chat-message[class*=cos-chat-]>:not(.chat-box-fx):not(.chat-emoji-picker):not(.chat-message-actions),.cosmetic-preview[data-cos-effect]>:not(.chat-box-fx){position:relative;z-index:1}
.chat-message[class*=cos-chat-]>.chat-emoji-picker{z-index:15}.chat-message:has(.chat-emoji-picker:not([hidden])){z-index:20}
.chat-box-fx{position:absolute!important;inset:0;z-index:0!important;overflow:hidden;border-radius:inherit;pointer-events:none;user-select:none;opacity:.9}
.chat-fx-piece{position:absolute;display:block;left:var(--fx-x);top:var(--fx-y);width:28px;height:28px;opacity:.3;transform:rotate(var(--fx-angle))}
.chat-fx-piece img{display:block;width:100%;height:100%;object-fit:contain;max-width:none;border-radius:0}
.chat-fx-note{width:43px;height:23px;opacity:.38;filter:drop-shadow(0 2px 3px #081a1a66)}.chat-fx-coin{width:25px;height:25px;opacity:.42}.chat-fx-star{width:17px;height:17px;opacity:.5}.chat-fx-gem,.chat-fx-tnt{width:30px;height:30px;opacity:.38}.chat-fx-ghost{opacity:.3;width:28px;height:28px}
body[data-cosmetic-motion=on] .chat-fx-piece{animation:chatEffectFall var(--fx-speed) linear var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-fx-note{animation-name:chatMoneyFall}body[data-cosmetic-motion=on] .chat-fx-coin{animation-name:chatCoinFall}body[data-cosmetic-motion=on] .chat-fx-star{animation-name:chatStarOrbit}
@keyframes chatEffectFall{0%{transform:translate3d(-12px,-100px,0) rotate(var(--fx-angle));opacity:0}15%{opacity:.45}85%{opacity:.4}100%{transform:translate3d(24px,220px,0) rotate(calc(var(--fx-angle) + 110deg));opacity:0}}
@keyframes chatMoneyFall{0%{transform:translate3d(-18px,-110px,0) rotate(-24deg) rotateY(0deg);opacity:0}15%{opacity:.5}50%{transform:translate3d(12px,40px,0) rotate(18deg) rotateY(25deg);opacity:.42}85%{opacity:.5}100%{transform:translate3d(-8px,220px,0) rotate(-12deg) rotateY(-25deg);opacity:0}}
@keyframes chatCoinFall{0%{transform:translate3d(0,-110px,0) rotateY(0deg);opacity:0}15%,85%{opacity:.5}100%{transform:translate3d(16px,230px,0) rotateY(540deg);opacity:0}}
@keyframes chatStarOrbit{0%,100%{transform:translate3d(-15px,12px,0) scale(.5) rotate(0deg);opacity:.15}50%{transform:translate3d(22px,-18px,0) scale(1.1) rotate(90deg);opacity:.6}}
.chat-box-fx-aurora .chat-fx-ribbon{width:170px;height:170px;border-radius:50%;background:radial-gradient(ellipse,#75f5bb55,transparent 60%);opacity:.5}.chat-box-fx-aurora .chat-fx-ribbon:nth-child(2){background:radial-gradient(ellipse,#b29aff55,transparent 60%)}
body[data-cosmetic-motion=on] .chat-fx-ribbon{animation:chatRibbon 12s ease-in-out var(--fx-delay) infinite alternate}@keyframes chatRibbon{from{transform:translate3d(-55px,25px,0) scale(.8)}to{transform:translate3d(50px,-55px,0) scale(1.25)}}
.chat-box-fx-money:before,.chat-box-fx-jackpot:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#d4ffd622 48%,transparent 65%);transform:translateX(-110%)}body[data-cosmetic-motion=on] :is(.chat-box-fx-money,.chat-box-fx-jackpot):before{animation:chatGlimmer 9s ease-in-out infinite}@keyframes chatGlimmer{0%,35%{transform:translateX(-110%)}70%,100%{transform:translateX(110%)}}
.chat-message.cos-chat-money>p,.chat-message.cos-chat-jackpot>p{background:#0c192c80;text-shadow:0 1px 2px #08111f}
.cosmetic-public-style-note{padding:12px 14px;border:1px solid #8bb1c533;background:#20384866;border-radius:9px;font-size:12px;color:#c0dce9;line-height:1.6}
body[data-cosmetic-motion=on] img:is([data-dc-emoji=donut],[data-dc-emoji=gem],[data-dc-emoji=tnt],[data-dc-emoji=rocket],[data-dc-emoji=fire],[data-dc-emoji=crown]){animation:cosPremiumEmoji 3.6s ease-in-out infinite;filter:drop-shadow(0 2px 4px #71caef44)}
.chat-fx-offscreen .chat-fx-piece,.chat-fx-offscreen .chat-box-fx:before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body[data-cosmetic-motion=on] .chat-fx-piece,body[data-cosmetic-motion=on] .chat-box-fx:before,body[data-cosmetic-motion=on] img[data-dc-emoji]{animation:none!important}}
.cosmetic-preview[data-cos-effect]>.cosmetic-locked,.cosmetic-preview[data-cos-effect]>.cosmetic-animation-badge{position:absolute;z-index:2}
body[data-cosmetic-motion=on] .chat-box-fx-vault .chat-fx-piece{animation-name:chatStarOrbit}
.chat-box-fx-cosmic .chat-fx-star:after{content:'';position:absolute;right:50%;top:50%;width:45px;height:1px;background:linear-gradient(90deg,transparent,#c6e7ff);transform:rotate(25deg);transform-origin:right}
body[data-cosmetic-motion=on] .chat-box-fx-cosmic .chat-fx-piece{animation-name:chatMeteor}
@keyframes chatMeteor{0%{transform:translate3d(-160px,-65px,0) scale(.6);opacity:0}20%,75%{opacity:.6}100%{transform:translate3d(190px,125px,0) scale(1);opacity:0}}

/* Compact message layout: cosmetics decorate the row without changing its size. */
#chat-messages .chat-message{height:auto;min-height:0;padding:7px 8px 18px;margin:4px 0;border-radius:10px}
#chat-messages .chat-message .chat-identity{position:relative;min-height:20px;padding-left:36px;gap:5px}
#chat-messages .chat-message .chat-avatar-link{position:absolute;left:0;top:0;width:28px;height:28px;flex:none}
#chat-messages .chat-message .chat-avatar-link :is(img,.player-head){width:28px;height:28px}
#chat-messages .chat-message>p{margin:2px 0 0 36px;padding:0;background:transparent;border-radius:0;font-size:12px;line-height:1.5;color:#e4eaf3}
#chat-messages .chat-message>.chat-message-actions{position:absolute;right:8px;bottom:0;height:18px;z-index:2}
#chat-messages .chat-message>.chat-reactions{margin:4px 0 0 36px}
#chat-messages .chat-message>.chat-emoji-picker[hidden]{display:none}
@media(pointer:coarse){#chat-messages .chat-message{padding-bottom:24px}}

/* Moving collectibles stay inside the existing, content-sized message box. */
:is(.chat-message,.cosmetic-preview).cos-chat-tnt{background:radial-gradient(ellipse at 85% 70%,#a62b1c77,transparent 75%),linear-gradient(120deg,#41202c,#301d29);border-color:#ff895c99!important;box-shadow:inset 0 0 14px #f660171c,0 0 9px #f47b2620}
:is(.chat-message,.cosmetic-preview).cos-chat-diamonds{background:radial-gradient(ellipse at right,#13729c55,transparent 75%),linear-gradient(120deg,#132f43,#193449)}
:is(.chat-message,.cosmetic-preview).cos-chat-vault{background:radial-gradient(ellipse at right,#a7752e55,transparent 75%),linear-gradient(120deg,#342c26,#262c38)}
.chat-box-fx{mask-image:linear-gradient(90deg,transparent,#0008 38%,#000 70%)}
.chat-box-fx .chat-fx-piece:not(.chat-fx-ribbon){top:0;width:var(--fx-size);height:100%;opacity:.6;transform:translateY(var(--fx-y));}
.chat-box-fx .chat-fx-piece:not(.chat-fx-ribbon) img{height:var(--fx-size);filter:drop-shadow(0 2px 3px #050a1666)}
.chat-box-fx .chat-fx-note{width:42px;--fx-size:25px!important}
.chat-box-fx .chat-fx-note img{object-fit:contain}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-tnt{animation:chatTntBounce var(--fx-speed) ease-in-out var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-tnt img{animation:chatCollectibleTumble calc(var(--fx-speed) * 1.5) ease-in-out var(--fx-delay) infinite alternate}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-gem{animation:chatGemBounce var(--fx-speed) ease-in-out var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-gem img{animation:chatGemTurn calc(var(--fx-speed) * 1.8) ease-in-out var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-note{animation:chatBillShower var(--fx-speed) linear var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-note img{animation:chatBillFlutter 1.8s ease-in-out var(--fx-delay) infinite alternate}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-coin{animation:chatGemBounce var(--fx-speed) ease-in-out var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-coin img{animation:chatGemTurn 2.4s linear var(--fx-delay) infinite}
body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-ghost{animation:chatGhostFloat var(--fx-speed) ease-in-out var(--fx-delay) infinite alternate}
@keyframes chatTntBounce{0%,100%{transform:translate3d(-8px,0,0)}48%{transform:translate3d(9px,calc(100% - var(--fx-size)),0)}58%{transform:translate3d(12px,calc(75% - var(--fx-size)),0)}72%{transform:translate3d(5px,calc(100% - var(--fx-size)),0)}}
@keyframes chatCollectibleTumble{from{transform:rotate(-24deg)}to{transform:rotate(32deg)}}
@keyframes chatGemBounce{0%,100%{transform:translate3d(8px,0,0);opacity:.4}50%{transform:translate3d(-9px,calc(100% - var(--fx-size)),0);opacity:.75}}
@keyframes chatGemTurn{0%{transform:perspective(100px) rotateY(0deg) rotate(-10deg)}50%{transform:perspective(100px) rotateY(180deg) rotate(12deg)}100%{transform:perspective(100px) rotateY(360deg) rotate(-10deg)}}
@keyframes chatBillShower{0%{transform:translate3d(-8px,calc(-1 * var(--fx-size)),0);opacity:0}15%,80%{opacity:.65}100%{transform:translate3d(16px,100%,0);opacity:0}}
@keyframes chatBillFlutter{from{transform:rotate(-22deg) rotateY(-30deg)}to{transform:rotate(22deg) rotateY(30deg)}}
@keyframes chatGhostFloat{from{transform:translate3d(-7px,5%,0);opacity:.3}to{transform:translate3d(9px,calc(90% - var(--fx-size)),0);opacity:.6}}
@media(prefers-reduced-motion:reduce){body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-piece,body[data-cosmetic-motion=on] .chat-box-fx .chat-fx-piece img{animation:none!important}}
.chat-fx-offscreen .chat-fx-piece img{animation-play-state:paused!important}
body[data-cosmetic-motion=on] .chat-message:is(.cos-chat-tnt,.cos-chat-diamonds,.cos-chat-vault,.cos-chat-money,.cos-chat-jackpot,.cos-chat-halloween){animation:none}
#chat-messages .chat-message[class*=cos-chat-]:not(.cos-chat-plain)>p{text-shadow:0 1px 3px #07101e}
/* Keep menus opaque and bounded inside the narrow community sidebar. */
.dc-chat-tools{z-index:40;isolation:isolate}.dc-compose-picker{background:#142033!important;opacity:1;max-height:min(350px,55dvh);overflow-y:auto;width:100%;box-sizing:border-box;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:10px;box-shadow:0 12px 35px #000b}.dc-compose-picker button{min-width:0;min-height:42px;padding:4px;position:relative}.dc-compose-picker button>img{width:29px;height:29px}.dc-compose-picker button:disabled{opacity:.35}.dc-picker-lock{position:absolute;right:1px;bottom:0;font-size:10px}
#chat-messages .chat-emoji-picker{position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:8px 0 4px;padding:8px;background:#142033!important;border:1px solid #52617b;border-radius:10px;max-height:210px;overflow-y:auto;isolation:isolate}#chat-messages .chat-emoji-picker[hidden]{display:none}#chat-messages .chat-emoji-picker button{display:grid;place-items:center;min-width:0;min-height:38px;border-radius:6px;background:#ffffff08}#chat-messages .chat-emoji-picker button:hover{background:#ffffff20}
#chat-messages .chat-message-actions{position:static;opacity:1;pointer-events:auto;justify-content:flex-end;height:auto;gap:12px;margin:5px 0 0}#chat-messages .chat-message-actions button{min-height:28px;font-size:11px;padding:3px 5px}
#chat-text[hidden]{display:none!important}#dc-chat-editor{flex:1;min-width:0;max-height:100px;overflow-y:auto;padding:10px 8px;border:0;outline:none;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:28px;color:#f4f7ff;cursor:text}#dc-chat-editor:empty:before{content:attr(data-placeholder);color:#93a3b9;pointer-events:none}#dc-chat-editor[aria-disabled=true]{opacity:.6;cursor:default}#dc-chat-editor .dc-emoji{width:27px!important;height:27px!important;vertical-align:middle}#dc-chat-editor:focus{box-shadow:inset 0 0 0 1px #a590d3;border-radius:8px}

/* Reveal controls on desktop without moving messages when the pointer enters. */
@media (hover:hover) and (pointer:fine){
 #chat-messages .chat-message>.chat-message-actions{opacity:0;pointer-events:none;margin:0;height:0;min-height:0;overflow:hidden}
 #chat-messages .chat-message:hover>.chat-message-actions,
 #chat-messages .chat-message:focus-within>.chat-message-actions,
 #chat-messages .chat-message:has(.chat-emoji-picker:not([hidden]))>.chat-message-actions{position:absolute;bottom:0;right:8px;height:22px;overflow:visible;opacity:1;pointer-events:auto}
 #chat-messages .chat-message>.chat-message-actions button{min-height:22px;padding:2px 4px}
}

/* Optional dusk castle scenes; existing defaults and personal choices stay intact. */
body[data-cosmetic-bg=moonlit-castle]:before,.cos-bg-moonlit-castle{background:linear-gradient(#09101814,#09101824),url('/assets/cosmetics/moonlit-castle-v1.webp') center/cover no-repeat}
body[data-cosmetic-bg=lava-citadel]:before,.cos-bg-lava-citadel{background:linear-gradient(#09101814,#09101824),url('/assets/cosmetics/lava-citadel-v1.webp') center/cover no-repeat}
body[data-cosmetic-bg=emerald-courtyard]:before,.cos-bg-emerald-courtyard{background:linear-gradient(#09101814,#09101824),url('/assets/cosmetics/emerald-courtyard-v1.webp') center/cover no-repeat}
body[data-cosmetic-bg=amethyst-highlands]:before,.cos-bg-amethyst-highlands{background:linear-gradient(#09101814,#09101824),url('/assets/cosmetics/amethyst-highlands-v1.webp') center/cover no-repeat}
body[data-cosmetic-bg=emberstone-hall]:before,.cos-bg-emberstone-hall{background:linear-gradient(#09101814,#09101824),url('/assets/cosmetics/emberstone-hall-v1.webp') center/cover no-repeat}
/* Retired message-box effects: old saved selections render as classic chat. */
.chat-box-fx{display:none!important}
body[data-cosmetic-chat] #chat-messages{background:none!important;animation:none!important}
