.search-stack { width: min(38rem, 100%); }
.search-line { display: flex; align-items: baseline; gap: .22em; flex-wrap: wrap; }
.search-word {
    font-size: var(--font-large-title);
    font-weight: 700; letter-spacing: -.04em; line-height: 1.05;
    outline: none; caret-color: var(--accent);
    min-width: 1ch; word-break: break-word;
}
.type-cursor {
    display: inline-block; width: .06em; height: 1em; align-self: center;
    background: var(--ink);
    animation: blink 1.1s steps(1) infinite;
}
.search-stack:focus-within .type-cursor, .search-stack.dirty .type-cursor { display: none; }
@keyframes blink { 50% { opacity: 0; } }
.go-arrow {
    display: none; text-decoration: none; color: var(--accent);
    font-size: var(--font-large-title); font-weight: 700; line-height: 1.05;
}
.search-stack.dirty .go-arrow { display: inline-block; animation: srow-in .4s ease; }
.go-arrow:hover { color: var(--accent-deep); }

/* key-value suggestions: bare background, rows breathe in one by one */
.suggest { margin-top: 1.6rem; }
.srow {
    display: flex; align-items: baseline; gap: .8rem;
    padding: .72rem .35rem; text-decoration: none; color: var(--ink);
    border-bottom: 1px solid var(--border); border-radius: 6px;
    font-size: var(--font-callout);
    opacity: 0; transform: translateY(7px);
    animation: srow-in .55s ease forwards;
}
.srow:nth-child(1) { animation-delay: .06s; }
.srow:nth-child(2) { animation-delay: .19s; }
.srow:nth-child(3) { animation-delay: .32s; }
.srow:nth-child(4) { animation-delay: .45s; }
.srow:nth-child(5) { animation-delay: .58s; }
@keyframes srow-in { to { opacity: 1; transform: none; } }
.srow:last-child { border-bottom: 0; }
.srow:hover, .srow:focus-visible { background: var(--bg-subtle); outline: none; }
.skey {
    font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .09em;
    text-transform: uppercase; color: var(--grey); white-space: nowrap;
}
.srow .q { font-weight: 600; }
.panel-foot {
    position: absolute; bottom: 2rem;
    font-family: var(--mono); font-size: var(--font-caption); color: var(--grey);
}
@media (prefers-reduced-motion: reduce) {
    .panels { scroll-behavior: auto; }
}

.finder { margin: 0; }
.field {
    display: flex; align-items: stretch;
    background: #FFFFFF;
    border: 1px solid var(--border); border-radius: 10px;
    overflow: hidden;
    transition: box-shadow .15s, border-color .15s;
}
