@layer existing {
.cc-overlay { position: fixed; inset: 0; z-index: 9900; display: none; align-items: flex-start; justify-content: center; padding: min(13vh, 120px) 16px 24px; background: rgba(0,0,0,.46); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cc-overlay.open { display: flex; }
.cc-panel { width: min(590px, 100%); max-height: min(72vh, 650px); overflow: hidden; border: 1px solid var(--ln-hair, rgba(127,127,127,.2)); border-radius: 20px; color: var(--fg, #1d1d1f); background: var(--surface, #fff); box-shadow: 0 28px 88px rgba(0,0,0,.3); }
.cc-input-row { display: flex; align-items: center; gap: 12px; padding: 15px 18px; border-bottom: 1px solid var(--ln-hair, rgba(127,127,127,.18)); }
.cc-input-row > span { color: var(--accent, #0071e3); font-size: 19px; }
.cc-input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--fg, #1d1d1f); background: transparent; font: inherit; font-size: 16px; }
.cc-input-row button { padding: 5px 7px; border: 1px solid var(--ln-hair, rgba(127,127,127,.18)); border-radius: 6px; color: var(--muted, #6e6e73); background: transparent; font-size: 10px; cursor: pointer; }
.cc-results { max-height: min(52vh, 475px); padding: 7px; overflow: auto; }
.cc-result { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 11px; color: var(--fg, #1d1d1f); text-decoration: none; }
.cc-result:hover, .cc-result.active { background: var(--accent-soft, rgba(0,113,227,.09)); }
.cc-result-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 10px; color: var(--accent, #0071e3); background: var(--surface-2, rgba(127,127,127,.08)); font-size: 17px; }
.cc-result-text { min-width: 0; }
.cc-result b { display: block; overflow: hidden; color: var(--fg, #1d1d1f); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cc-result small { display: block; margin-top: 2px; color: var(--muted, #6e6e73); font-size: 11px; }
.cc-empty { padding: 28px; color: var(--muted, #6e6e73); font-size: 13px; text-align: center; }
.cc-foot { display: flex; justify-content: space-between; padding: 10px 16px; border-top: 1px solid var(--ln-hair, rgba(127,127,127,.18)); color: var(--muted, #6e6e73); font-size: 10px; }
@media (max-width: 600px) { .cc-overlay { align-items: flex-start; padding: 10px; } .cc-panel { max-height: calc(100dvh - 20px); border-radius: 17px; } .cc-results { max-height: calc(100dvh - 140px); } }

}
