.ffchat{--c:#22e7ff;--p:#ff32bc;overflow:hidden;border:1px solid rgba(34,231,255,.2);border-radius:24px;padding:clamp(22px,4vw,38px);background:radial-gradient(ellipse at 90% 0%,rgba(255,50,188,.12),transparent 35%),linear-gradient(145deg,#12121d,#080810);color:#f8f8ff;box-shadow:0 20px 70px #0005}.ffchat-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.ffchat-kicker{color:var(--c);font-size:10px;font-weight:900;letter-spacing:.18em}.ffchat-kicker i,.ffchat-live i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#ff368b;box-shadow:0 0 12px #ff368b;animation:ffchat-blink 1.5s infinite}.ffchat-head h2{margin:8px 0 6px;color:#fff;font-size:clamp(26px,4vw,38px);font-weight:900;letter-spacing:-.035em}.ffchat-head p{margin:0;color:#aaaabc;font-size:14px}.ffchat-live{flex:none;padding:9px 12px;border:1px solid #ff3c8b55;border-radius:99px;color:#ff9ac6;font-size:10px;font-weight:900;letter-spacing:.12em}.ffchat-log{display:flex;flex-direction:column;gap:12px;height:330px;overflow:auto;padding:8px 8px 18px 0;scrollbar-color:#39394f transparent;scrollbar-width:thin}.ffchat-message{display:flex;align-items:flex-start;gap:10px;max-width:88%;animation:ffchat-in .25s ease-out}.ffchat-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#ff2bbd,#7e43ff 65%,#21dff5);color:#fff;font-size:14px;font-weight:900}.ffchat-bubble{padding:10px 13px;border:1px solid #ffffff12;border-radius:4px 14px 14px 14px;background:#ffffff08}.ffchat-bubble>div{display:flex;align-items:center;gap:12px}.ffchat-bubble strong{color:#8df4ff;font-size:12px}.ffchat-bubble time{color:#77778c;font-size:10px}.ffchat-bubble p{margin:5px 0 0;color:#eeeeF7;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.ffchat-form{display:grid;grid-template-columns:minmax(110px,.3fr) 1fr auto;gap:9px;margin-top:12px}.ffchat-form input:not(.ffchat-trap){min-width:0;padding:13px 14px;border:1px solid #ffffff1c;border-radius:11px;background:#11111b;color:#fff;font:inherit;font-size:14px;outline:none}.ffchat-form input:focus{border-color:var(--c);box-shadow:0 0 0 3px #22e7ff16}.ffchat-form button{padding:0 19px;border:0;border-radius:11px;background:linear-gradient(105deg,#ff29b7,#8048ff 58%,#1ddcf0);color:#fff;font-size:11px;font-weight:900;letter-spacing:.07em;cursor:pointer}.ffchat-form button:disabled{opacity:.6}.ffchat-form button span{margin-left:5px;font-size:15px}.ffchat-status{min-height:18px;padding-top:9px;color:#8b8b9f;font-size:11px;text-align:center}.ffchat-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@keyframes ffchat-blink{50%{opacity:.45}}@keyframes ffchat-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.ffchat{padding:20px 15px;border-radius:18px}.ffchat-head{align-items:flex-start}.ffchat-live{padding:7px 9px;font-size:9px}.ffchat-log{height:300px}.ffchat-form{grid-template-columns:1fr auto}.ffchat-form input[name=nick]{grid-column:1/-1}.ffchat-form button{min-height:46px}.ffchat-message{max-width:100%}}
.ffchat-emoji-wrap{position:relative;display:flex;align-items:center}.ffchat-emoji-toggle{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:linear-gradient(145deg,#1a1a29,#10101a);color:#ffd66b;font-size:24px;cursor:pointer;transition:.2s}.ffchat-emoji-toggle:hover,.ffchat-emoji-toggle[aria-expanded=true]{border-color:#ffb947;box-shadow:0 0 18px #ffb94735;transform:translateY(-1px)}.ffchat-emoji-panel{position:absolute;z-index:10;right:0;bottom:56px;display:grid;grid-template-columns:repeat(4,42px);gap:5px;padding:10px;border:1px solid #ffffff24;border-radius:15px;background:#13131f;box-shadow:0 12px 36px #0009}.ffchat-emoji-panel[hidden]{display:none}.ffchat-emoji{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:9px;background:transparent;font-size:22px;cursor:pointer}.ffchat-emoji:hover{background:#ffffff14;transform:scale(1.12)}@media(max-width:640px){.ffchat-form{grid-template-columns:1fr 46px auto}.ffchat-form input[name=nick]{grid-column:1/-1}.ffchat-form input[name=message]{grid-column:1}.ffchat-form button{grid-column:3;min-height:46px}}
/* Floating, collapsible player-style community chat */
.ffchat{position:fixed!important;z-index:99990;right:22px;bottom:22px;width:min(390px,calc(100vw - 32px));box-sizing:border-box;padding:0;border:1px solid rgba(47,231,255,.36);border-radius:20px;background:linear-gradient(145deg,#11111c,#08080f);box-shadow:0 16px 64px #000a,0 0 28px #8435ff25;transition:width .25s,box-shadow .25s,border-color .25s}.ffchat:not(.ffchat-open){width:min(310px,calc(100vw - 24px));border-color:#ff32bc88;box-shadow:0 10px 38px #0009,0 0 24px #ff32bc33}.ffchat-head{display:flex;align-items:center;gap:8px;min-height:76px;margin:0;padding:12px 14px}.ffchat-launch{display:flex;align-items:center;gap:11px;flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ffchat-launch-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #ffffff1c;border-radius:14px;background:linear-gradient(140deg,#ff2bbd,#823eff 60%,#22e7ff);font-size:22px;box-shadow:0 4px 18px #d32baf44}.ffchat-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.ffchat-head-copy .ffchat-kicker{font-size:8px}.ffchat-head-copy strong{overflow:hidden;color:white;font-size:15px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ffchat-head-copy small{color:#a8a8ba;font-size:11px}.ffchat-live{display:inline-flex;align-items:center;gap:3px;padding:6px 8px;font-size:8px}.ffchat-live i{width:6px;height:6px;margin:0}.ffchat-collapse{display:none;place-items:center;flex:none;width:30px;height:30px;padding:0;border:1px solid #ffffff1c;border-radius:9px;background:#ffffff0c;color:#fff;font-size:21px;line-height:1;cursor:pointer}.ffchat:not(.ffchat-open) .ffchat-head{min-height:72px}.ffchat:not(.ffchat-open) .ffchat-live{display:none}.ffchat:not(.ffchat-open) .ffchat-head-copy small{color:#25e8ff}.ffchat-open .ffchat-collapse{display:grid}.ffchat-open .ffchat-head{border-bottom:1px solid #ffffff12}.ffchat-open{box-shadow:0 20px 72px #000b,0 0 35px #22e7ff22}.ffchat:not(.ffchat-open) .ffchat-log,.ffchat:not(.ffchat-open) .ffchat-form,.ffchat:not(.ffchat-open) .ffchat-status{display:none}.ffchat-open .ffchat-log{height:330px;margin:0 16px;padding-top:16px}.ffchat-open .ffchat-form{grid-template-columns:minmax(80px,.35fr) 1fr 42px auto;margin:0 14px}.ffchat-open .ffchat-form input[name=nick]{max-width:120px}.ffchat-open .ffchat-form button[type=submit]{padding:0 12px}.ffchat-open .ffchat-status{margin:0 12px 8px}.ffchat-open .ffchat-emoji-panel{bottom:52px}.ffchat:not(.ffchat-open):hover{transform:translateY(-2px)}.ffchat-open .ffchat-head h2,.ffchat-open .ffchat-head p{display:none}@media(max-width:640px){.ffchat{right:12px;bottom:12px;width:calc(100vw - 24px)}.ffchat:not(.ffchat-open){width:min(290px,calc(100vw - 24px))}.ffchat-open .ffchat-log{height:min(42vh,320px)}.ffchat-open .ffchat-form{grid-template-columns:minmax(66px,.45fr) minmax(0,1fr) 38px auto;gap:6px;margin:0 9px}.ffchat-open .ffchat-form input:not(.ffchat-trap){padding:11px 9px;font-size:12px}.ffchat-open .ffchat-form input[name=nick]{max-width:90px}.ffchat-open .ffchat-form button[type=submit]{padding:0 8px;font-size:9px}.ffchat-open .ffchat-emoji-toggle{width:38px;height:42px}.ffchat-open .ffchat-head{min-height:68px}}
