/* Search: header trigger, overlay (<dialog id="md-search">) and the results page (search.php).
   Tokens only, so light/dark follows the theme switcher. Amber = amounts only, red = deadlines only. */

/* header trigger: DOM order brand → trigger → menu toggle → nav */
.md-s-trigger{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 10px;border:2px solid var(--ink);border-radius:3px;background:transparent;color:var(--ink);font:600 .92rem var(--f-body);text-decoration:none;flex:none;cursor:pointer}
.md-s-trigger:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.md-s-trigger:hover .md-s-kbd{color:var(--paper);border-color:currentColor}
.md-s-ico{width:20px;height:20px;flex:none}
.md-s-kbd{font:500 .72rem var(--f-mono);border:1px solid var(--line);border-radius:3px;padding:0 5px;line-height:1.5;color:var(--muted)}
@media (min-width:900px){
  .site-header .wrap>.nav{margin-left:auto}
  .md-s-trigger{order:5}
}
@media (min-width:900px) and (max-width:1179px){.md-s-trigger-label,.md-s-kbd{display:none}.md-s-trigger{width:40px;justify-content:center;padding:0}}
@media (max-width:899px){
  .md-s-trigger{margin-left:auto;width:40px;justify-content:center;padding:0}
  .md-s-trigger-label,.md-s-kbd{display:none}
}
html.md-s-lock{overflow:hidden}

/* overlay: anchored to the top with a fixed height, so results never make it jump */
.md-s{padding:0;border:2px solid var(--ink);border-radius:4px;background:var(--surface);color:var(--ink);width:min(760px,calc(100vw - 32px));max-width:none;height:min(680px,calc(100dvh - 12vh));max-height:none;margin:8vh auto auto;box-shadow:10px 10px 0 var(--green);overflow:hidden}
.md-s[open]{display:flex;flex-direction:column}
.md-s::backdrop{background:color-mix(in srgb,#0E1511 62%,transparent);backdrop-filter:blur(2px)}
.md-s-panel{display:flex;flex-direction:column;flex:1;min-height:0}
.md-s-form{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 16px;border-bottom:2px solid var(--ink);flex:none}
.md-s-form:focus-within{box-shadow:inset 0 -3px 0 var(--green)}
.md-s-form .md-s-ico{color:var(--muted)}
.md-s-input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:400 1.2rem var(--f-body);padding:10px 0;outline:none;-webkit-appearance:none;appearance:none}
.md-s-input::placeholder{color:var(--muted);opacity:1}
.md-s-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.md-s-close{flex:none;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font:500 .78rem var(--f-mono);padding:6px 9px;cursor:pointer}
.md-s-close:hover{border-color:var(--ink)}
.md-s-close-t{display:none}

.md-s-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 16px 2px;flex:none}
.md-s-chips-l{font:500 .7rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.md-s-chip{display:inline-flex;align-items:center;gap:7px;font:600 .82rem var(--f-body);padding:5px 9px 5px 12px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);cursor:pointer;text-decoration:none;line-height:1.3}
.md-s-chip span{font-size:1.05rem;line-height:1;opacity:.8}
.md-s-chip:hover{background:var(--green);color:var(--on-green);text-decoration:none}

.md-s-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 8px 14px}
.md-s-quick{display:flex;flex-wrap:wrap;gap:8px;padding:12px 8px 4px}
.md-s-note{margin:10px 8px 0;padding:8px 12px;border-left:3px solid var(--green);background:var(--green-soft);font-size:.9rem}
.md-s-msg{padding:22px 8px;margin:0;color:var(--muted)}
.md-s-h{font:500 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:16px 12px 6px}
.md-s-h span{letter-spacing:0;border:1px solid var(--line);border-radius:999px;padding:0 6px;margin-left:4px}

