/* FindHere site — page layout and the panel demo, on Ease tokens (ease.css). No colors or fonts of its own. */

/* layout */
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 var(--s-6); }
.nav { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; padding: var(--s-5) 0; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-height: 30px; font: var(--t-heading); color: var(--ink); }
.brand img { width: 30px; height: 30px; border-radius: 8px; }
.nav-links { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); }
.nav-links a { display: inline-flex; align-items: center; min-height: 24px; font: var(--t-secondary); color: var(--ink-2); }
.nav-links a:hover { color: var(--ink); }

.hero { padding: var(--s-14) 0 var(--s-6); text-align: center; }
.hero h1 { margin: var(--s-4) auto var(--s-5); }
h1 em { font-style: normal; color: var(--lilac-txt); }
.lede { max-width: 640px; margin: 0 auto; font: 400 19px/1.5 var(--font); color: var(--ink-2); }
.hero .ease-btn, .get .ease-btn { margin-top: var(--s-8); padding: 12px 22px; font-size: 15px; flex-wrap: wrap; justify-content: center; text-align: center; }
.ease-btn small { font: inherit; font-weight: 400; color: inherit; opacity: 0.75; white-space: nowrap; }
.sub { margin-top: var(--s-3); font: var(--t-secondary); color: var(--ink-3); }
kbd { display: inline-block; margin: 0 1px; padding: 1px 6px; border: 1px solid var(--hair-strong); border-bottom-width: 2px; border-radius: 5px; background: var(--card-2); font: 500 12px/1.4 var(--mono); color: var(--ink); }

.sect { padding: var(--s-14) 0 0; }
.sect .ease-card { padding: var(--s-8) var(--s-10); }
.sect h2 { font: 600 clamp(26px, 3.4vw, 34px)/1.12 var(--font); letter-spacing: -0.02em; }
h2 .quiet { color: var(--ink-3); font-weight: 500; }
.sect .ease-card > p { color: var(--ink-2); font-size: 17px; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); margin-top: var(--s-6); }
.grid.single { grid-template-columns: 1fr; margin-top: var(--s-4); }
.ease-tile h3 { margin-bottom: var(--s-1); }
.ease-tile p { margin: 0; font: var(--t-secondary); color: var(--ink-2); }

ol.steps { counter-reset: s; list-style: none; padding: 0; margin: var(--s-6) 0 0; display: grid; gap: var(--s-4); }
ol.steps li { position: relative; padding-left: 42px; }
ol.steps li::before { counter-increment: s; content: counter(s); position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: var(--lilac-tint); color: var(--lilac-txt); font: 600 12px/1 var(--font); }
ol.steps h3 { margin-bottom: 2px; }
ol.steps p { margin: 0; color: var(--ink-2); }

.faq details { border-top: 1px solid var(--hair); padding: var(--s-4) 0; }
.faq details:last-of-type { border-bottom: 1px solid var(--hair); }
.faq summary { display: flex; justify-content: space-between; gap: var(--s-4); min-height: 24px; cursor: pointer; list-style: none; font: var(--t-heading); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--ink-3); }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: var(--ink-2); }

.get { text-align: center; padding: 72px 0 var(--s-8); }
.get h2 { font: 600 46px/1.1 var(--font); letter-spacing: -0.02em; }
.get .lede { font: var(--t-body); }
.footer { text-align: center; padding: var(--s-8) 0 var(--s-14); font: var(--t-secondary); color: var(--ink-3); }
.footer p { margin: var(--s-1) auto; max-width: none; }
.footer a { color: var(--ink-2); }
.footer a:hover { color: var(--ink); }

