/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
 * component: unified search · genre: modern-minimal · theme: legacy green
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass (40-41)
 */
:root{
  --home-search-paper:#fff;
  --home-search-soft:#f4fbfa;
  --home-search-rule:#d9e3e1;
  --home-search-ink:#263238;
  --home-search-muted:#66736f;
  --home-search-accent:#0f766e;
  --home-search-accent-strong:#0b5f59;
  --home-search-accent-ink:#fff;
  --home-search-error:#b42318;
  --home-search-success:#067647;
  --home-search-space-1:4px;
  --home-search-space-2:8px;
  --home-search-space-3:12px;
  --home-search-space-4:16px;
  --home-search-control-height:44px;
  --home-search-radius:6px;
  --home-search-duration:120ms;
  --home-search-ease:cubic-bezier(.16,1,.3,1);
}
.home-unified-search{align-items:stretch;color:var(--home-search-ink)}
.home-search-topline{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;width:100%;margin-bottom:var(--home-search-space-2)}
.home-unified-search .search-type{display:flex;align-items:center;gap:var(--home-search-space-1);width:100%;margin:0;padding:0;overflow-x:auto;white-space:nowrap}
.home-search-mode{display:inline-flex;align-items:center;justify-content:center;gap:var(--home-search-space-1);min-height:44px;padding:0 var(--home-search-space-2);border:1px solid transparent;border-radius:var(--home-search-radius);outline:2px solid transparent;outline-offset:1px;background:transparent;color:var(--home-search-ink);font:inherit;cursor:pointer;white-space:nowrap}
.home-search-mode img{width:16px;height:16px;padding:2px;border-radius:50%;background:var(--home-search-paper)}
.home-search-mode[aria-selected=true]{border-color:var(--home-search-accent);background:var(--home-search-accent);color:var(--home-search-accent-ink)}
.home-search-mode:focus-visible,.home-search-mode.is-focus{outline-color:var(--home-search-accent)}
.home-search-mode:active,.home-search-mode.is-active{transform:translateY(1px)}
.home-search-mode:disabled{cursor:not-allowed;opacity:.55}
.home-search-control{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:var(--home-search-space-2);width:100%}
.home-search-control input,.home-search-control button{box-sizing:border-box;width:100%;height:var(--home-search-control-height);border:1px solid var(--home-search-rule);border-radius:var(--home-search-radius);outline:2px solid transparent;outline-offset:1px;font:inherit}
.home-search-control input{min-width:0;padding:0 var(--home-search-space-3);background:var(--home-search-paper);color:var(--home-search-ink)}
.home-search-control input::placeholder{color:var(--home-search-muted)}
.home-search-control input:focus{border-color:var(--home-search-accent)}
.home-search-control input:focus-visible,.home-search-control input.is-focus{outline-color:var(--home-search-accent)}
.home-search-control input:disabled{cursor:not-allowed;opacity:.55;background:var(--home-search-soft)}
.home-unified-search[data-state=error] input,.home-search-control input[aria-invalid=true]{border-color:var(--home-search-error);outline-color:var(--home-search-error)}
.home-unified-search[data-state=success] input{border-color:var(--home-search-success)}
.home-search-control button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--home-search-space-1);padding:0 var(--home-search-space-3);background:var(--home-search-accent);color:var(--home-search-accent-ink);font-weight:700;cursor:pointer;white-space:nowrap;transition:transform var(--home-search-duration) var(--home-search-ease)}
.home-search-control button:focus-visible,.home-search-control button.is-focus{outline-color:var(--home-search-ink)}
.home-search-control button:active,.home-search-control button.is-active{transform:translateY(1px);background:var(--home-search-accent-strong);color:var(--home-search-accent-ink)}
.home-search-control button:disabled{cursor:not-allowed;opacity:.55}
.home-unified-search[data-state=loading] .home-search-control button:before{content:"";width:13px;height:13px;border:2px solid color-mix(in srgb,var(--home-search-accent-ink) 40%,transparent);border-top-color:var(--home-search-accent-ink);border-radius:50%;animation:home-search-spin .7s linear infinite}
.home-unified-search[data-state=error]>small{color:var(--home-search-error)}
.home-unified-search[data-state=success]>small{color:var(--home-search-success)}
.home-unified-search>small{display:block;min-height:1lh;margin-top:var(--home-search-space-1);color:var(--home-search-muted);font-size:12px}
@media(hover:hover) and (pointer:fine){.home-search-mode:hover{background:var(--home-search-soft);color:var(--home-search-ink)}.home-search-mode[aria-selected=true]:hover,.home-search-control button:hover,.home-search-control button.is-hover{background:var(--home-search-accent-strong);color:var(--home-search-accent-ink)}.home-search-control input:hover{background:var(--home-search-soft);color:var(--home-search-ink)}}
@keyframes home-search-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){.home-search-control{grid-template-columns:minmax(0,1fr) 88px}.home-search-control button{padding-inline:var(--home-search-space-2)}}
@media(prefers-reduced-motion:reduce){.home-search-mode,.home-search-control button{transition:none}.home-search-mode:active,.home-search-control button:active{transform:none}.home-unified-search[data-state=loading] .home-search-control button:before{animation:none}}
