/* Homepage field and curated suggestions; other working surfaces are unchanged. */
#asking { min-height:var(--home-visible-height,100svh); padding-inline:24px; }
#question-form { width:min(100%,560px); }
.question-row { min-height:52px; border:1px solid color-mix(in srgb,var(--ink) 20%,transparent); border-radius:12px; background:rgb(255 255 255 / .32); }
.question-row:focus-within { border-color:color-mix(in srgb,var(--ink) 34%,transparent); }
#question { min-height:50px; max-height:min(146px,32svh); padding:13px 56px 13px 16px; border-radius:11px; text-align:left; line-height:24px; background:transparent; }
#question:focus { caret-color:var(--ink); }
#question::placeholder { color:transparent; }
#question-placeholder { position:absolute; inset:13px 56px auto 23px; overflow:hidden; color:color-mix(in srgb,var(--ink) 55%,transparent); font-size:16px; line-height:24px; text-align:left; pointer-events:none; user-select:none; opacity:1; transition:opacity .9s ease-in-out; }
#question.home-prompt-fading~#question-placeholder { opacity:0; }
#ask-arrow { left:auto; right:3px; top:50%; transform:translateY(-50%); transition:opacity .2s ease; }
#typed-suggestions { position:absolute; z-index:15; top:calc(100% + 8px); left:-1px; right:-1px; max-height:256px; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; border:1px solid color-mix(in srgb,var(--ink) 20%,transparent); border-radius:12px; background:rgb(255 255 255 / .32); text-align:left; }
#typed-suggestions ul { padding:0; margin:0; list-style:none; }
#typed-suggestions li+li { border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent); }
.home-suggestion { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:11px 16px; border:0; border-radius:0; background:none; color:inherit; font:inherit; font-size:14px; line-height:21px; text-align:left; text-decoration:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.home-suggestion:focus-visible { outline:1px solid currentColor; outline-offset:-4px; background:color-mix(in srgb,var(--ink) 5%,transparent); }
.home-suggestion-copy { flex:1; min-width:0; }
.home-suggestion-copy>span { display:block; overflow-wrap:anywhere; }
.home-suggestion-copy small { display:block; font:inherit; font-size:12px; line-height:18px; opacity:.7; overflow-wrap:anywhere; }
.home-suggestion>img,.home-suggestion-swatch { flex:0 0 20px; width:20px; height:20px; object-fit:contain; }
.home-suggestion-swatch { border:1px solid color-mix(in srgb,var(--ink) 15%,transparent); }
.home-suggestion>svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
@media(hover:hover) { .home-suggestion:hover { background:color-mix(in srgb,var(--ink) 5%,transparent); } }
:root[data-theme="dark"] :is(.question-row,#typed-suggestions) { background:rgb(255 255 255 / .07); }
@media(prefers-reduced-motion:reduce) { #question-placeholder,#ask-arrow { transition:none; } }
@media(max-height:420px) { #question-form { transform:none; } #question-form h1 { margin-bottom:16px; } }

/* A single typing surface follows the visible viewport, including Safari's focus pan. */
body:is(.home-typing,.home-keyboard-closing) { overflow:hidden; }
body.home-typing #asking {
  position:fixed; top:var(--home-viewport-top,0px); left:0; width:100%;
  height:var(--home-visible-height,100svh); min-height:0; overflow:hidden;
  align-items:start; padding-top:calc(env(safe-area-inset-top) + clamp(12px,calc(var(--home-visible-height,100svh) - 228px),32px)); padding-bottom:12px;
}
body.home-typing #question-form { transform:none; }
body.home-typing #question { max-height:clamp(50px,calc(var(--home-visible-height,100svh) - 160px),146px); }
/* Return to the full resting composition immediately; only chrome waits for the OS keyboard. */
body.home-keyboard-closing #asking { position:fixed; top:var(--home-viewport-top,0px); left:0; width:100%; height:var(--home-visible-height,100svh); min-height:0; }
body:is(.home-typing,.home-keyboard-closing) :is(#site-links,#home-tools,#home-privacy,#appearance-controls) { visibility:hidden; pointer-events:none; }

/* Footer labels share a baseline, size and ink; the appearance circle is unchanged. */
#home-tools { left:max(24px,env(safe-area-inset-left)); }
#home-privacy { right:max(24px,env(safe-area-inset-right)); font-size:11px; color:var(--ink); --link-rest-opacity:.55; }
#home-privacy:is(:hover,:focus-visible) { color:var(--ink); }

/* All three footer labels share the same text baseline and resting ink. */
#site-links .site-link.bottom-middle {
  display:flex; align-items:flex-end; min-height:44px; padding-bottom:2px;
  font-size:11px; line-height:1.2; color:var(--ink); --link-rest-opacity:.55;
}
#site-links .site-link.bottom-middle:is(:hover,:focus-visible) { color:var(--ink); }
@media(max-width:374px) { #site-links .site-link.bottom-middle { font-size:9px; } }
