/* command palette (ctrl/cmd+k) */

.palette { position:fixed; inset:0; z-index:10001; display:flex; justify-content:center; align-items:flex-start; padding:min(16vh,140px) 16px 16px; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:palette-fade .14s ease; }
.palette.hidden { display:none; }
.palette-card { width:min(600px,100%); max-height:min(520px,100%); display:flex; flex-direction:column; overflow:hidden; background:var(--surface-2); background:color-mix(in srgb,var(--surface-2) 92%,transparent); border:1px solid var(--border-faint); border-radius:var(--radius-dialog); box-shadow:0 30px 80px -10px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); animation:palette-in .18s var(--motion); }
.palette-search { display:flex; align-items:center; gap:12px; padding:0 16px 0 18px; height:58px; flex:0 0 58px; border-bottom:1px solid var(--border-subtle); color:var(--text-muted); }
.palette-search input { flex:1; min-width:0; height:100%; border:0; outline:none; background:none; color:var(--text-white); font-size:15px; text-transform:lowercase; caret-color:var(--accent); }
.palette-search input::placeholder { color:var(--text-faint); text-transform:lowercase; }
.palette kbd { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; border:1px solid var(--border-faint); border-bottom-width:2px; border-radius:6px; background:var(--surface-4); color:var(--text-muted); font:inherit; font-size:10.5px; line-height:1; }
.palette-list { flex:1; overflow-y:auto; padding:6px 8px 8px; overscroll-behavior:contain; }
.palette-group { padding:12px 10px 6px; color:var(--text-faint); font-size:11px; letter-spacing:.04em; }
.palette-item { display:flex; align-items:center; gap:12px; height:42px; padding:0 10px; border-radius:var(--radius-item); color:var(--text-secondary); font-size:13.5px; cursor:pointer; scroll-margin:8px; }
.palette-item.active { background:var(--accent-soft); color:var(--text-white); box-shadow:inset 2px 0 0 var(--accent); }
.palette-icon { width:28px; height:28px; flex:0 0 28px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:var(--surface-4); border:1px solid var(--border-subtle); color:var(--text-muted); }
.palette-item.active .palette-icon { color:var(--text-white); border-color:var(--border-faint); }
.palette-icon img { width:16px; height:16px; border-radius:3px; object-fit:contain; }
.palette-dot { width:12px; height:12px; border-radius:50%; box-shadow:0 0 0 2px var(--surface-2),0 0 0 3px var(--border-faint); }
.palette-label { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.palette-hint { flex:0 0 auto; max-width:40%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--text-faint); font-size:11.5px; }
.palette-hint.current { padding:2px 8px; border-radius:999px; background:var(--accent-soft); color:var(--accent); }
.palette-empty { padding:36px 0; text-align:center; color:var(--text-faint); font-size:13px; }
.palette-foot { display:flex; align-items:center; gap:14px; padding:9px 16px; border-top:1px solid var(--border-subtle); color:var(--text-faint); font-size:11px; }
.palette-foot span { display:flex; align-items:center; gap:4px; }
.palette-foot .grow { flex:1; }
@keyframes palette-fade { from { opacity:0; } to { opacity:1; } }
@keyframes palette-in { from { opacity:0; transform:translateY(-8px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width:560px) { .palette { padding-top:12px; } .palette-foot { display:none; } }
