/* TokenForge contextual menu + CSS autocomplete, styled with Bricks' own builder variables. */
#tf-ctx, #tf-ac { position: fixed; z-index: 100001; display: none; flex-direction: column;
	background: var(--builder-bg, #161a1d); color: var(--builder-color, #e2e6e9); border: 1px solid var(--builder-border-color, #343d46);
	border-radius: var(--builder-border-radius, 4px); box-shadow: 0 12px 32px rgba(0,0,0,.5); font-size: 12px; overflow: hidden;
	font-family: var(--builder-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif); }
#tf-ctx { width: 380px; max-height: min(480px, 80vh); }
#tf-ac { width: 360px; max-height: 300px; }
#tf-ctx.is-open, #tf-ac.is-open { display: flex; }
#tf-ctx *, #tf-ac * { box-sizing: border-box; }
#tf-ctx .tf-ctx-head { padding: 8px 8px 6px; }
#tf-ctx .tf-ctx-search { width: 100%; height: 32px; line-height: 32px; margin: 0; padding: 0 10px; font-size: 12px; font-family: inherit;
	background: var(--builder-bg-2, #23292f); color: inherit; border: 1px solid var(--builder-border-color, #343d46); border-radius: var(--builder-border-radius, 4px); box-shadow: none; }
#tf-ctx .tf-ctx-search:focus { outline: none; border-color: var(--builder-color-accent, #ffd54d); }
#tf-ctx .tf-ctx-chips { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 8px 8px; border-bottom: 1px solid var(--builder-border-color, #343d46); }
#tf-ctx .tf-ctx-chip { margin: 0; padding: 4px 9px; height: auto; line-height: 1.3; font-size: 11px; font-family: inherit; font-weight: 600; cursor: pointer;
	background: var(--builder-bg-2, #23292f); color: inherit; border: 1px solid transparent; border-radius: 12px; opacity: .8; }
#tf-ctx .tf-ctx-chip:hover { opacity: 1; background: var(--builder-bg-3, #343d46); }
#tf-ctx .tf-ctx-chip.is-suggested { border-color: var(--builder-color-accent, #ffd54d); }
#tf-ctx .tf-ctx-chip.is-active { background: var(--builder-color-accent, #ffd54d); color: var(--builder-color-accent-inverse, #161a1d); opacity: 1; }
#tf-ctx .tf-ctx-list, #tf-ac .tf-ctx-list { list-style: none; margin: 0; padding: 4px; overflow-y: auto; flex: 1 1 auto; min-height: 0;
	scrollbar-width: thin; scrollbar-color: var(--builder-bg-3, #343d46) transparent; }
#tf-ctx .tf-ctx-list li, #tf-ac .tf-ctx-list li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 6px 8px; border-radius: 4px; cursor: pointer; white-space: nowrap; min-height: 28px; }
#tf-ctx .tf-ctx-list li.is-sel, #tf-ac .tf-ctx-list li.is-sel { background: var(--builder-bg-3, #343d46); }
#tf-ctx .tf-ctx-list li.tf-ctx-sep { cursor: default; min-height: 0; padding: 10px 8px 4px; font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; opacity: .5; }
#tf-ctx .tf-ctx-list li.tf-ctx-more, #tf-ctx .tf-ctx-list li.tf-ctx-empty { cursor: default; opacity: .6; font-style: italic; }
#tf-ctx .tf-ctx-name, #tf-ac .tf-ctx-name { font-family: var(--builder-font-family-monospace, Menlo, Consolas, monospace); flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#tf-ctx .tf-ctx-val, #tf-ac .tf-ctx-val { margin-left: auto; padding-left: 10px; flex: 0 1 auto; max-width: 48%; overflow: hidden; text-overflow: ellipsis; opacity: .5; font-size: 11px;
	font-family: var(--builder-font-family-monospace, Menlo, Consolas, monospace); }
#tf-ctx .tf-ctx-sw, #tf-ac .tf-ctx-sw { flex: 0 0 14px; width: 14px; height: 14px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
	background-image: linear-gradient(var(--sw, transparent), var(--sw, transparent)), linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #666 75%), linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #666 75%); background-size: 100% 100%, 6px 6px, 6px 6px; background-position: 0 0, 0 0, 3px 3px; }
#tf-ctx .tf-ctx-sw.is-none, #tf-ac .tf-ctx-sw.is-none { background: none; box-shadow: none; }
#tf-ctx .tf-ctx-check, #tf-ac .tf-ctx-check { flex: 0 0 12px; color: var(--builder-color-accent, #ffd54d); font-weight: 700; }
#tf-ctx .tf-ctx-list li.is-applied .tf-ctx-name { color: var(--builder-color-accent, #ffd54d); }
#tf-ctx .tf-ctx-foot, #tf-ac .tf-ctx-foot { padding: 6px 10px; font-size: 10px; opacity: .55; border-top: 1px solid var(--builder-border-color, #343d46); }#tf-ac .tf-ac-preview { flex: 0 0 auto; max-height: 150px; margin: 0; padding: 8px 10px; overflow: auto; border-top: 1px solid var(--builder-border-color, #343d46); background: var(--builder-bg-2, #1e2328); color: var(--builder-color, #c5cdd3); font-family: var(--builder-font-family-monospace, Menlo, Consolas, monospace); font-size: 11px; line-height: 1.5; white-space: pre; }
#tf-ac .tf-ac-preview[hidden] { display: none; }
