/* The "lookup" home layout. Pages link this sheet wherever the layout renders,
   so it loads after app.css. A shared rule restated below a layout rule keeps
   its cascade win; css_ratchet_test keeps the copy identical to its source. */

#launcher-design-canvas.theme-face[data-layout="lookup"][data-device="desktop"] .launcher-canvas__piece--mast,
:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--mast {
  justify-content: center;
  margin-top: 1.75rem;
  text-align: center;
  --face-font-size: clamp(2.4rem, 3.2vw, 3.4rem);
  --face-font-weight: 500;
  --face-letter-spacing: -0.04em;
}

#launcher-design-canvas.theme-face[data-layout="lookup"][data-device="desktop"] .launcher-canvas__piece--search,
:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--search {
  min-height: 3.35rem;
  margin-bottom: 1.35rem;
  --face-background: var(--color-base-100);
  border-width: 1px;
  border-style: solid;
  --face-border-color: rgb(0 0 0 / 8%);
  --face-box-shadow: var(--app-shadow-card);
  --face-color: var(--color-base-content);
}

:is(#launcher-canvas, .theme-face).theme-face .launcher-canvas__piece--search[data-fill="clear"]:where([data-layout="lookup"], [data-layout="lookup"] *),
:is(#launcher-design-canvas, .theme-face).theme-face .launcher-canvas__piece--search[data-fill="clear"]:where([data-layout="lookup"], [data-layout="lookup"] *) {
  border: 0;
  border-bottom: 1px solid color-mix(in oklab, currentColor 32%, transparent);
  border-radius: 0;
  background: transparent;
  padding-right: 1rem;
  padding-left: 1rem;
}

:is(#launcher-canvas, .theme-face).theme-face .launcher-canvas__piece--search[data-radius="round"][data-fill="clear"]:where([data-layout="lookup"], [data-layout="lookup"] *),
:is(#launcher-design-canvas, .theme-face).theme-face .launcher-canvas__piece--search[data-radius="round"][data-fill="clear"]:where([data-layout="lookup"], [data-layout="lookup"] *) {
  border: 1px solid color-mix(in oklab, currentColor 16%, transparent);
  border-radius: 999px;
  background: color-mix(in oklab, currentColor 5%, transparent);
  padding-right: 1rem;
  padding-left: 0.95rem;
}

:is(#launcher-canvas, .theme-face).theme-face .launcher-canvas__piece--search[data-fill="solid"]:not(.launcher-canvas__block--icon):where([data-layout="lookup"], [data-layout="lookup"] *),
:is(#launcher-design-canvas, .theme-face).theme-face .launcher-canvas__piece--search[data-fill="solid"]:not(.launcher-canvas__block--icon):where([data-layout="lookup"], [data-layout="lookup"] *) {
  background: var(--color-base-100);
  border-color: rgb(0 0 0 / 10%);
  color: color-mix(in oklab, var(--color-base-content) 95%, transparent);
}

:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--mast,
:is(#launcher-design-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--mast {
  align-items: center;
  --face-font-size: clamp(2rem, 3cqi, 2.75rem);
  --face-font-weight: 560;
  --face-letter-spacing: -0.045em;
  text-align: center;
}

:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--search:where([data-layout="lookup"], [data-layout="lookup"] *),
:is(#launcher-design-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--search:where([data-layout="lookup"], [data-layout="lookup"] *) {
  min-height: 3.15rem;
  --face-background: var(--color-base-100);
  --face-color: var(--color-base-content);
  border-width: 1px;
  border-style: solid;
  --face-border-color: rgb(0 0 0 / 8%);
  --face-box-shadow: var(--app-shadow-lift);
}

:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--search,
:is(#launcher-design-canvas, .theme-face).theme-face[data-layout="lookup"] .launcher-canvas__piece--search {
  min-height: 3.4rem;
}

/* Search is the page, so it wears the color scheme. The Search theme's
   saved ground is graphite, which forces `color-scheme: dark` and paints
   `--color-neutral` — charcoal in Press and Light. */
#launcher-page:has(> #launcher-canvas[data-layout="lookup"]),
:is(#launcher-canvas, #launcher-design-canvas, .theme-face).theme-face[data-layout="lookup"] {
  color-scheme: inherit;
}

:is(#launcher-canvas, #launcher-design-canvas, .theme-face).theme-face[data-layout="lookup"] {
  --face-background: var(--color-base-100);
  --face-color: var(--color-base-content);
}

/* The status bar sits on the Search page, not on the canvas behind it. */
#launcher-canvas.theme-face[data-layout="lookup"] .launcher-canvas__embed--search .search-top {
  min-height: calc(3.75rem + var(--theme-safe-top, 0px));
  padding-top: calc(0.5rem + var(--theme-safe-top, 0px));
}

/* New and Niah own the bottom corners. Only a lone Search page sits on those
   wells; a Search card among other blocks does not. This sheet is served as
   written, not through Tailwind, so the breakpoint is `md`'s length. */
@media (width < 48rem) {
  :is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"]
    .launcher-section--grid
    > .launcher-canvas__piece:only-child:has(.launcher-canvas__embed--search),
  :is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"]
    .launcher-section--grid
    > .launcher-canvas__piece:only-child:has(.search-home-preview) {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
  }

  :is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"]
    .launcher-section--grid
    > .launcher-canvas__piece:only-child
    .search-scroll--landing {
    padding-bottom: 0;
  }
}

/* Search is the page, not a card on the wallpaper. The shared plate rule
   paints a rim, a radius, and a lifted fill — those read as light bands
   at the top and bottom of a dark home. */
:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"]
  .launcher-section--grid
  > .launcher-canvas__piece:only-child
  .launcher-canvas__embed--search
  .app-tool-plate {
  /* The plate paints these tokens with `!important` (app_surfaces.css), so
     the home clears the tokens rather than the properties. */
  --app-surface: transparent;
  --app-surface-blur: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

:is(#launcher-canvas, .theme-face).theme-face[data-layout="lookup"]
  .launcher-section--grid
  > .launcher-canvas__piece:only-child
  .launcher-canvas__embed-head {
  display: none;
}

:is(#launcher-canvas, #launcher-design-canvas, .theme-face).theme-face[data-layout="lookup"]
  :is(.launcher-block, .launcher-canvas__block-body, .launcher-canvas__view):has(.search-home-preview) {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.search-home-preview {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  height: 100%;
  overflow: visible;
  color: var(--app-text-primary, var(--color-base-content));
}

.search-home-preview > .search-scroll--landing {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  /* The shared landing pad is for `/search`. On the home it left a paler
     strip under the field where the plate's fill showed through. */
  padding-bottom: 0;
}

/* A preview is a picture; a tap belongs to its gallery card. */
.search-home-preview[data-home="false"] {
  pointer-events: none;
}

/* The face wears the Search page's own classes. A phone preview frame sits in
   a wide browser, where `sm:` would draw the tablet wordmark; this restates
   the base size the page uses below `sm`. */
.theme-face[data-viewport="phone"] .search-home-preview .niah-wordmark {
  font-size: var(--text-6xl);
}

.theme-face[data-viewport="phone"] .search-home-preview .search-brand__name {
  font-size: 2.5rem;
}

.theme-face[data-viewport="phone"] .search-home-preview .search-brand__logo {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-box);
}

.theme-face[data-layout="lookup"] .theme-face__orb {
  width: 3.25rem;
  height: 3.25rem;
  color: var(--color-base-content);
}

.theme-face[data-layout="lookup"] .theme-face__orb--bottom_right {
  right: 0.6rem;
  bottom: 0.6rem;
}
