/* FP Digital Portal v11.0.6: full-stage voice, folders, soundboard, performance */

/* Folder compression feedback */
.folder-compression-overlay-v112{position:fixed;right:24px;bottom:104px;z-index:1320;width:min(390px,calc(100vw - 32px));display:flex;align-items:center;gap:14px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%,#000 2%),color-mix(in srgb,var(--panel2) 97%,#000 3%));box-shadow:0 24px 70px rgba(0,0,0,.5);backdrop-filter:blur(22px)}
.folder-compression-icon-v112{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#07131e);font-size:.78rem;font-weight:950;letter-spacing:.08em}
.folder-compression-overlay-v112>div:last-child{min-width:0;flex:1}.folder-compression-overlay-v112 b,.folder-compression-overlay-v112 small{display:block}.folder-compression-overlay-v112 b{font-size:.82rem}.folder-compression-overlay-v112 small{margin-top:4px;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-compression-overlay-v112 span{display:block;height:6px;margin-top:10px;border-radius:999px;background:var(--surface);overflow:hidden}.folder-compression-overlay-v112 span i{display:block;height:100%;width:2%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .18s ease}
.chat-media-tools #chatAttachFolderV112{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--accent2) 8%,transparent))}
.message-file-icon-v103{min-width:72px}
.message-attachment-card-v103:has(.message-file-icon-v103){border-color:color-mix(in srgb,var(--accent) 16%,var(--border))}

/* Full-space voice redesign */
#view-voice{--voice-left:270px;--voice-right:300px}
#view-voice .voice-discord-shell-v9{display:grid!important;grid-template-columns:var(--voice-left) minmax(0,1fr) var(--voice-right)!important;gap:14px!important;min-height:calc(100vh - 190px)!important;align-items:stretch}
#view-voice.voice-panels-hidden-v112 .voice-discord-shell-v9{grid-template-columns:var(--voice-left) minmax(0,1fr)!important}
#view-voice.voice-panels-hidden-v112 .voice-info-rail-v9{display:none!important}
#view-voice.voice-focus-stage-v112 .voice-discord-shell-v9{grid-template-columns:minmax(0,1fr)!important}
#view-voice.voice-focus-stage-v112 .voice-channel-rail-v9,#view-voice.voice-focus-stage-v112 .voice-info-rail-v9{display:none!important}
#view-voice .voice-channel-rail-v9,#view-voice .voice-stage-v9,#view-voice .voice-info-rail-v9{min-height:0!important;height:auto!important;border-radius:24px!important}
#view-voice .voice-stage-v9{display:flex!important;flex-direction:column!important;overflow:hidden!important;min-width:0!important}
#view-voice .voice-stage-head-v9{padding:16px 20px!important;min-height:72px!important;flex:0 0 auto!important}
#view-voice .voice-head-actions-v9{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
#view-voice .voice-head-actions-v9 button{height:38px!important;padding:0 13px!important;border-radius:12px!important}
#view-voice #voiceFocusStageV112,#view-voice #voiceTogglePanelsV112{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))!important;background:color-mix(in srgb,var(--accent) 10%,var(--surface))!important;color:var(--text)!important}
#view-voice .voice-participant-stage-head-v104{padding:14px 20px!important;flex:0 0 auto!important}
#view-voice .voice-participant-stage-head-v104 h3{font-size:1.05rem!important}
#view-voice .voice-participant-stage-head-v104 p{max-width:800px!important}
#view-voice .voice-control-dock-v103{margin:12px 18px 0!important;padding:10px!important;grid-template-columns:repeat(8,minmax(70px,1fr))!important;gap:8px!important;flex:0 0 auto!important}
#view-voice .voice-control-v9,#view-voice .voice-main-button{min-height:54px!important;border-radius:16px!important}
#view-voice .voice-participant-grid-v9,#view-voice .voice-participant-grid-v103{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;grid-auto-rows:minmax(210px,1fr)!important;gap:16px!important;align-content:stretch!important;flex:1!important;min-height:330px!important;padding:16px 18px 20px!important;overflow:auto!important}
#view-voice .voice-participant-grid-v9[hidden],#view-voice .voice-participant-grid-v103[hidden]{display:none!important}
#view-voice .voice-participant-card-v9,#view-voice .voice-participant-card-v104{min-height:210px!important;border-radius:24px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:22px!important;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--panel2) 95%,transparent))!important}
#view-voice .voice-participant-avatar-v9{width:96px!important;height:96px!important;font-size:1.7rem!important;border-radius:30px!important;box-shadow:0 14px 40px rgba(0,0,0,.35)!important}
#view-voice .voice-participant-card-v104.speaking{border-color:var(--accent2)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent2) 26%,transparent),0 20px 70px color-mix(in srgb,var(--accent) 20%,rgba(0,0,0,.3))!important}
#view-voice .voice-participant-card-v104.speaking .voice-participant-avatar-v9{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent2) 18%,transparent),0 0 34px color-mix(in srgb,var(--accent2) 48%,transparent)!important}
#view-voice .voice-participant-identity-v104 b{font-size:1rem!important}#view-voice .voice-participant-identity-v104 small{font-size:.74rem!important}
#view-voice .voice-channel-rail-v9{padding:14px!important;overflow:auto!important}
#view-voice .voice-room-button-v9{min-height:58px!important;border-radius:17px!important;padding:10px 12px!important}
#view-voice .voice-info-rail-v9{padding:14px!important;overflow:auto!important}
#view-voice .voice-info-card-v9{border-radius:18px!important;padding:14px!important}
#view-voice .voice-empty-state-v9{flex:1!important;min-height:360px!important;display:grid!important;place-items:center!important;padding:40px!important;text-align:center!important}
#view-voice .voice-empty-state-v9>div{max-width:580px!important}
#view-voice .voice-screen-stage-v103{margin:16px 18px 20px!important;border-radius:24px!important;min-height:360px!important;flex:1!important}
#view-voice.voice-focus-stage-v112 .voice-screen-stage-v103{min-height:calc(100vh - 330px)!important}

/* Soundboard studio */
.soundboard-studio-v112{position:fixed!important;inset:82px 32px 30px calc(var(--sidebar,270px) + 32px)!important;z-index:1380!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;padding:0!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))!important;border-radius:28px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 99%,#000 1%),color-mix(in srgb,var(--panel2) 98%,#000 2%))!important;box-shadow:0 34px 120px rgba(0,0,0,.62)!important;overflow:hidden!important;backdrop-filter:blur(26px)!important}
.soundboard-hero-v112{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border-bottom:1px solid var(--border);background:radial-gradient(circle at 10% 20%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),linear-gradient(100deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--accent2) 8%,transparent))}
.soundboard-hero-v112 h3{margin-top:6px;font-size:1.35rem}.soundboard-hero-v112 p{margin-top:6px;color:var(--muted);font-size:.82rem}.soundboard-hero-v112>button{width:42px;height:42px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-size:1.1rem}
.soundboard-toolbar-v112{display:flex;align-items:end;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border)}
.soundboard-toolbar-v112 label{flex:1}.soundboard-toolbar-v112 label span{display:block;margin-bottom:7px;color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.soundboard-toolbar-v112 input{width:100%;height:48px;padding:0 15px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);outline:0}.soundboard-toolbar-v112 input:focus{border-color:var(--accent)}
.soundboard-toolbar-v112 button,.soundboard-upload-v112 button{height:48px;padding:0 18px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#06131f);font-weight:900}
.sound-grid-v112{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:15px!important;padding:20px 24px!important;max-height:calc(100% - 248px)!important;overflow:auto!important;align-content:start!important}
.sound-card-v112{min-height:220px;padding:16px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--panel2) 94%,transparent));display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.sound-card-v112:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 18px 42px rgba(0,0,0,.25)}
.sound-card-v112 header{display:flex;align-items:center;gap:11px}.sound-card-v112 header>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 25%,transparent),color-mix(in srgb,var(--accent2) 16%,transparent));color:var(--accent2);font-size:1.2rem}.sound-card-v112 header b,.sound-card-v112 header small{display:block}.sound-card-v112 header b{font-size:.86rem}.sound-card-v112 header small{margin-top:4px;color:var(--muted);font-size:.66rem}
.sound-wave-v112{height:64px;margin:18px 0;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border-radius:16px;background:color-mix(in srgb,var(--surface) 76%,transparent);overflow:hidden}.sound-wave-v112 i{width:5px;height:var(--bar);border-radius:999px;background:linear-gradient(to top,var(--accent),var(--accent2));opacity:.8}.sound-card-v112:hover .sound-wave-v112 i{animation:soundBounceV112 .75s ease-in-out infinite alternate}.sound-wave-v112 i:nth-child(2n){animation-delay:.12s}.sound-wave-v112 i:nth-child(3n){animation-delay:.24s}@keyframes soundBounceV112{to{height:calc(var(--bar) * .55);opacity:.5}}
.sound-card-v112 footer{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto}.sound-card-v112 footer button{height:42px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-weight:850}.sound-card-v112 footer button.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#06131f);border-color:transparent}
.soundboard-upload-v112{position:absolute;left:24px;right:24px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.soundboard-upload-v112 b,.soundboard-upload-v112 small{display:block}.soundboard-upload-v112 small{margin-top:3px;color:var(--muted);font-size:.65rem}.soundboard-upload-v112 button{height:40px}

/* General smoothness */
.view:not(.active){content-visibility:hidden!important}.view.active{content-visibility:visible!important}
.youtube-track-card-v9,.voice-participant-card-v104,.message-row{contain:layout paint style}
.bg video{will-change:auto}.grid{will-change:auto}

@media(max-width:1250px){#view-voice{--voice-left:240px;--voice-right:260px}.soundboard-studio-v112{left:24px!important}.sound-grid-v112{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}}
@media(max-width:900px){#view-voice .voice-discord-shell-v9{grid-template-columns:1fr!important}#view-voice .voice-channel-rail-v9,#view-voice .voice-info-rail-v9{display:none!important}#view-voice .voice-control-dock-v103{grid-template-columns:repeat(4,minmax(64px,1fr))!important}#view-voice .voice-participant-grid-v9,#view-voice .voice-participant-grid-v103{grid-template-columns:1fr!important}.soundboard-studio-v112{inset:74px 10px 10px 10px!important}.soundboard-toolbar-v112{align-items:stretch;flex-direction:column}.soundboard-toolbar-v112 button{width:100%}.sound-grid-v112{max-height:calc(100% - 300px)!important;grid-template-columns:1fr!important}.soundboard-upload-v112{left:12px;right:12px}}
