/* wow lane: home + shell ("own light", 2026-09-26). Loads after every other
   sheet. Colour means people, ember means now, warm white lights things.
   Motion: opacity and transform only. Reduce Motion: no halos or ripples,
   glows held static; the speaking ring stays because it is information.
   No borders on glass, no accent bars, the wordmark is untouched. */

:root {
  --wow-stage: #000000;
  --wow-tile: #17171B;
  --wow-stage-text: #F5F5F7;
  --wow-stage-text-2: #B3B5BC;
  --wow-speaking: #FF6A2B;
  --wow-ember-text: #FF8A55;
  --wow-glass-media: rgb(28 28 32 / .84);
  --wow-inset: #1D1D21;
  --wow-floor: .55;
  --wow-grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .09 0'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>");
}
:root[data-theme="light"] {
  --wow-stage: #110D0B;
  --wow-tile: #1E1917;
  --wow-glass-media: rgb(38 29 24 / .84);
  --wow-ember-text: #B83B07;
  --wow-inset: #EEE7DF;
  --wow-floor: .7;
}

/* ---------------------------------------------------------------------
   Home layout: composer, then the two doors, then Coming up beside recent
   Scout work, then the catch-up. One centred 1024 column (captures).
   --------------------------------------------------------------------- */
@media (min-width: 1024px) {
  #officeTool .office-launch.stride-operating-home:not(#k):not(#w) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto;
    column-gap: 16px;
    width: 100%;
    max-width: 1024px;
    margin-inline: auto;
  }
  #officeTool .office-launch.stride-operating-home > .office-launch__wrap:not(#k):not(#w) { grid-column: 1 / -1; grid-row: 1; }
  #officeTool .office-launch.stride-operating-home > .home-doors:not(#k):not(#w) { grid-column: 1 / -1; grid-row: 2; margin-top: 6px; } /* + the composer status line's 18px reserve = 24px */
  #officeTool .office-launch.stride-operating-home > #homeComingUp:not(#k):not(#w) { grid-column: 1 / -1; grid-row: 3; }
  #officeTool .office-launch.stride-operating-home > #homeRecentScout:not(#k):not(#w) { grid-column: 1 / -1; grid-row: 4; }
  #officeTool .office-launch.stride-operating-home > #homeCatchUp:not(#k):not(#w) { grid-column: 1 / -1; grid-row: 5; margin-top: 16px; }
}
/* wide: Coming up and recent Scout work share the lower row */
@media (min-width: 1280px) {
  #officeTool .office-launch.stride-operating-home > #homeComingUp:not(#k):not(#w) { grid-column: 1; grid-row: 3; }
  #officeTool .office-launch.stride-operating-home > #homeRecentScout:not(#k):not(#w) { grid-column: 2; grid-row: 3; }
  #officeTool .office-launch.stride-operating-home:has(> #homeRecentScout[hidden]) > #homeComingUp:not(#k):not(#w),
  #officeTool .office-launch.stride-operating-home:has(> #homeComingUp[hidden]) > #homeRecentScout:not(#k):not(#w) { grid-column: 1 / -1; }
  #officeTool .office-launch.stride-operating-home > #homeCatchUp:not(#k):not(#w) { grid-row: 4; }
}

#officeTool .home-doors:not(#k):not(#w) { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
#officeTool .home-doors:not(#k):not(#w):has(> #homeChatDoor[hidden]) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) {
  #officeTool .home-doors:not(#k):not(#w) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}

