.site-icon-picker { --icon-accent: #a58af7; --icon-motion: 180ms; position:relative;z-index:2;display:grid;min-width:0; }
.site-icon-picker:is(.is-open,:focus-within) { z-index:81; }
.site-icon-picker--portal { position:fixed;inset:0 auto auto 0;width:0;height:0;font:400 12px "GothamPro",sans-serif; }
.site-icon-picker svg { display: block; width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.site-icon-picker__trigger { position: relative; display: grid; grid-template-columns: 22px minmax(0,1fr) 18px; align-items: center; gap: 10px; width: 100%; height: 46px; padding: 0 13px 0 16px; border: 1px solid color-mix(in srgb,var(--icon-accent) 22%,transparent); border-radius: 0; color: #b6a6f4; background: rgba(12,16,31,.2); box-shadow: 0 0 10px color-mix(in srgb,var(--icon-accent) 7%,transparent),inset 0 1px 0 rgba(255,255,255,.025); backdrop-filter: blur(24px) saturate(145%); -webkit-backdrop-filter: blur(24px) saturate(145%); font: inherit; font-size: 12px; text-align: left; cursor: pointer; transition: border-color 160ms ease,color 160ms ease,background-color 160ms ease,box-shadow 160ms ease; }
.site-icon-picker__trigger::before { position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--icon-accent); box-shadow: 0 0 8px color-mix(in srgb,var(--icon-accent) 58%,transparent); content: ""; }
.site-icon-picker__trigger:hover, .site-icon-picker__trigger:focus-visible, .site-icon-picker.is-open .site-icon-picker__trigger { outline: none; border-color: color-mix(in srgb,var(--icon-accent) 68%,transparent); color: #fff; background: rgba(15,19,38,.27); box-shadow: 0 0 16px color-mix(in srgb,var(--icon-accent) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.035); }
.site-icon-picker__trigger > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-icon-picker__trigger > svg { width: 16px; height: 16px; color: #8f9bb7; transition: transform var(--icon-motion) cubic-bezier(.22,1,.36,1),color 160ms ease; }
.site-icon-picker.is-open .site-icon-picker__trigger > svg { transform: rotate(180deg); color: #d9e0f4; }
/* Out-of-flow everywhere, not a separate implementation for each editor.
   Neither opacity nor clip-path may create a backdrop root around the glass.
   Unmounted layout when closed also prevents invisible mobile overflow. */
.site-icon-picker__panel { --icon-reveal-y:-5px;display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:1;width:min(352px,calc(100vw - 24px));min-width:0;box-sizing:border-box; }
.site-icon-picker__panel.opens-up { --icon-reveal-y:5px;top:auto;bottom:calc(100% + 6px); }
.site-icon-picker.is-open .site-icon-picker__panel { display:block;animation:site-icon-picker-reveal var(--icon-motion) cubic-bezier(.22,1,.36,1); }
@keyframes site-icon-picker-reveal { from { transform:translateY(var(--icon-reveal-y)); } to { transform:translateY(0); } }
.site-icon-picker__clip { min-height:0; }
.site-icon-picker__surface { display:grid;gap:10px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--icon-accent) 32%,transparent);background:linear-gradient(140deg,#a58af70b,transparent 70%),rgba(9,11,25,.83);box-shadow:0 14px 36px #0006,inset 0 1px 0 #ffffff06;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%); }
.site-icon-picker__search { display:grid;grid-template-columns:16px minmax(0,1fr) 26px;align-items:center;gap:8px;box-sizing:border-box;min-width:0;height:36px;padding:0 4px 0 10px;border:1px solid #a58af72e;border-radius:3px;color:#9c8eb9;background:#06081566;transition:border-color 160ms ease,box-shadow 160ms ease; }
.site-icon-picker__search:focus-within { border-color:#a58af78c;box-shadow:0 0 12px #a58af712; }
.site-icon-picker__search>svg { width:16px;height:16px;pointer-events:none;transition:color 160ms ease; }
.site-icon-picker__search:focus-within>svg { color:#c4b3ed; }
/* The global form controls have 42/40px minimum heights. Keep this compact
   component self-contained, including when its panel is portalled into a modal. */
.site-icon-picker .site-icon-picker__search input { display:block;box-sizing:border-box;width:100%;min-width:0;min-height:0;height:100%;margin:0;padding:0;border:0;border-radius:0;appearance:none;-webkit-appearance:none;outline:0;box-shadow:none;color:#e0dbea;background:transparent;font:400 12px/20px "GothamPro",sans-serif; }
.site-icon-picker .site-icon-picker__search input:is(:hover,:focus,:focus-visible) { border:0;outline:0;background:transparent;box-shadow:none; }
.site-icon-picker__search input::placeholder { color:#9187a5;opacity:1; }
.site-icon-picker__search input::-webkit-search-cancel-button,.site-icon-picker__search input::-webkit-search-decoration { -webkit-appearance:none; }
.site-icon-picker .site-icon-picker__search button { display:grid;place-items:center;box-sizing:border-box;gap:0;width:26px;min-width:0;height:26px;min-height:0;margin:0;padding:0;border:1px solid transparent;border-radius:3px;appearance:none;color:#9c90b1;background:transparent;box-shadow:none;filter:none;transform:none;font:400 12px/1 "GothamPro",sans-serif;cursor:pointer;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.site-icon-picker__search button svg { width:15px;height:15px;pointer-events:none;transition:filter 160ms ease; }
.site-icon-picker .site-icon-picker__search button:is(:hover,:focus-visible) { color:#fff;background:#a58af71a;border-color:#a58af74d;outline:none; }
.site-icon-picker .site-icon-picker__search button:focus-visible { border-color:#a58af7;box-shadow:0 0 0 2px #a58af71a; }
.site-icon-picker__search button:is(:hover,:focus-visible) svg { filter:drop-shadow(0 0 4px #e9ddff40); }
.site-icon-picker .site-icon-picker__search button:active { background:#a58af72b; }
.site-icon-picker__footer { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px;padding-top:8px;border-top:1px solid #a58af71c; }
.site-icon-picker :is(.site-icon-picker__status,.site-icon-picker__hint) { margin:0;color:#8f85a3;font:400 10px/1.5 "GothamPro",sans-serif; }
.site-icon-picker__status { min-width:0;flex:1; }
.site-icon-picker .site-icon-picker__hint { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c4b6e3;text-align:right; }
/* The canvas reserves all rows; JS mounts only the visible window + overscan. */
.site-icon-picker__grid { position:relative;height:min(262px,38dvh);min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#73618f66 transparent;outline:none; }
.site-icon-picker__grid:focus-visible { outline:1px solid #a58af780;outline-offset:2px; }
.site-icon-picker__canvas { position:relative;min-width:0; }
.site-icon-picker__window { position:absolute;left:0;right:0;display:grid;grid-auto-rows:34px;gap:4px; }
.site-icon-picker__grid button,.site-icon-picker .site-icon-picker__empty { display:grid;place-items:center;box-sizing:border-box;min-width:0;min-height:0;height:34px;margin:0;padding:0;border:1px solid transparent;border-radius:4px;color:#bfb7ce;background:transparent;box-shadow:none;cursor:pointer;transition:color 140ms ease,background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease; }
.site-icon-picker__grid button svg { width:23px;height:23px;stroke-width:1.65;pointer-events:none;transition:filter 140ms ease; }
.site-icon-picker__grid button:is(:hover,:focus-visible),.site-icon-picker .site-icon-picker__empty:is(:hover,:focus-visible) { outline:none;color:#fff;border-color:#a58af738;background:#a58af716; }
.site-icon-picker__grid button:is(:hover,:focus-visible) svg,.site-icon-picker__empty:is(:hover,:focus-visible) svg { filter:drop-shadow(0 0 5px #e9ddff4d); }
.site-icon-picker__grid button:focus-visible,.site-icon-picker .site-icon-picker__empty:focus-visible { border-color:#a58af7; }
.site-icon-picker__grid button[aria-pressed="true"],.site-icon-picker .site-icon-picker__empty[aria-pressed="true"] { border-color:#a58af785;color:#f0e9ff;background:#a58af72b;box-shadow:inset 0 0 12px #a58af70c; }
.site-icon-picker .site-icon-picker__empty { display:flex;justify-content:flex-start;gap:8px;padding:0 9px;font:400 12px/1.4 "GothamPro",sans-serif;text-align:left; }
.site-icon-picker__empty svg { width:17px;height:17px;transition:filter 140ms ease; }
.site-icon-picker__grid[aria-busy="true"]::after { content:"";position:absolute;top:calc(50% - 10px);left:calc(50% - 10px);width:20px;height:20px;box-sizing:border-box;border:2px solid #a58af72b;border-top-color:#a58af7;border-radius:50%;animation:site-icon-picker-spin .8s linear infinite; }
.site-icon-picker__grid.is-empty::after { content:"Нет совпадений";position:absolute;inset:0;display:grid;place-items:center;color:#8f85a3;font:400 12px "GothamPro",sans-serif; }
@keyframes site-icon-picker-spin { to { transform:rotate(360deg); } }
.site-icon-picker [hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
	.site-icon-picker *, .site-icon-picker *::before { transition-duration: .01ms !important; transition-delay: 0s !important; }
	.site-icon-picker__panel { animation:none!important; }
}