.md-s-opt{display:flex;align-items:center;gap:14px;padding:9px 12px;border-left:3px solid transparent;border-radius:0 3px 3px 0;color:var(--ink);text-decoration:none;scroll-margin:8px}
.md-s-opt:hover{text-decoration:none}
.md-s-opt[aria-selected="true"]{background:var(--green-soft);border-left-color:var(--green)}
.md-s-main{flex:1;min-width:0;display:grid;gap:2px}
.md-s-t{font-weight:500;line-height:1.3}
.md-s-t b{font-weight:700}
.md-s-o{font-size:.84rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-s-m{display:flex;flex-wrap:wrap;gap:3px 10px;align-items:center;font-size:.8rem;color:var(--muted)}
.md-s-dl{color:var(--red);font-weight:600}
.md-s-a{font-size:.88rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.md-s-k{font:500 .7rem var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.md-s-amt{display:grid;justify-items:end;font:800 1.2rem/1.15 var(--f-display);font-stretch:108%;color:var(--amber-ink);white-space:nowrap} /* amber-ink: AA on the selected row too */
.md-s-amt small{font:400 .72rem var(--f-body);color:var(--muted)}
.md-s-go{color:var(--muted);font-size:1.1rem}
.md-s-opt.is-ended .md-s-amt{color:var(--muted)}
.md-s mark,.md-sr mark{background:none;color:inherit;font-weight:700;text-decoration:underline 2px var(--green);text-underline-offset:3px}

.md-s-zero{padding:12px 8px}
.md-s-zero-t{margin:6px 0 12px}
.md-s-zero-cats{display:flex;flex-wrap:wrap;gap:8px}
.md-s-zero-nl{margin-top:18px;padding:14px 16px;border:1px dashed var(--line);background:var(--paper)}
.md-s-zero-nl p{margin:0 0 10px;font-size:.92rem}

.md-s-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line);background:var(--paper);font-size:.86rem;flex:none}
.md-s-all{font-weight:600}
.md-s-help{color:var(--muted)}
.md-s-help kbd,.md-s-close-k{font:500 .72rem var(--f-mono)}
.md-s-help kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:0 5px;background:var(--surface);color:var(--ink);margin-right:2px}

@media (max-width:639px){
  /* --md-s-vh/--md-s-top = the visual viewport (search.js): the keyboard shrinks only that, not 100dvh */
  .md-s{width:100%;height:100%;height:var(--md-s-vh,100dvh);top:var(--md-s-top,0);bottom:auto;margin:0;border:0;border-radius:0;box-shadow:none}
  .md-s-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .md-s.is-kb .md-s-foot{display:none} /* keyboard up: every pixel goes to the results */
  .md-s-form{padding:6px 8px 6px 14px}
  .md-s-input{font-size:1.1rem}
  .md-s-close-k,.md-s-help{display:none}
  .md-s-close-t{display:inline;font-family:var(--f-body);font-size:.86rem}
  .md-s-opt{gap:10px;padding:10px 8px}
  .md-s-o{display:none}
  .md-s-amt{font-size:1.125rem}
}
@media (prefers-reduced-motion:no-preference){
  .md-s[open]{animation:md-s-in .14s ease-out}
  @keyframes md-s-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}

/* results page */
.md-sf{margin:22px 0 0;max-width:720px}
.md-sf-label{display:block;font-weight:600;margin-bottom:6px}
.md-sf-row{display:flex;gap:8px}
.md-sf-input{flex:1;min-width:0;font:400 1.05rem var(--f-body);padding:11px 14px;border:2px solid var(--ink);border-radius:3px;background:var(--surface);color:var(--ink)}
.md-sf-input:focus{outline:2px solid var(--green);outline-offset:1px}
.md-sf-ico{width:18px;height:18px}
.md-sf-hint{font-size:.88rem;margin:.6em 0 0}
.md-sr-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}
.md-sr .md-s-note{margin:12px 0 0;max-width:720px}
.md-sr-links{list-style:none;padding:0;margin:0;max-width:820px}
.md-sr-links li{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.md-sr-links a{font-weight:600}
.md-sr-faq{display:grid;gap:18px;max-width:76ch}
.md-sr-faq article{border-left:3px solid var(--green);padding-left:14px}
.md-sr-faq h3{font-size:1.05rem;margin:0 0 4px}
.md-sr-faq p{margin:0 0 4px}
.md-sr-faq .muted{font-size:.84rem}
@media (max-width:560px){.md-sf-row{flex-direction:column}.md-sf-row .btn{justify-content:center}}