/* the lower row: Coming up and recent Scout work sit as calm panels */
#officeTool #homeComingUp:not(#k):not(#w),
#officeTool #homeRecentScout:not(#k):not(#w) {
  max-width: none;
  margin: 16px 0 0;
  padding: 18px 20px 12px;
  border-radius: 20px;
  background: var(--surface-1, #141417);
}
:root[data-theme="light"] #officeTool :is(#homeComingUp, #homeRecentScout):not(#k):not(#w) { box-shadow: 0 8px 24px rgb(90 45 15 / .10), 0 1px 3px rgb(90 45 15 / .06); }
#officeTool #homeComingUp[hidden]:not(#k), #officeTool #homeRecentScout[hidden]:not(#k) { display: none; }
#officeTool #homeRecentScout .home-recent__list:not(#k) { margin: 0 -12px; }
#officeTool #homeRecentScoutTitle:not(#k):not(#w),
#officeTool #homeComingUp .home-coming-up__label:not(#k):not(#w) {
  position: static; width: auto; height: auto; margin: 0 0 10px; overflow: visible; clip: auto; clip-path: none; white-space: normal;
  color: var(--text-1); font: 600 17px/1.2 var(--font-sans); letter-spacing: -.01em; text-transform: none;
}
/* the catch-up ("The short version") is the page's third calm panel */
#officeTool #homeCatchUp:not([hidden]):not(#k):not(#w) {
  max-width: none;
  margin: 16px 0 0;
  padding: 18px 20px 20px;
  border-radius: 20px;
  background: var(--surface-1, #141417);
}
:root[data-theme="light"] #officeTool #homeCatchUp:not([hidden]):not(#k):not(#w) { box-shadow: 0 8px 24px rgb(90 45 15 / .10), 0 1px 3px rgb(90 45 15 / .06); }
/* Coming up: a quiet Join, so the live door's Join is the page's one primary */
#officeTool #homeComingUp .home-coming-up__join:not(#k):not(#w) {
  height: 32px; min-height: 32px; padding: 0 12px; border: 0; border-radius: 999px;
  background: var(--wow-inset); color: var(--text-1); box-shadow: none;
  font: 500 14px/1 var(--font-sans);
}

/* ---------------------------------------------------------------------
   The call door: a mini call stage (always the dark stage, both themes)
   --------------------------------------------------------------------- */
#homeCallDoor.wow-door-stage:not(#k):not(#w) {
  position: relative;
  display: block;
  height: 340px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
  background: var(--wow-stage);
  color: var(--wow-stage-text);
  box-shadow: none;
  text-align: left;
}
#homeCallDoor.wow-door-stage:not(#k):not(#w):hover { background: var(--wow-stage); box-shadow: 0 16px 40px rgb(0 0 0 / .3); }
#homeCallDoor.wow-door-stage[hidden]:not(#k) { display: none; }
#homeCallDoor.wow-door-stage > :not(.wow-stage) { display: none !important; }
.wow-stage { position: absolute; inset: 0; display: block; }
.wow-stage::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--wow-grain); opacity: .5; mix-blend-mode: overlay; }
.wow-stage__top { position: absolute; left: 20px; top: 18px; right: 20px; z-index: 3; display: flex; align-items: center; gap: 10px; min-width: 0; }
.wow-stage__title { overflow: hidden; font: 600 17px/1.2 var(--font-sans); letter-spacing: -.01em; white-space: nowrap; text-overflow: ellipsis; }
.wow-live-pill { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px 0 8px; border-radius: 999px; background: var(--wow-glass-media); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); color: #FF8A55; font: 600 12px/1 var(--font-sans); }
.wow-live-pill__dot { position: relative; width: 6px; height: 6px; border-radius: 50%; background: #FF6A2B; }
.wow-live-pill__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #FF6A2B; animation: wow-ripple 2.4s var(--ease, cubic-bezier(.2, 0, 0, 1)) infinite; }
@keyframes wow-ripple { 0% { transform: scale(1); opacity: .5; } 50%, 100% { transform: scale(2.6); opacity: 0; } }

.wow-stage__seats { position: absolute; inset: 58px 12px 70px; z-index: 1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }
.wow-seat { position: relative; display: grid; place-items: center; overflow: hidden; isolation: isolate; border-radius: 14px; background: color-mix(in oklab, var(--tint) 10%, var(--wow-tile)); }
.wow-seat::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(120% 78% at 50% 116%, color-mix(in oklab, var(--glow) 58%, transparent) 0%, color-mix(in oklab, var(--glow) 16%, transparent) 46%, transparent 70%);
  opacity: .66; transition: opacity 390ms var(--ease, cubic-bezier(.2, 0, 0, 1)); }
