/* UFive r9.3.295: neutral outer surfaces, independent of control/service accents. */
:root{--ufive-dialog-border:rgba(255,255,255,.065);--ufive-dialog-radius:6px;--ufive-dialog-popup-shadow:0 8px 24px rgba(0,0,0,.24);--ufive-dialog-modal-shadow:0 16px 44px rgba(0,0,0,.32);--ufive-overlay-base:1200;--ufive-selection-surface:#20222a;--ufive-selection-input:#171920;--ufive-selection-hover:#2a2d36;--ufive-selection-selected:#323641;--ufive-selection-border:var(--line);--ufive-selection-scrollbar:#555963;--ufive-popup-radius:var(--ufive-dialog-radius);--ufive-emoji-width:360px;--ufive-emoji-height:360px}
#ufiveOverlayHost.ufive-overlay-host{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none;transform:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;isolation:auto;z-index:var(--ufive-overlay-level,1201);color:var(--text);font:inherit}
#ufiveOverlayHost::backdrop{background:transparent;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}
/* Global notification positioning only; retain the existing toast surface and lifecycle. */
#notice.notice{margin:0;left:auto;bottom:auto;top:max(calc(22px + env(safe-area-inset-top,0px)),var(--ufive-notice-top,22px));right:calc(var(--ufive-notice-right,22px) + env(safe-area-inset-right,0px));width:max-content;max-width:min(430px,calc(var(--ufive-notice-viewport-width,100vw) - 44px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));z-index:calc(var(--ufive-overlay-base,1200) + 2)}
#notice.notice::backdrop{background:transparent;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:800px){#notice.notice{top:max(calc(12px + env(safe-area-inset-top,0px)),var(--ufive-notice-top,12px));right:calc(var(--ufive-notice-right,12px) + env(safe-area-inset-right,0px));max-width:min(430px,calc(var(--ufive-notice-viewport-width,100vw) - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}}
#ufiveOverlayHost .ufive-portal-content{z-index:auto;transform:none;filter:none;isolation:auto}
#ufiveOverlayHost .ufive-popup-surface{position:fixed;right:auto;bottom:auto;min-width:0;box-sizing:border-box;border:1px solid var(--ufive-dialog-border)!important;border-radius:var(--ufive-popup-radius)!important;outline:none!important;background:var(--ufive-selection-surface);box-shadow:var(--ufive-dialog-popup-shadow)!important;pointer-events:auto;color:var(--text)}
/* Non-portal navigation menus share only the outer finish, not positioning or behavior.
   Container focus stays neutral; keyboard focus on children remains untouched. */
#dashboardApp :is(.userMenuPanel,.server-menu,.dashboardQuickSearchResults,.dashboardFooterLanguageMenu){border:1px solid var(--ufive-dialog-border)!important;border-radius:var(--ufive-dialog-radius)!important;outline:none!important;box-shadow:var(--ufive-dialog-popup-shadow)!important}
#dashboardApp :is(.userMenuPanel button.danger,.server-menu .add-server){border-top-color:var(--ufive-dialog-border)!important}
#ufiveOverlayHost .changelog-emoji-picker{width:var(--ufive-emoji-width);height:var(--ufive-emoji-height);max-height:var(--ufive-emoji-height)}
#ufiveOverlayHost .changelog-emoji-grid{flex:1 1 0;min-height:0;overflow:auto}
#ufiveOverlayHost .changelog-emoji-section-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:5px}
#ufiveOverlayHost .changelog-emoji-choice{background:var(--ufive-selection-input)}
#ufiveOverlayHost .changelog-emoji-choice:hover{background:var(--ufive-selection-hover)}
#ufiveOverlayHost .changelog-emoji-choice:focus-visible{outline:2px solid var(--text);outline-offset:-2px}
#ufiveOverlayHost .public-panel-flyout-box{height:min(420px,calc(100dvh - 24px))}
/* Panel remains the same element; original listeners and native selects survive the portal. */
.ufive-selection-surface{padding:8px;overflow:auto;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ufive-selection-surface .ufive-selection-search-wrap{position:relative;margin:0 0 7px}
.ufive-selection-surface .ufive-selection-search{width:100%;height:38px;margin:0!important;padding:8px 36px 8px 10px!important;border:1px solid var(--ufive-selection-border)!important;border-radius:6px!important;background:var(--ufive-selection-input)!important;box-shadow:none!important;color:var(--text)!important;font-size:12px!important}
.ufive-selection-surface .ufive-selection-search:focus{outline:2px solid var(--muted);outline-offset:-2px}
.ufive-selection-surface .ufive-selection-search-wrap .command-search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--muted);pointer-events:none}
.ufive-selection-surface .ufive-selection-list{display:grid;gap:2px;max-height:300px;min-height:0;overflow:auto;padding-right:2px}
.ufive-selection-surface .ufive-selection-row{display:flex;align-items:center;gap:9px;min-height:36px;width:100%;margin:0!important;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:12px}
.ufive-selection-surface .ufive-selection-row:hover{background:var(--ufive-selection-hover)}
.ufive-selection-surface .ufive-selection-row.selected{background:var(--ufive-selection-selected)}
.ufive-selection-surface .ufive-selection-row:focus-visible{outline:2px solid var(--text);outline-offset:-2px}
.ufive-selection-surface .command-role-item input{display:block;position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);opacity:0}
.ufive-selection-surface .command-role-item:focus-within{outline:2px solid var(--text);outline-offset:-2px}
.ufive-selection-surface .command-role-check{display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:rgba(255,255,255,.025)}
.ufive-selection-surface .command-role-check::after{content:"";width:7px;height:7px;border-radius:2px;background:transparent}
.ufive-selection-surface .command-role-item input:checked + .command-role-check{border-color:#8f929f;background:#454853}
.ufive-selection-surface .command-role-item input:checked + .command-role-check::after{background:#fff}
.ufive-selection-surface .role-dot{width:8px;height:8px;border-radius:50%;background:var(--role-color,#777);flex:none}
.ufive-selection-surface .command-role-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}
.ufive-selection-surface .command-role-empty{padding:12px 8px;color:var(--muted);font-size:12px}
.ufive-selection-surface,.ufive-selection-list,#ufiveOverlayHost .changelog-emoji-grid,#ufiveOverlayHost .public-panel-scroll-list{scrollbar-width:thin;scrollbar-color:var(--ufive-selection-scrollbar) transparent}
.ufive-selection-surface::-webkit-scrollbar,.ufive-selection-list::-webkit-scrollbar,#ufiveOverlayHost .changelog-emoji-grid::-webkit-scrollbar,#ufiveOverlayHost .public-panel-scroll-list::-webkit-scrollbar{width:6px}
.ufive-selection-surface::-webkit-scrollbar-thumb,.ufive-selection-list::-webkit-scrollbar-thumb,#ufiveOverlayHost .changelog-emoji-grid::-webkit-scrollbar-thumb,#ufiveOverlayHost .public-panel-scroll-list::-webkit-scrollbar-thumb{background:var(--ufive-selection-scrollbar);border-radius:999px}
#ufiveOverlayHost .public-panel-flyout-search input,#ufiveOverlayHost .public-panel-mention-search input,#ufiveOverlayHost .changelog-emoji-search-wrap input{background:var(--ufive-selection-input)!important;border:1px solid var(--ufive-selection-border)!important;color:var(--text)!important}
#ufiveOverlayHost .discord-object-picker-panel{display:block!important}

#ufiveOverlayHost .public-panel-picker-column-title{background:var(--ufive-selection-surface)}
#ufiveOverlayHost .public-panel-picker-item,#ufiveOverlayHost .public-panel-format-list button,#ufiveOverlayHost .public-panel-placeholder-list button{background:var(--ufive-selection-input)}
#ufiveOverlayHost .public-panel-picker-item:hover,#ufiveOverlayHost .public-panel-format-list button:hover,#ufiveOverlayHost .public-panel-placeholder-list button:hover{background:var(--ufive-selection-hover)}
#ufiveOverlayHost .public-panel-picker-item:focus-visible,#ufiveOverlayHost .public-panel-format-list button:focus-visible,#ufiveOverlayHost .public-panel-placeholder-list button:focus-visible{outline:2px solid var(--text);outline-offset:-2px}
#ufiveOverlayHost .public-panel-picker-list{scrollbar-width:thin;scrollbar-color:var(--ufive-selection-scrollbar) transparent}
#ufiveOverlayHost .public-panel-picker-list::-webkit-scrollbar-thumb{background:var(--ufive-selection-scrollbar)}

/* Override the legacy mobile dark fill; retain its intentional no-blur rule. */
#ufiveOverlayHost .ufive-selection-surface{background:var(--ufive-selection-surface)!important}

/* r9.3.310: colour selected roles only; preserve existing chip geometry and neutral lists. */
#commands .command-role-chip.ufive-role-colour,.discord-object-picker-chip.ufive-role-colour,.discord-object-picker-single.ufive-role-colour{background:var(--ufive-role-chip-background)!important}
.discord-object-picker-chip.ufive-role-colour{border-color:rgba(255,255,255,.08)!important}
.command-role-chip.ufive-role-colour>span:not(.role-dot),.discord-object-picker-chip.ufive-role-colour>span:not(.discord-object-role-dot),.discord-object-picker-single.ufive-role-colour>span:not(.discord-object-role-dot){color:var(--ufive-role-text)!important}

/* Grouped view of small native choice selects in the existing overlay. */
.ufive-selection-groups{width:320px;max-width:calc(100vw - 24px);overflow-x:hidden}
.ufive-selection-groups>h3{margin:4px 8px 12px;font-size:14px;line-height:1.4}
.ufive-selection-group+.ufive-selection-group{margin-top:12px}
.ufive-selection-group>h4{margin:0 8px 5px;color:var(--muted);font-size:11px;line-height:1.4}
.ufive-selection-group .ufive-selection-list{max-height:none}
.ufive-selection-group .ufive-selection-row{min-height:40px;overflow-wrap:anywhere}

/* Existing account/search roots use the shared portal and layer, not local z-index. */
#ufiveOverlayHost .userMenuPanel{width:248px;padding:6px;overflow:auto;overscroll-behavior:contain}
.userMenuAccountInfo{padding:10px 10px 12px;margin-bottom:5px;border-bottom:1px solid var(--ufive-dialog-border)}
.userMenuAccountInfo small,.userMenuAccountInfo b{display:block;min-width:0;overflow-wrap:anywhere;white-space:normal}
.userMenuAccountInfo small{margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:400}
.userMenuAccountInfo b{color:var(--text);font-size:13px;font-weight:650;line-height:1.4}
#ufiveOverlayHost .userMenuPanel button{border-radius:6px}
#ufiveOverlayHost .dashboardQuickSearchResults{padding:6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ufive-selection-scrollbar) transparent}
#ufiveOverlayHost .dashboardQuickSearchResult{background:transparent;color:var(--text);min-height:44px;border-radius:var(--ufive-form-radius,7px)}
#ufiveOverlayHost .dashboardQuickSearchResult:hover,#ufiveOverlayHost .dashboardQuickSearchResult.active{background:var(--ufive-selection-hover)}
#ufiveOverlayHost .dashboardQuickSearchResultCopy{flex:1;min-width:0}
#ufiveOverlayHost .dashboardQuickSearchResultCopy b{font-size:12px}
#ufiveOverlayHost .dashboardQuickSearchResultCopy small{font-size:11px;color:var(--muted)}
#ufiveOverlayHost .dashboardQuickSearchEmpty{padding:14px 10px;color:var(--muted);font-size:12px}