/* the demo: FindHere's panel, and the old ⌘F for comparison */
.demo { padding: var(--s-10) 0 0; }
.demo-tabs { display: flex; justify-content: center; gap: var(--s-2); margin-bottom: var(--s-5); }
.demo-tab { appearance: none; min-height: 28px; background: transparent; cursor: pointer; }
.window { max-width: 720px; margin: 0 auto; overflow: hidden; text-align: left; background: var(--card); border: 1px solid var(--hair); border-radius: var(--r-card); box-shadow: var(--shadow-card); }
.titlebar { display: flex; align-items: center; gap: var(--s-2); padding: 10px 14px; background: var(--card-2); border-bottom: 1px solid var(--hair); font: var(--t-secondary); color: var(--ink-2); }
.lights { display: flex; gap: 7px; }
.lights span { width: 12px; height: 12px; border-radius: 50%; }
.lights .r { background: var(--rose); } .lights .y { background: var(--apricot); } .lights .g { background: var(--mint); }
.titlebar .title { flex: 1; text-align: center; font-weight: 500; color: var(--ink); }
.titlebar .spacer { width: 50px; }
.searchbar { padding: 10px 12px; background: var(--card-2); border-bottom: 1px solid var(--hair); }
.field { display: flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: var(--r-control); border-bottom: 1.5px solid var(--lilac); background: var(--paper); }
.field svg { width: 13px; height: 13px; flex: none; color: var(--ink-3); }
.field input { width: 100%; border: 0; outline: 0; background: transparent; font: var(--t-body); font-size: 14px; color: var(--ink); caret-color: var(--lilac); }
.field input::placeholder { color: var(--ink-3); }
.cols { display: flex; padding: 6px 14px 6px 44px; border-bottom: 1px solid var(--hair); font: var(--t-secondary); color: var(--ink-3); }
.c-n { flex: 1; } .c-s { width: 82px; } .c-k { width: 140px; }
.rows { min-height: 285px; }
.row { display: flex; align-items: center; padding: 6px 14px; font: var(--t-secondary); color: var(--ink); animation: rowIn var(--d-expand) var(--ease) both; }
.row:nth-child(even) { background: var(--card-2); }
.row.hit { background: var(--lilac-tint); color: var(--lilac-txt); box-shadow: inset 0 0 0 1px var(--lilac); }
.row.hit .dim, .row.hit .ic { color: var(--lilac-txt); }
.row .ic { display: inline-flex; width: 30px; flex: none; color: var(--ink-3); }
.row .ic svg { width: 16px; height: 16px; }
.row .nm { flex: 1; padding-right: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row .dim { width: 82px; flex: none; color: var(--ink-3); }
.row .dim.k { width: 140px; }
@keyframes rowIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.statusbar { padding: 5px; text-align: center; border-top: 1px solid var(--hair); background: var(--card-2); font: var(--t-secondary); color: var(--ink-3); }
/* the old ⌘F: Finder's recursive result grid */
.window.messy .cols { display: none; }
.scopebar { display: none; align-items: center; gap: var(--s-2); padding: 8px 14px; border-bottom: 1px solid var(--hair); font: var(--t-secondary); color: var(--ink-2); }
.window.messy .scopebar { display: flex; }
.sc-pill { padding: 2px 11px; border-radius: 6px; background: var(--paper); color: var(--ink); font-weight: 500; }
.sc-plain { padding: 2px 4px; color: var(--ink-2); }
.sc-spacer { flex: 1; }
.sc-btn { padding: 1px 10px; border: 1px solid var(--hair); border-radius: 6px; background: var(--card-2); color: var(--ink-2); }
.fgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px 6px; padding: 20px 16px 24px; }
.gitem { display: flex; flex-direction: column; align-items: center; gap: 7px; min-width: 0; animation: rowIn var(--d-expand) var(--ease) both; }
.gdoc { position: relative; width: 42px; height: 54px; background: var(--card); border: 1px solid var(--hair-strong); border-radius: 3px; box-shadow: var(--shadow-soft); }
.gdoc::before { content: ""; position: absolute; inset: 8px 7px 7px; background: repeating-linear-gradient(to bottom, var(--hair-strong) 0 1.5px, transparent 1.5px 4.5px); }
.gdoc::after { content: ""; position: absolute; top: -1px; right: -1px; width: 11px; height: 11px; background: var(--card-2); border-left: 1px solid var(--hair-strong); border-bottom: 1px solid var(--hair-strong); border-radius: 0 0 0 5px; }
.gdoc.q::before { content: "?"; display: flex; align-items: center; justify-content: center; background: none; color: var(--ink-3); font: 600 22px/1 var(--font); }
.gname { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: center; word-break: break-all; font: 400 12px/1.25 var(--font); color: var(--ink); }
.demo-note { max-width: 640px; margin: var(--s-4) auto 0; text-align: center; font: var(--t-secondary); color: var(--ink-2); }
.demo-note b { color: var(--ink); font-weight: 600; }

@media (max-width: 760px) {
  .grid { grid-template-columns: 1fr; }
  .sect .ease-card { padding: var(--s-6) var(--s-5); }
  .c-k, .row .dim.k { display: none; }
}
@media (max-width: 560px) {
  .fgrid { grid-template-columns: repeat(4, 1fr); }
  .gitem:nth-child(n+21) { display: none; }
}