.wow-seat.is-speaking::before { opacity: 1; }
.wow-seat::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: var(--wow-grain); opacity: .5; mix-blend-mode: overlay; }
.wow-seat__p { position: relative; display: grid; place-items: center; }
.wow-seat__p::after { content: ""; position: absolute; inset: -80%; z-index: -2; border-radius: 50%; pointer-events: none; background: radial-gradient(closest-side, color-mix(in oklab, var(--tint) 22%, transparent), transparent); }
.wow-seat__halo { position: absolute; inset: -26%; z-index: -1; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, var(--lift) 58%, color-mix(in oklab, var(--lift) 42%, transparent) 80%, transparent 100%);
  opacity: 0; transform: scale(1); transition: opacity 320ms var(--ease, cubic-bezier(.2, 0, 0, 1)); }
.wow-seat.is-speaking .wow-seat__halo { opacity: .42; animation: wow-halo 1.4s cubic-bezier(.37, 0, .63, 1) infinite alternate; }
@keyframes wow-halo { from { opacity: .3; transform: scale(1); } to { opacity: .55; transform: scale(1.14); } }
.wow-seat__ring { position: absolute; inset: 0; z-index: 3; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 2px var(--wow-speaking); opacity: 0; transition: opacity 320ms var(--ease, cubic-bezier(.2, 0, 0, 1)); }
.wow-seat.is-speaking .wow-seat__ring { opacity: 1; transition-duration: 120ms; }
.wow-seat__lbl { position: absolute; left: 8px; bottom: 8px; z-index: 2; display: inline-flex; align-items: center; max-width: calc(100% - 16px); height: 22px; padding: 0 8px; overflow: hidden; border-radius: 999px; background: var(--wow-glass-media); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); color: var(--wow-stage-text); font: 500 12px/1 var(--font-sans); white-space: nowrap; text-overflow: ellipsis; }

.wow-stage__foot { position: absolute; left: 20px; right: 16px; bottom: 16px; z-index: 3; display: flex; align-items: center; gap: 12px; }
.wow-stage__foot.is-center { justify-content: center; left: 16px; }
.wow-stage__who { flex: 1; min-width: 0; overflow: hidden; color: var(--wow-stage-text-2); font: 400 14px/1.3 var(--font-sans); white-space: nowrap; text-overflow: ellipsis; }
.wow-stage__join { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; border-radius: 999px; background: #F5F5F7; color: #0B0B0D; font: 500 15px/1 var(--font-sans); white-space: nowrap; transition: transform 120ms var(--ease, cubic-bezier(.2, 0, 0, 1)); }
#homeCallDoor.wow-door-stage:active .wow-stage__join { transform: scale(.97); }

/* nobody in: only your own light, and Start a call. The stage reads as lit by
   you: your hue in the ground, a strong glow rising behind your portrait. */
.wow-stage.is-quiet { background: color-mix(in oklab, var(--tint) 14%, var(--wow-stage)); }
.wow-stage.is-quiet::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(95% 100% at 50% 104%, color-mix(in oklab, var(--glow) 74%, transparent) 0%, color-mix(in oklab, var(--glow) 28%, transparent) 48%, transparent 80%); opacity: .95; }
.wow-stage__quiet { position: absolute; inset: 0; z-index: 1; display: grid; justify-items: center; align-content: center; gap: 12px; }
.wow-stage__quiet .wow-stage__join { margin-top: 10px; }
.wow-stage__mine::after { background: radial-gradient(closest-side, color-mix(in oklab, var(--glow) 55%, transparent), transparent) !important; inset: -85% !important; }
.wow-stage__line { color: var(--wow-stage-text-2); font: 400 14px/1.3 var(--font-sans); text-align: center; }

