/* Crown Intelligence — header site search */
.ss-trigger{
  display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 10px 0 12px; margin-left:4px;
  min-width:210px; border:1px solid var(--line); border-radius:6px; background:color-mix(in srgb, var(--bg-1) 70%, transparent);
  color:var(--ink-faint); font:500 .84rem var(--sans); cursor:pointer; text-align:left;
}
.ss-trigger:hover{ border-color:var(--ink-faint); color:var(--ink-dim); }
.ss-trigger:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.ss-trigger svg{ width:16px; height:16px; flex:0 0 auto; }
.ss-trigger .ss-label{ flex:1; }
.ss-trigger kbd{ font:500 .7rem var(--mono); padding:2px 6px; border:1px solid var(--line); border-radius:4px; color:var(--ink-faint); }
.site-header.dm-header .brand{ margin-right:0; }
.site-header.dm-header .ss-trigger{ margin-right:auto; }
@media (max-width:1180px){ .ss-trigger{ min-width:0; } .ss-trigger .ss-label, .ss-trigger kbd{ display:none; } .ss-trigger{ width:38px; height:38px; flex:0 0 38px; justify-content:center; padding:0; border-radius:100px; } }
@media (max-width:900px){
  .site-header.dm-header [data-theme-toggle]{ display:none; }     /* theme switch moves into the ☰ menu on phones */
  .ss-trigger{ margin-left:2px; }
}
.mobile-menu .mm-theme{ display:none; }
@media (max-width:900px){ .mobile-menu .mm-theme{ display:inline-flex; align-items:center; gap:10px; margin-top:18px; padding:10px 14px; border:1px solid var(--line); border-radius:6px; background:none; color:var(--ink); font:500 .95rem var(--sans); cursor:pointer; }
  .mobile-menu .mm-theme svg{ width:18px; height:18px; } }

.ss-layer{ position:fixed; inset:0; z-index:400; }
.ss-layer[hidden]{ display:none; }
html.ss-open, html.ss-open body{ overflow:hidden; }
.ss-backdrop{ position:absolute; inset:0; background:rgba(4,5,6,.6); }
.ss-dialog{
  position:relative; max-width:680px; margin:9vh auto 0; display:flex; flex-direction:column; max-height:78vh;
  background:var(--bg-1); border:1px solid var(--line); border-radius:10px; box-shadow:0 30px 80px -20px rgba(0,0,0,.6); overflow:hidden;
}
.ss-head{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--line); }
.ss-head > svg{ width:20px; height:20px; color:var(--ink-faint); flex:0 0 auto; }
.ss-input{ flex:1; min-width:0; border:0; background:transparent; color:var(--ink); font:500 1.02rem var(--sans); padding:8px 0; }
.ss-input:focus{ outline:none; }
.ss-input::-webkit-search-cancel-button{ display:none; }
.ss-esc{ padding:4px 8px; border:1px solid var(--line); border-radius:4px; background:none; color:var(--ink-faint); font:500 .72rem var(--mono); cursor:pointer; }
.ss-results{ overflow-y:auto; overscroll-behavior:contain; padding:6px 8px 10px; }
.ss-group{ margin:12px 8px 4px; font-size:.66rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); }
.ss-item{ display:flex; gap:12px; align-items:flex-start; padding:9px 10px; border-radius:6px; text-decoration:none; color:var(--ink); }
.ss-item.is-sel{ background:var(--bg-2); outline:1px solid color-mix(in srgb, var(--cyan) 40%, transparent); }
.ss-kind{ flex:0 0 86px; margin-top:2px; font-size:.68rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-faint); }
.ss-text{ min-width:0; }
.ss-title{ display:block; font-size:.93rem; font-weight:500; }
.ss-sub{ display:block; margin-top:2px; font-size:.8rem; color:var(--ink-dim); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:520px; }
.ss-item mark{ background:none; color:var(--cyan); font-weight:600; }
.ss-empty{ padding:18px 12px; color:var(--ink-faint); font-size:.9rem; }
.ss-foot{ display:flex; gap:18px; padding:9px 14px; border-top:1px solid var(--line); font-size:.74rem; color:var(--ink-faint); }
.ss-foot kbd{ font:500 .68rem var(--mono); padding:1px 5px; margin-right:3px; border:1px solid var(--line); border-radius:3px; }
@media (max-width:640px){
  .ss-dialog{ margin:0; max-height:100vh; height:100%; border-radius:0; border:0; }
  .ss-kind{ flex-basis:64px; font-size:.62rem; }
  .ss-sub{ max-width:none; white-space:normal; }
  .ss-foot{ display:none; }
}
