/* Command palette + page fade. Loaded after ui.css. Logical properties only; transform/opacity animations. */
:root{--pal-bg:#fff;--pal-ink:#1c1917;--pal-muted:#57534e;--pal-line:#e7e5e4;--pal-sel:#ecf6f8;--pal-accent:#0e7490;--pal-kbd:#f5f5f4;--pal-scrim:rgba(12,10,9,.48);--pal-shadow:0 24px 70px rgba(12,10,9,.28),0 2px 8px rgba(12,10,9,.12)}
html.dark{--pal-bg:#1a1a1a;--pal-ink:#fafafa;--pal-muted:#a8a8a8;--pal-line:#2e2e2e;--pal-sel:#262626;--pal-accent:#34d399;--pal-kbd:#262626;--pal-scrim:rgba(0,0,0,.62);--pal-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px #2e2e2e}
.pal-back{position:fixed;inset:0;z-index:9500;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:var(--pal-scrim);opacity:0;transition:opacity 160ms ease}
.pal-back[hidden]{display:none}
.pal-back.pal-in{opacity:1}
.pal{width:min(640px,100%);max-height:min(560px,76vh);display:flex;flex-direction:column;background:var(--pal-bg);color:var(--pal-ink);border:1px solid var(--pal-line);border-radius:16px;box-shadow:var(--pal-shadow);overflow:hidden;transform:scale(.98);opacity:0;transition:transform 160ms cubic-bezier(.16,1,.3,1),opacity 160ms ease;font-family:inherit}
.pal-in .pal{transform:none;opacity:1}
.pal-title,.pal-status{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;padding:0}
.pal-head{display:flex;align-items:center;gap:12px;padding-inline:18px;border-block-end:1px solid var(--pal-line);flex:none}
.pal-search-ico{color:var(--pal-muted);display:flex;flex:none}
.pal-input{flex:1;min-inline-size:0;block-size:52px;border:0;outline:0;background:transparent;color:var(--pal-ink);font:inherit;font-size:17px;padding:0;box-shadow:none;border-radius:0;inline-size:auto}
.pal-input,.pal-input:focus,.pal-input:focus-visible{outline:0!important;box-shadow:none!important;border:0!important;background:transparent!important}
.pal-input::placeholder{color:var(--pal-muted);opacity:1}
.pal-head:focus-within{box-shadow:inset 0 -2px 0 var(--pal-accent)}
.pal-close{display:none;border:0;background:transparent;color:var(--pal-accent);font:inherit;font-weight:700;font-size:15px;min-block-size:44px;padding-inline:6px;cursor:pointer;border-radius:8px}
.pal-close:focus-visible{outline:2px solid var(--pal-accent);outline-offset:2px}
.pal-list{overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 8px;flex:1;min-block-size:0}
.pal-group{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pal-muted);padding:12px 10px 6px}
.pal[dir=rtl] .pal-group{letter-spacing:0;text-transform:none;font-size:12.5px}
.pal-opt{display:flex;align-items:center;gap:12px;padding:9px 10px;min-block-size:48px;border-radius:10px;cursor:pointer;color:var(--pal-ink)}
.pal-opt[aria-selected=true]{background:var(--pal-sel);box-shadow:inset 3px 0 0 var(--pal-accent)}
.pal[dir=rtl] .pal-opt[aria-selected=true]{box-shadow:inset -3px 0 0 var(--pal-accent)}
.pal-ico{inline-size:32px;block-size:32px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--pal-kbd);color:var(--pal-muted)}
.pal-opt[aria-selected=true] .pal-ico{color:var(--pal-accent)}
.pal-ico svg{inline-size:17px;block-size:17px}
.pal-txt{display:flex;flex-direction:column;min-inline-size:0;flex:1;gap:1px}
.pal-label{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-sub{font-size:12.5px;color:var(--pal-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-hit{color:var(--pal-accent);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.pal-kind{font-size:11.5px;color:var(--pal-muted);flex:none}
.pal-enter{font-size:14px;color:var(--pal-muted);inline-size:18px;text-align:center;visibility:hidden;flex:none}
.pal-opt[aria-selected=true] .pal-enter{visibility:visible}
.pal[dir=rtl] .pal-enter{transform:scaleX(-1)}
.pal-empty{padding:34px 16px;text-align:center;color:var(--pal-muted);font-size:14px}
.pal-foot{display:flex;gap:18px;padding:10px 16px;border-block-start:1px solid var(--pal-line);color:var(--pal-muted);font-size:12px;flex:none;flex-wrap:wrap}
.pal-foot span{display:inline-flex;align-items:center;gap:4px}
.pal-foot kbd{font:inherit;font-size:11px;min-inline-size:20px;text-align:center;padding:2px 5px;border-radius:5px;background:var(--pal-kbd);border:1px solid var(--pal-line);color:var(--pal-ink)}
html.pal-open{overflow:hidden}
/* header search button: phones only (the inline search field is hidden there) */
.palette-btn{display:none}
@media(max-width:760px){
  .header-actions .palette-btn{display:inline-flex;align-items:center;justify-content:center}
  .pal-back{padding:0}
  .pal{width:100%;max-height:82vh;max-height:82dvh;border-radius:0 0 16px 16px;border-block-start:0;border-inline:0;transform:translateY(-12px)}
  .pal-in .pal{transform:none}
  .pal-close{display:inline-flex;align-items:center}
  .pal-foot{display:none}
  .pal-input{font-size:16px}
}
/* Page transition: 160ms opacity cross-fade replaces the slide (opacity only) */
@keyframes pal-page-fade{from{opacity:0}to{opacity:1}}
main.view-enter,main.view-enter-back{animation:pal-page-fade 160ms ease-out}
@media(prefers-reduced-motion:reduce){
  .pal-back,.pal{transition:none;transform:none}
  main.view-enter,main.view-enter-back{animation:none}
}