/* faces: photo, else the lit monogram (.wow-av from stride-wow.css) */
.wow-face { position: relative; flex: none; display: grid; place-items: center; width: var(--s, 28px); height: var(--s, 28px); overflow: hidden; border-radius: 50%; background: var(--surface-3, #1D1D21); color: var(--text-1); font: 600 calc(var(--s, 28px) * .38)/1 var(--font-sans); letter-spacing: -.01em; }
.wow-face__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.wow-face.wow-av { color: #fff; }
.wow-face--scout { background: var(--surface-3, #1D1D21); color: var(--text-1); }
.wow-seat__face { --s: 76px; z-index: 1; box-shadow: 0 6px 22px rgb(0 0 0 / .38); }
.wow-stage__mine .wow-seat__face { --s: 88px; }

@media (max-width: 720px) {
  #homeCallDoor.wow-door-stage:not(#k):not(#w) { height: 250px; }
  .wow-stage__seats { inset: 54px 10px 64px; gap: 6px; }
  .wow-seat__face { --s: 58px; }
  .wow-stage__mine .wow-seat__face { --s: 72px; }
  .wow-stage__quiet { gap: 10px; }
  .wow-stage__quiet .wow-stage__join { margin-top: 6px; }
  .wow-stage__line { font-size: 13px; }
}

/* ---------------------------------------------------------------------
   The Bonfire Chat door: the room is lit by the two who spoke last
   --------------------------------------------------------------------- */
#homeChatDoor.wow-door-chat:not(#k):not(#w) {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: flex-start;
  gap: 10px;
  min-height: 0;
  padding: 18px 20px;
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
  background: var(--surface-1, #141417);
}
:root[data-theme="light"] #homeChatDoor.wow-door-chat:not(#k):not(#w) { box-shadow: 0 8px 24px rgb(90 45 15 / .10), 0 1px 3px rgb(90 45 15 / .06); }
#homeChatDoor.wow-door-chat .home-door__lines:not(#k),
#homeChatDoor.wow-door-chat .home-door__detail:not(#k) { display: none; }
#homeChatDoor.wow-door-chat .home-door__icon:not(#k):not(#w) { width: 32px; height: 32px; border-radius: 9px; background: var(--text-1); color: var(--bg-app, #0B0B0D); }
#homeChatDoor.wow-door-chat .home-door__icon svg:not(#k) { width: 16px; height: 16px; }
#homeChatDoor.wow-door-chat .home-door__copy:not(#k) { flex: 1; }
#homeChatDoor.wow-door-chat .home-door__title:not(#k):not(#w) { font: 600 17px/1.2 var(--font-sans); }
#homeChatDoor.wow-door-chat > :not(.wow-floor) { position: relative; z-index: 1; }
.wow-chat-lines { display: grid; gap: 14px; width: 100%; margin-top: 8px; }
.wow-chat-line { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: start; min-width: 0; }
.wow-chat-line .wow-face { --s: 28px; }
.wow-chat-line__body { display: grid; min-width: 0; }
.wow-chat-line__head { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.wow-chat-line__head strong { color: var(--text-1); font: 600 14px/1.2 var(--font-sans); }
.wow-chat-line__time { color: var(--text-3); font: 500 12px/1 var(--font-sans); font-variant-numeric: tabular-nums; }
.wow-chat-line__text { margin-top: 3px; overflow: hidden; color: var(--text-2); font: 400 14px/1.35 var(--font-sans); white-space: nowrap; text-overflow: ellipsis; }
#homeChatDoor[data-unread="true"] .wow-chat-line__text { color: var(--text-2); }
.wow-floor { position: absolute; left: 0; right: 0; bottom: 0; z-index: 0; height: 70%; pointer-events: none; opacity: var(--wow-floor); }
.wow-floor__pool { position: absolute; bottom: -38%; width: 96%; height: 100%; border-radius: 50%; transform: translateX(-50%);
  background: radial-gradient(closest-side, color-mix(in oklab, var(--glow) 80%, transparent) 0%, color-mix(in oklab, var(--glow) 28%, transparent) 55%, transparent 100%); }
:root[data-theme="light"] .wow-floor__pool { background: radial-gradient(closest-side, color-mix(in oklab, var(--glow) 55%, transparent) 0%, color-mix(in oklab, var(--glow) 18%, transparent) 55%, transparent 100%); }
@media (max-width: 720px) {
  #homeChatDoor.wow-door-chat:not(#k):not(#w) { padding: 16px 16px 18px; }
}

/* ---------------------------------------------------------------------
   Shell: the live-room row (only while a room is live; the one place the
   sidebar glows, as ember text, never a smear)
   --------------------------------------------------------------------- */
.wow-liverow { position: relative; isolation: isolate; display: flex; align-items: center; gap: 10px; width: calc(100% - 8px); height: 48px; margin: 6px 4px 2px; padding: 0 10px; border: 0; border-radius: 16px; background: none; color: var(--text-1); text-align: left; cursor: pointer; }
/* hover / pressed wash: an opacity-faded fill, never an animated background */
.wow-liverow::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: color-mix(in srgb, var(--text-1) 5%, transparent); opacity: 0; transition: opacity 120ms var(--ease, cubic-bezier(.2, 0, 0, 1)); pointer-events: none; }
.wow-liverow:hover::before { opacity: 1; }
.wow-liverow:active::before { opacity: 1; background: color-mix(in srgb, var(--text-1) 9%, transparent); }
.wow-liverow:focus-visible { outline: 2px solid var(--ring, #F5F5F7); outline-offset: 2px; }
.wow-liverow__faces { display: inline-flex; flex: none; }
.wow-liverow__face { --s: 24px; box-shadow: 0 0 0 2px var(--surface-1, #141417); }
.wow-liverow__face + .wow-liverow__face { margin-left: -6px; }
.wow-liverow__copy { display: grid; flex: 1; min-width: 0; }
.wow-liverow__name { overflow: hidden; font: 600 14px/1.15 var(--font-sans); white-space: nowrap; text-overflow: ellipsis; }
.wow-liverow__live { color: var(--wow-ember-text); font: 500 12px/1.2 var(--font-sans); }
/* the folded 72px rail: faces only */
#appShell[data-sb="rail"] .wow-liverow__copy { display: none; }
#appShell[data-sb="rail"] .wow-liverow { justify-content: center; padding: 0; }
@media (max-width: 640px) { .wow-liverow { display: none; } }

/* ---------------------------------------------------------------------
   Reduce Motion: no halos or ripples, glows static, speaking ring stays
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .wow-live-pill__dot::after { animation: none; opacity: 0; }
  .wow-seat__halo, .wow-seat.is-speaking .wow-seat__halo { display: none; animation: none; }
  .wow-seat::before, .wow-seat__ring, .wow-liverow::before, .wow-stage__join { transition: none; }
}
:root[data-motion="reduce"] .wow-live-pill__dot::after { animation: none; opacity: 0; }
:root[data-motion="reduce"] .wow-seat__halo { display: none; animation: none; }

/* ---------------------------------------------------------------------
   The page ground stays graphite; light belongs to people and objects.
   stride-kit.css §4's hearth grain is a fixed ::after at z-index -1 with
   mix-blend overlay/soft-light, but it sits in #appShell's own stacking
   context, so it blends against transparency and paints raw noise at 35%
   (22% Daybreak). Measured on Home at 1440: the ground went from #0B0B0D to
   about rgb(72,64,60) (Daybreak #FBF8F4 to about rgb(240,232,228)): a sepia
   wash over the whole lower page. Keep the grain as the dither it was
   meant to be (about ±1-2 levels) and leave the ratified hearth
   (#appShell::before) exactly as it is.
   --------------------------------------------------------------------- */
#appShell.is-authed:is([data-tool="office"], [data-tool="room"]:not(.is-in-room))::after,
html[data-theme="dark"] #appShell.is-authed:is([data-tool="office"], [data-tool="room"]:not(.is-in-room))::after {
  mix-blend-mode: normal;
  opacity: calc(var(--hearth-glow, 0) * .018);
}

/* The Home hearth at the prototype's size and position (ratified: ember
   7.5% Graphite / peach 5.5% Daybreak, 14s breathe): one warm radial rising
   from the bottom of the MAIN area (90% x 100% of its lower 70%), not the
   whole viewport, and no cool top wash. --wow-rail is where the main area
   starts: the open sidebar (8 + 280), the folded rail, or the edge. */
#appShell { --wow-rail: 0px; }
#appShell[data-sb="open"] { --wow-rail: 288px; }
#appShell[data-sb="rail"] { --wow-rail: 88px; }
#appShell.is-authed[data-tool="office"]::before {
  background:
    radial-gradient(calc((100vw - var(--wow-rail)) * .9) 70vh at calc(var(--wow-rail) + (100vw - var(--wow-rail)) / 2) 100%,
      rgb(255 106 43 / calc(var(--hearth-glow, 1) * .075)) 0%, transparent 72%) !important;
  transform-origin: 50% 100%;
  animation: wow-hearth 14s cubic-bezier(.37, 0, .63, 1) infinite alternate;
}
html[data-theme="light"] #appShell.is-authed[data-tool="office"]::before {
  background:
    radial-gradient(calc((100vw - var(--wow-rail)) * .9) 70vh at calc(var(--wow-rail) + (100vw - var(--wow-rail)) / 2) 100%,
      rgb(255 138 76 / calc(var(--hearth-glow, 1) * .055)) 0%, transparent 72%) !important;
}
@keyframes wow-hearth { from { opacity: .72; transform: translateY(0); } to { opacity: 1; transform: translateY(-2%); } }
@media (prefers-reduced-motion: reduce) {
  #appShell.is-authed[data-tool="office"]::before { animation: none; }
}
:root[data-motion="reduce"] #appShell.is-authed[data-tool="office"]::before { animation: none; }

/* Sidebar top: the `stride` wordmark alone (AJ 2026-09-02, "lose the flame, put
   the wordmark stride back ... no avatar tile"; wow captures). The app-icon
   tile workspace.css paints in front of it (added in 9de5219f, 2026-09-22) is
   not canon here; the canon lockup (tile beside wordmark) belongs to sign-in,
   native login and marketing (docs/stride-signal-canon.md "The lockup"). The
   folded 72px rail, where the wordmark is hidden, keeps the tile as its only
   brand mark. */
html #appShell.is-authed:not([data-sb="rail"]) .tool-rail > .topbar__organization .topbar__mark:not(#k)::before { display: none; }

/* Scout in a brain face stack: the neutral sparkle on the inset tile, never a person hue */
.bp-face.bp-face--scout { background: var(--bp-inset, var(--surface-3, #1D1D21)); color: var(--text-1); }
.bp-face.bp-face--scout svg { width: 74%; height: 74%; fill: currentColor; stroke: none; }

/* the sidebar list ends cleanly: an orphaned section heading at the fold is
   held back, and a soft fade marks more below (stride-wow-home.js tidySidebar) */
#strideSidebarList .chat-threads__section-head.wow-orphan-head { opacity: 0; }
#strideSidebarList .chat-threads.wow-list-more {
  -webkit-mask-image: linear-gradient(#000 calc(100% - 40px), transparent);
  mask-image: linear-gradient(#000 calc(100% - 40px), transparent);
}

/* reminder toasts: the flame is ink, never ember, even overdue (nudges and
   reminders are not an ember surface; native parity) */
.toast[data-tone="ink"] .toast__bar, .toast[data-tone="quiet"] .toast__bar { color: var(--text-1); }
.toast[data-tone="ember"] .toast__bar { color: var(--text-1); } /* reminders are never an ember surface */
/* phones: the toast floats clear of the tab bar (a 12px gap), never touching it.
   Chat's composer clearance (has-chat-toast-clear) and brain toasts keep their own offsets. */
@media (max-width: 640px) {
  html:not(.has-chat-toast-clear) #appShell.is-authed ~ .toast-region:not(.is-brain-toast):not(#k),
  html:not(.has-chat-toast-clear) .toast-region:not(.is-brain-toast):not(#k):not(#w) { bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
}
/* the Home reminder: one full line of text that wraps, clamped at two lines */
#homeBrainNudge .bp-nudge__line:not(#k) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; white-space: normal; text-overflow: ellipsis; }

/* in the call: the elapsed time beside the title (mono, a duration) */
.wow-stage__elapsed { margin-left: auto; color: var(--wow-stage-text-2); font: 500 13px/1 var(--font-mono, "Geist Mono", ui-monospace, monospace); font-variant-numeric: tabular-nums; }
.wow-stage__elapsed:empty { display: none; }
