/* ==================================================================
   chrome/core.css — shared layer for every page: page-to-page view
   transitions and the ⌘K palette. Family designs live beside it.
   ================================================================== */

/* ---------------- cross-page view transitions ---------------- */
/* Same-origin navigations morph instead of flashing: the header carries a
   shared name, so moving between families visibly reshapes it. Browsers
   without support just navigate as before. */
@view-transition { navigation: auto; }
.bh, .hh, .jsHead { view-transition-name: site-head; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .32s; animation-timing-function: cubic-bezier(.2,.8,.2,1); }
::view-transition-group(site-head) { animation-duration: .45s; animation-timing-function: cubic-bezier(.2,.8,.2,1); }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}

/* ---------------- palette ---------------- */
.jcp{--jp-bg:#ffffff;--jp-ink:#06140f;--jp-text:#26332e;--jp-muted:#5f6f68;--jp-line:rgba(15,23,42,.1);--jp-soft:#eef7f2;--jp-acc:#059669;--jp-mark:rgba(16,185,129,.22);
  position:fixed;inset:0;z-index:2147482000;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme="dark"] .jcp{--jp-bg:#0f1a16;--jp-ink:#f2f8f5;--jp-text:#cfdcd5;--jp-muted:#8ea69a;--jp-line:rgba(255,255,255,.1);--jp-soft:rgba(52,211,153,.1);--jp-acc:#34d399;--jp-mark:rgba(52,211,153,.25)}
.jcp[hidden]{display:none}
.jcp__bg{position:absolute;inset:0;background:rgba(3,20,15,.42);-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2);opacity:0;transition:opacity .2s}
.jcp__box{position:relative;width:min(680px,100%);max-height:min(620px,76vh);display:flex;flex-direction:column;border-radius:24px;background:var(--jp-bg);color:var(--jp-text);
  border:1px solid var(--jp-line);box-shadow:0 40px 100px -30px rgba(3,20,15,.55),0 0 0 1px rgba(255,255,255,.04) inset;overflow:hidden;
  opacity:0;transform:translateY(-10px) scale(.97);transition:opacity .2s,transform .35s cubic-bezier(.2,.8,.2,1)}
.jcp.-on .jcp__bg{opacity:1}
.jcp.-on .jcp__box{opacity:1;transform:none}
.jcp__in{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--jp-line)}
.jcp__in svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--jp-acc);stroke-width:2;stroke-linecap:round}
.jcp__in input{flex:1;min-width:0;border:0;outline:0;background:none;font:600 18px/1.3 "Plus Jakarta Sans",system-ui,sans-serif;color:var(--jp-ink)}
.jcp__in input::-webkit-search-cancel-button{display:none}
.jcp kbd{display:inline-flex;align-items:center;padding:2px 7px;border-radius:7px;border:1px solid var(--jp-line);background:var(--jp-soft);font:600 11px/1.5 "JetBrains Mono",ui-monospace,monospace;color:var(--jp-muted)}
.jcp__in kbd{cursor:pointer}
/* a thin "thinking" sweep while the index loads */
.jcp__think{height:2px;background:linear-gradient(90deg,transparent,var(--jp-acc),transparent);background-size:40% 100%;background-repeat:no-repeat;opacity:0}
.jcp.-loading .jcp__think{opacity:1;animation:jcpThink 1s linear infinite}
@keyframes jcpThink{from{background-position:-40% 0}to{background-position:140% 0}}
.jcp__meta{margin:0;padding:10px 20px 4px;font:500 12px/1.4 "JetBrains Mono",ui-monospace,monospace;color:var(--jp-muted)}
.jcp__list{list-style:none;margin:0;padding:4px 10px 10px;overflow:auto;overscroll-behavior:contain}
.jcp__g{padding:12px 10px 6px;font:700 10.5px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--jp-muted)}
.jcp__it{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;cursor:pointer;animation:jcpIn .35s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 18ms)}
@keyframes jcpIn{from{opacity:0;transform:translateY(6px)}}
.jcp__it.-on{background:var(--jp-soft)}
.jcp__ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;border:1px solid var(--jp-line);background:var(--jp-bg)}
.jcp__ic svg{width:17px;height:17px;fill:none;stroke:var(--jp-muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jcp__it.-on .jcp__ic{border-color:var(--jp-acc)}
.jcp__it.-on .jcp__ic svg{stroke:var(--jp-acc)}
.jcp__tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.jcp__tx b{font-weight:650;font-size:15px;color:var(--jp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jcp__tx small{font-size:12.5px;color:var(--jp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jcp__tx mark{background:var(--jp-mark);color:inherit;border-radius:4px;padding:0 1px}
.jcp__go{flex:none;opacity:0;font:600 13px "JetBrains Mono",ui-monospace,monospace;color:var(--jp-acc);transform:translateX(-4px);transition:opacity .15s,transform .2s}
.jcp__it.-on .jcp__go{opacity:1;transform:none}
.jcp__none{padding:26px 12px;font-size:14.5px;line-height:1.6;color:var(--jp-muted)}
.jcp__foot{display:flex;gap:16px;margin:0;padding:10px 20px;border-top:1px solid var(--jp-line);font-size:12px;color:var(--jp-muted)}
.jcp__foot span{display:inline-flex;align-items:center;gap:4px}
html.jcp-open{overflow:hidden}
@media (max-width:640px){
  .jcp{padding:10px}
  .jcp__box{max-height:86vh;border-radius:20px}
  .jcp__foot{display:none}
  .jcp__in input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .jcp__box,.jcp__bg{transition:none}.jcp__it{animation:none}
}
@media print{.jcp{display:none!important}}
.jc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
