/* Get Found re-skin (10/02). Tobias: "re design the view of this get found,
   get inspired with the dashboard design. Everything like fonts, colors,
   containers, text style and typography should follow the same rules of the
   new design."

   What Get Found gets for free, and from where:
     - the root half of skin/money.css (fonts, the warm grey and violet ramps,
       Panel / StatCard / SectionLabel / tables / tab bars / badges / buttons
       / inputs / notices / the dashed setup boxes dressed as Dashboard cards,
       light and dark): its rules read :is(.yw-money-page, .yw-get-found-page)
     - overview.css: .yw-card, .yw-card-head, .yw-card-title, .yw-card-sub,
       .yw-text-link, .yw-more, .yw-hero-*, .yw-track, .yw-row-stat,
       .yw-kpi-progress (the hatched target bar), .yw-insight, and the Needs
       you rows (.yw-needs-*), which now read :is(.yw-dashboard-overview,
       .yw-get-found-page)
     - header.css: the title menu (.yw-dashboard-title*, .yw-dashboard-tab-*)
       and the Row-1 controls (.yw-header-control); money.css dresses
       header[data-title-menu], which this header carries
     - motion.css: the button press, the hover lift on .yw-card, the Needs you
       row entrance, and the halo glow off.
   This file holds only what Get Found adds: the Overview grid and its nine
   cards, the Setup's sources and targets, and the sub-tabs' own pieces.
   Scoped under .yw-get-found-page.
   Values are ink; only words, arrows and pills take colour. Dark twins at the
   foot, on the warm #2a2a30 palette. */

/* ---------------------------------------------------------- the header -- */
header[data-title-menu] .yw-get-found-setup { text-decoration: none; }
/* ChipLink wraps the label in its pending box; keep the gear and the word on one line. */
header[data-title-menu] .yw-get-found-setup > span > span:first-child { display: inline-flex; align-items: center; gap: 7px; }
header[data-title-menu] .yw-get-found-setup[aria-current="page"] { background: #eee5fd; color: #7433d4; }
header[data-title-menu] .yw-get-found-setup[aria-current="page"]:hover { background: #e7dafb; }

/* ------------------------------------------------------------ the root -- */
.yw-get-found-page { margin-top: 18px; color: #202024; }
/* Every block under the root stacks 16px apart, the Dashboard's grid gap. */
.yw-get-found-page > * + * { margin-top: 16px; }
.yw-gf-note { margin: 12px 0 0; color: #929097; font-size: 12px; line-height: 1.5; }

/* ------------------------------------------------------ the Overview grid -- */
.yw-gf-overview { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1.06fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.yw-gf-overview > * { min-width: 0; margin: 0; }
/* 10/02: three rows of three. Score, the guest list, Next fix; Needs
   attention, the price list, AI answers; Search signals, the weekly score,
   Mentions. No measured fact and nothing to fix: the guest list takes the
   insight's column too, so the first row still closes. */
.yw-gf-overview:not([data-insight]) > .yw-gf-guest { grid-column: span 2; }
.yw-gf-overview > .yw-card { display: flex; flex-direction: column; }

/* The leads: a hero figure with its quiet "of" words, or a state word. */
.yw-gf-overview .yw-hero-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.yw-gf-hero-of { color: #929097; font-size: 13px; font-weight: 400; letter-spacing: -.2px; }
.yw-get-found-page .yw-hero-pill[data-pace="behind"] { color: #a96883; }
.yw-get-found-page .yw-gf-state-hero[data-tone="bad"] { color: #b4567f; }
.yw-gf-state { margin: 19px 0 8px; color: #202024; font-size: 27px; font-weight: 500; line-height: 1.2; letter-spacing: -.9px; }
.yw-gf-state[data-tone="bad"] { color: #b4567f; }

/* The score. */
.yw-gf-hero { min-height: 431px; }
.yw-gf-hero .yw-hero-status { margin-bottom: 18px; }
.yw-gf-hero .yw-track-labels { margin-bottom: 4px; }
.yw-gf-lead { margin: 19px 0 6px; color: #202024; font-size: 19px; font-weight: 500; line-height: 1.35; letter-spacing: -.45px; }
.yw-gf-rows-caption { margin: auto 0 4px; padding-top: 16px; color: #929097; font-size: 11px; }
.yw-gf-hero > .yw-gf-parts-rows { margin-top: auto; padding-top: 16px; }
.yw-gf-hero > .yw-gf-rows-caption + .yw-gf-parts-rows { margin-top: 0; padding-top: 0; }
.yw-gf-parts-rows .yw-row-stat:first-child { border-top: 1px solid #eae8ec; }
.yw-gf-parts-rows .yw-row-stat:last-child dt { color: #929097; }

/* Score, week by week. */
.yw-gf-trend { min-height: 431px; }
.yw-gf-chart-box { position: relative; flex: 1 1 auto; min-height: 260px; margin-top: 18px; }
.yw-gf-chart-box > * { position: absolute; inset: 0; }
.yw-gf-empty { margin: 14px 0 0; color: #77717c; font-size: 13px; line-height: 1.5; }

/* The insight sits in the third column of the first row. */
.yw-gf-overview > .yw-gf-insight { height: auto; min-height: 431px; }

/* Needs attention. */
.yw-gf-needs { display: flex; flex-direction: column; }
.yw-gf-needs > .yw-needs { flex: 1 1 auto; }
.yw-gf-needs .yw-needs-card { min-height: 0; }
.yw-get-found-page .yw-needs-row-dismiss { flex-shrink: 0; }
.yw-get-found-page .yw-needs-row-dismiss button { display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: #a09aa4; font-size: 16px; line-height: 1; }
.yw-get-found-page .yw-needs-row-dismiss button:hover { background: #eeeeee; color: #202024; }
/* 10/02: a row's face is its title; the detail is the title's hover. The
   hover trigger is a button, so the row is a div and the chevron is the link,
   its hit area stretched over the whole row; the title and the dismiss X sit
   above it. needs-attention.tsx NeedsFlagLine. */
.yw-get-found-page .yw-needs-row[data-split] .yw-needs-row-go { display: grid; flex: 0 0 auto; place-items: center; border-radius: 8px; color: inherit; }
.yw-get-found-page .yw-needs-row[data-split] .yw-needs-row-go::after { position: absolute; inset: 0; content: ""; }
.yw-get-found-page .yw-needs-row[data-split] .yw-needs-row-go:focus-visible { outline: 2px solid #b993ff; outline-offset: 2px; }
.yw-get-found-page .yw-needs-row[data-split] .yw-needs-row-link:hover .yw-needs-row-chevron { transform: translateX(3px); stroke: #8151b7; }
.yw-get-found-page .yw-needs-row[data-split] :is(.yw-needs-row-title > span, .yw-needs-row-dismiss) { position: relative; z-index: 1; }
.yw-get-found-page .yw-needs-row[data-split] .yw-needs-row-title .hw-info-label { text-align: left; }

/* Search signals: the Last full week rows. */
.yw-gf-signals-list { margin-top: 6px; }
.yw-gf-signal-group > ul { margin: 0; padding: 0; list-style: none; }
.yw-gf-signal { padding: 13px 0; border-bottom: 1px solid #e9e7eb; }
.yw-gf-signal-group:last-child .yw-gf-signal:last-child { border-bottom: 0; padding-bottom: 2px; }
.yw-gf-signal-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.yw-gf-signal-name { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.yw-gf-signal-label { color: #554b60; font-size: 13px; line-height: 1.35; }
.yw-gf-signal-change { color: #9a969d; font-size: 10px; font-weight: 500; }
.yw-gf-signal-change[data-direction="up"] > span:first-child { color: #279876; }
.yw-gf-signal-change[data-direction="down"] > span:first-child { color: #c85f84; }
.yw-gf-signal-value { display: flex; flex-shrink: 0; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
.yw-gf-signal-value > span { color: #9a969d; font-size: 10px; }
.yw-gf-signal-value > strong { color: #202024; font-size: 27px; font-weight: 500; line-height: 1.15; letter-spacing: -.05em; white-space: nowrap; }
.yw-gf-signal-bar { margin: 12px 0 4px; }
.yw-gf-signal-target { margin: 7px 0 0; color: #8f8499; font-size: 11px; }
.yw-gf-signal-quiet { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin: 6px 0 0; color: #8f8996; font-size: 12px; }
.yw-gf-signal-caption { margin: 16px 0 0; padding-bottom: 2px; color: #929097; font-size: 11px; }
.yw-gf-signal-group[data-group="paid"] { margin-top: 2px; border-top: 1px solid #e2e1e4; }

/* What a guest sees on Google: Google's list, your row tinted at the foot. */
.yw-gf-guest { min-height: 431px; }
.yw-gf-guest-list { margin: auto 0 0; padding: 16px 0 0; list-style: none; }
.yw-gf-guest-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) 30px 44px 44px; align-items: center; gap: 8px; min-height: 43px; padding: 0 8px; border-top: 1px solid #eae8ec; color: #343039; font-size: 13px; }
.yw-gf-guest-row[data-kind="head"] { min-height: 0; padding-bottom: 7px; border-top: 0; color: #8f8996; font-size: 10px; }
.yw-gf-guest-row[data-kind="more"] { min-height: 36px; color: #929097; font-size: 12px; }
.yw-gf-guest-more { grid-column: 2 / -1; }
.yw-gf-guest-rank { color: #87818c; font-size: 12px; }
.yw-gf-guest-name { display: flex; min-width: 0; align-items: center; gap: 7px; color: #202024; }
.yw-gf-guest-name-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-guest-cell { text-align: right; white-space: nowrap; }
.yw-gf-guest-row:not([data-kind]) .yw-gf-guest-cell { font-weight: 500; }
.yw-gf-guest-row[data-you] { margin-top: 3px; min-height: 52px; border-top-color: transparent; border-radius: 12px; background: #f6f1fb; }
.yw-gf-guest-row[data-you] .yw-gf-guest-rank { color: #202024; font-size: 22px; font-weight: 500; letter-spacing: -.05em; }
.yw-gf-guest-row[data-you] .yw-gf-guest-name { font-weight: 500; }

/* Who gets the booking click: your website first, then cheapest up. */
.yw-gf-price-list { margin: 16px 0 0; padding: 0; list-style: none; }
.yw-gf-price-row { display: flex; align-items: baseline; gap: 10px; padding: 10px 8px; border-top: 1px solid #eae8ec; }
.yw-gf-price-name { min-width: 0; flex: 1 1 auto; overflow: hidden; color: #59535f; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
/* A site's name is its hover (the gap to your website, 10/02); a long name
   still ends in an ellipsis inside the trigger. */
.yw-gf-price-name > span { max-width: 100%; vertical-align: baseline; }
.yw-gf-price-name .hw-info-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-price-value { flex-shrink: 0; color: #343039; font-size: 14px; font-weight: 500; }
.yw-gf-price-row[data-you] { border-top-color: transparent; border-radius: 12px; background: #f6f1fb; }
.yw-gf-price-row[data-you] + .yw-gf-price-row { border-top-color: transparent; }
.yw-gf-price-row[data-you] .yw-gf-price-name { color: #202024; font-weight: 500; }
.yw-gf-price-row[data-kind="more"] :is(.yw-gf-price-name, .yw-gf-price-value) { color: #929097; font-size: 12px; font-weight: 400; }
.yw-gf-price-row[data-kind="commission"] { border-top-color: #e2e1e4; }

/* AI answers: one hatched bar per engine, the hotels named instead under it. */
.yw-gf-engines { margin: 16px 0 0; padding: 0; list-style: none; }
.yw-gf-engine { display: grid; grid-template-columns: 82px minmax(0, 1fr) 36px; align-items: center; gap: 12px; padding: 8px 0; }
.yw-gf-engine-name { color: #554b60; font-size: 13px; }
.yw-gf-engine-bar { display: flex; gap: 2px; height: 16px; overflow: hidden; border-radius: 4px; background: #f0edf2; }
.yw-gf-engine-bar > span { min-width: 8px; flex-basis: 0; border-radius: 2px; transform-origin: left; }
.yw-gf-engine-count { color: #343039; font-size: 14px; font-weight: 500; text-align: right; }
.yw-gf-ai > .yw-gf-rows-caption { margin-top: auto; }
.yw-gf-ai-instead .yw-row-stat:first-child { border-top: 1px solid #eae8ec; }
.yw-gf-ai-instead dt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-ai-instead dd { flex-shrink: 0; }
.yw-gf-target-word { margin-right: 8px; font-size: 11px; font-weight: 500; }
.yw-gf-target-word[data-tone="good"] { color: #2f8a6d; }
.yw-gf-target-word[data-tone="bad"] { color: #a96883; }
/* Hover lists (the "more" rows, an engine's questions). The panel portals
   to the theme root, outside the page scope, so these are unscoped. */
.yw-gf-hover-list { margin: 0; padding: 0; list-style: none; }
.yw-gf-hover-list li { padding: 2px 0; }
.yw-gf-hover-list [data-outcome-word] { font-weight: 500; }
/* Label and value on one line (the weekly scores, the score parts). */
.yw-gf-hover-list[data-rows] li { display: flex; justify-content: space-between; gap: 12px; }
.yw-gf-hover-list[data-rows] li > span:first-child { flex-shrink: 0; white-space: nowrap; }
.yw-gf-hover-list[data-rows] li > span:last-child { text-align: right; }
.hw-info-body .yw-gf-hover-list[data-rows] { margin: 6px 0; }
/* A card's context line (the search, the week, when it was checked) moved
   off the card face into its hover panel (owner, 10/02): first line, quiet. */
.hw-info-body .yw-gf-hover-meta { display: block; margin-bottom: 8px; color: #8f8996; font-size: 11px; line-height: 1.45; }
.yw-gf-hover-list [data-outcome-word="cited"] { color: #2f8a6d; }
.yw-gf-hover-list [data-outcome-word="mentioned"] { color: #7c3aed; }
.yw-gf-hover-list [data-outcome-word="absent"] { color: #b4567f; }

/* Next fix: the Wizard insight card's dress, one fix, no carousel. */
.yw-gf-nextfix .yw-insight-value span { white-space: normal; }
.yw-gf-nextfix h3 .hw-info-label { text-align: left; }

/* Mentions. */
.yw-gf-mentions-facts { margin-top: 12px; }
.yw-gf-mentions-facts .yw-row-stat:first-child { border-top: 1px solid #eae8ec; }
.yw-gf-mentions-facts dd { white-space: nowrap; }
.yw-gf-replies { margin: 6px 0 0; padding: 0; list-style: none; }
.yw-gf-reply { padding: 16px 0 12px; border-top: 1px solid #eae8ec; }
.yw-gf-reply-title { margin: 0; color: #202024; font-size: 13px; font-weight: 500; }
.yw-gf-reply-finding { margin: 3px 0 0; color: #77717c; font-size: 12px; line-height: 1.5; }
.yw-gf-reply-draft { margin: 10px 0 8px; padding: 12px 14px; border-radius: 12px; background: #f6f5f7; color: #343039; font-size: 13px; line-height: 1.5; }

/* ------------------------------------------------- the sub-tabs, dressed -- */
/* To-do, Rankings, AI Search, SEO and their Setup views keep their own
   components; the root half of money.css already makes every card, table,
   tab bar and button the Dashboard's. These are the pieces left over. */
/* No uppercase labels anywhere under the root: sentence case, no tracking. */
.yw-get-found-page .uppercase { text-transform: none; letter-spacing: 0; }
/* The verdict line (floor/verdict-line.tsx) on a sub-tab: a card whose
   sentence is the lead, or whose total is the hero number. */
.yw-get-found-page section[data-tour="floor.verdict"] p[class~="text-xl"] { color: #202024; font-size: 19px; font-weight: 500; line-height: 1.35; letter-spacing: -.45px; }
.yw-get-found-page section[data-tour="floor.verdict"] [class~="text-4xl"] { color: #202024; font-size: clamp(38px, 3.6vw, 53px); font-weight: 500; line-height: 1.17; letter-spacing: -.05em; }
.yw-get-found-page section[data-tour="floor.verdict"] [class~="text-4xl"] + span { color: #929097; font-size: 13px; }
.yw-get-found-page section[data-tour="floor.verdict"] p[class~="text-base"] { margin-top: 12px; color: #343039; font-size: 15px; font-weight: 500; letter-spacing: -.3px; }
/* In a card, the verdict's explanation dot is the card's round "···",
   top right, as on the Overview hero. */
.yw-get-found-page .yw-card section[data-tour="floor.verdict"] > div > .shrink-0:last-child { position: absolute; top: 23px; right: 23px; }
.yw-get-found-page .yw-card:has(section[data-tour="floor.verdict"] > div > .shrink-0:last-child) > .yw-card-head { padding-right: 44px; }
.yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger { width: 35px; height: 35px; border: 1px solid #e4e2e6; background: transparent; font-size: 0; color: transparent; }
.yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger::after { content: "\00b7\00b7\00b7"; color: #202024; font-size: 17px; letter-spacing: 1px; }
.yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger:hover, .yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger[aria-expanded="true"] { background: #eeeeee; }
.yw-get-found-page .yw-card > section[data-tour="floor.verdict"] { margin-top: 16px; }
/* SectionLabel and the small card titles: the card head's 19px title. */
.yw-get-found-page :is(h2, h3)[class~="text-sm"][class~="font-semibold"] { color: #202024; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.55px; }

/* Numbered steps (AI Search's "What to do to show up", Rankings' "What
   would move your position"): Needs you rows with a number in the mark. */
.yw-gf-steps { margin: 6px 0 0; padding: 0; list-style: none; }
.yw-gf-step { display: flex; gap: 13px; padding: 15px 0; border-top: 1px solid #eae8ec; }
.yw-gf-step:first-child { border-top: 0; }
.yw-gf-step-mark { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: #eee7f8; color: #8a66bc; font-size: 12px; font-weight: 500; }
.yw-gf-step-body { min-width: 0; flex: 1 1 auto; }
.yw-gf-step-title { margin: 0; color: #202024; font-size: 13px; font-weight: 500; line-height: 1.4; }
.yw-gf-step-why { margin: 3px 0 0; color: #77717c; font-size: 12px; line-height: 1.5; }
.yw-gf-step-do { margin: 6px 0 0; color: #343039; font-size: 12px; line-height: 1.5; }
.yw-gf-step-note { margin: 8px 0 0; color: #a09aa4; font-size: 10px; line-height: 1.45; }
.yw-gf-step-where { color: #87818c; font-weight: 500; }
.yw-gf-step .flex { margin-top: 10px; }
.yw-gf-unmeasured { margin: auto 0 0; padding-top: 12px; border-top: 1px solid #eae8ec; color: #929097; font-size: 11px; line-height: 1.5; }
/* One visible line under a step's title: the action. The rest is in the
   title's hover; a long action stops at two lines (full text in its title). */
.yw-gf-step-title .hw-info-label { font-weight: 500; text-align: left; }
.yw-gf-step-one { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.yw-gf-step { padding: 13px 0; }

/* AI Search: the verdict and its one button beside answers over time, then
   the steps and the answer grid full width. The source keeps the story order
   (verdict, button, steps, chart, grid); the areas place them. */
.yw-gf-ai-verdict { display: flex; flex-direction: column; }
.yw-gf-ai-verdict .yw-hero-value { display: flex; align-items: baseline; gap: 10px; }
.yw-gf-ai-rows { margin-top: 14px; }
.yw-gf-ai-rows .yw-row-stat:first-child { border-top: 1px solid #eae8ec; }
.yw-gf-ai-run { margin-top: auto; padding-top: 14px; }
/* Refresh is a quiet control, the header's grey look, not a second primary. */
.yw-gf-ai-run button { min-height: 36px; padding: 0 13px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 12px; font-weight: 400; box-shadow: none; }
.yw-gf-ai-run button:hover { background: #e8e4ed; }
.yw-get-found-page [data-outcome="cited"] { background: repeating-linear-gradient(125deg, #9161df 0 2px, #dcccfa 2px 4px); }
.yw-get-found-page [data-outcome="mentioned"] { background: #cdb5ee; }
.yw-get-found-page [data-outcome="absent"] { background: repeating-linear-gradient(125deg, #d65e9e 0 2px, #f9dce9 2px 4px); }
.yw-get-found-page [data-outcome="unreadable"] { background: #e5e2e9; }
/* The answer grid: one hairline row per question, each engine a quiet well. */

/* Filter pills (the answer grid's outcomes): white, the selected one tinted. */
.yw-gf-chip { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 20px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .024); color: #59535f; font-size: 11px; font-weight: 500; text-decoration: none; transition: background .16s, color .16s; }
.yw-gf-chip:hover { background: #f0e9fb; color: #202024; }
.yw-gf-chip[aria-current="page"] { background: #eee5fd; color: #7433d4; }
.yw-gf-chip:focus-visible { outline: 2px solid #b993ff; outline-offset: 2px; }

/* Rankings: the standing chart, the heat map and the week's table. */
.yw-gf-standing-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
/* Quiet controls: the search picker is the grey header control, the window
   switch the Dashboard's segmented control. */
.yw-gf-standing-controls > div > button, .yw-gf-standing-controls > span { min-height: 34px; padding: 0 11px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 12px; font-weight: 400; }
.yw-gf-standing-controls > div > button:hover { background: #e8e4ed; }
.yw-gf-standing-controls [role="tablist"] { gap: 2px; padding: 3px; border: 0; border-radius: 12px; background: #eeeded; }
.yw-gf-standing-controls [role="tab"] { padding: 6px 11px; border-radius: 9px; background: transparent; color: #6f6975; font-size: 12px; font-weight: 500; }
.yw-gf-standing-controls [role="tab"][aria-selected="true"] { background: #fff; color: #202024; box-shadow: 0 2px 6px rgba(0, 0, 0, .06); }
.yw-gf-standing-body { display: flex; flex-direction: column; margin-top: 18px; }
.yw-gf-standing-value { color: #202024; font-size: clamp(32px, 3vw, 44px); font-weight: 500; line-height: 1.15; letter-spacing: -.05em; }
.yw-gf-standing-empty { margin: 0; color: #202024; font-size: 15px; font-weight: 500; }
.yw-gf-standing-query { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; color: #929097; font-size: 12px; }
.yw-gf-standing-plot { margin-top: 18px; }
.yw-gf-standing-axis { border-top: 1px solid #cfc8d5; }
.yw-get-found-page .yw-gf-bar-you { background: linear-gradient(#9b51f4, #7c38de); }
.yw-get-found-page .yw-gf-bar-c0 { background: repeating-linear-gradient(125deg, #a5a0ab 0 2px, #e5e2e9 2px 4px); }
.yw-get-found-page .yw-gf-bar-c1 { background: repeating-linear-gradient(125deg, #ae89e9 0 2px, #ece4fc 2px 4px); }
.yw-get-found-page .yw-gf-bar-c2 { background: #cdb5ee; }
.yw-get-found-page .yw-gf-bar-c3 { background: #8f8a95; }
.yw-get-found-page .yw-gf-bar-c4 { background: repeating-linear-gradient(125deg, #6d4aa8 0 2px, #d9cdee 2px 4px); }
.yw-get-found-page .yw-gf-bar-c5 { background: #dcd7e2; }
.yw-gf-heatmap table th[scope="row"] { color: #59535f; font-size: 11px; font-weight: 400; }
.yw-gf-table-card { padding-bottom: 12px; }
.yw-gf-table-scroll { margin-top: 10px; overflow-x: auto; }
.yw-gf-table-card table th, .yw-gf-table-card table td { padding-left: 8px; padding-right: 8px; }
.yw-gf-table-card table th:first-child, .yw-gf-table-card table td:first-child { padding-left: 0; }
.yw-gf-table-card table tbody tr > td[colspan] { padding-top: 14px; color: #7c3aed; font-size: 11px; font-weight: 500; }
.yw-gf-table-card table tbody tr:has(> td[colspan]) { background: transparent; }

/* To-do: the summary card with a count per group, then one card per group,
   each task a hairline row: title, status word, finding, why, fix, evidence. */

/* Setup views: cards two across. The Overview's Setup (10/02): what Get
   Found can see, wide, beside the compact targets card. */
.yw-gf-setup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.yw-gf-setup-grid > * { min-width: 0; margin: 0; }
.yw-gf-setup-overview { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
.yw-gf-setup-card { align-self: stretch; }
.yw-gf-saved { color: #2f8a6d; }
/* A setup card's state word (the weekly check's On / Off, the targets'
   Saved) on the right of its head, level with the 19px title: the grey line
   under the title moved into its hover (10/02). */
.yw-gf-setup-grid .yw-card-head > .yw-gf-source-state { flex-shrink: 0; padding-top: 4px; }
/* The sources: Needs-you rows, the mark toned by the state. */
.yw-gf-source-list { margin: 10px 0 0; padding: 0; list-style: none; }
.yw-gf-source { display: flex; align-items: center; gap: 13px; min-height: 62px; padding: 10px 3px; border-top: 1px solid #eae8ec; }
.yw-gf-source:first-child { border-top: 0; }
.yw-gf-source-mark { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: #eee7f8; color: #8a66bc; }
.yw-gf-source[data-tone="wait"] .yw-gf-source-mark { background: #fbf0dc; color: #b98234; }
.yw-gf-source[data-tone="bad"] .yw-gf-source-mark { background: #f8e8ef; color: #bd6a91; }
.yw-gf-source-mark svg { width: 17px; height: 17px; }
.yw-gf-source-copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 3px; }
.yw-gf-source-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; color: #202024; font-size: 12px; font-weight: 500; line-height: 1.4; }
.yw-gf-source-title .hw-info-label { font-weight: 500; }
.yw-gf-source-state { font-size: 11px; font-weight: 500; }
.yw-gf-source-state[data-tone="good"] { color: #2f8a6d; }
.yw-gf-source-state[data-tone="wait"] { color: #9a805f; }
.yw-gf-source-state[data-tone="bad"] { color: #a96883; }
.yw-gf-source-unlocks { overflow: hidden; color: #a09aa4; font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-source-door { flex-shrink: 0; }
.yw-gf-source-pick { margin-top: 6px; padding-top: 14px; border-top: 1px solid #eae8ec; }
/* The targets: one compact card, each input beside the reading it grades. */
.yw-gf-target-inline { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.yw-gf-target-field { display: flex; align-items: flex-end; gap: 12px; padding-top: 12px; border-top: 1px solid #eae8ec; }
.yw-gf-target-field > :first-child { min-width: 0; flex: 1 1 auto; }
.yw-gf-target-now { flex-shrink: 0; padding-bottom: 10px; color: #929097; font-size: 11px; }
.yw-gf-target-inline > button { align-self: flex-start; }
@media (max-width: 800px) { .yw-gf-setup-grid, .yw-gf-setup-overview { grid-template-columns: minmax(0, 1fr); } }

/* Rankings: the number-first verdict beside what would move it. */
.yw-gf-rank-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 16px; align-items: stretch; }
.yw-gf-rank-top > * { min-width: 0; margin: 0; }
.yw-gf-rank-top > :only-child { grid-column: 1 / -1; }
.yw-gf-rank-top > .yw-card { display: flex; flex-direction: column; }
.yw-gf-rank-hero .yw-hero-value { display: flex; align-items: baseline; gap: 10px; }
.yw-gf-rank-rows { margin-top: auto; padding-top: 16px; }
.yw-gf-rank-rows .yw-row-stat:first-child { border-top: 1px solid #eae8ec; }
.yw-gf-rank-hero .yw-hero-pill[data-pace="behind"] { color: #a96883; }

/* To-do rows: the title's hover holds the problem, the why and the evidence. */

/* Google accounts: one row per login. Every word is ink or grey (10/02,
   owner: "whats up with all the colored fonts"); the state is a 7px dot. */
.yw-gf-google-rows { margin: 8px 0 0; padding: 0; list-style: none; }
.yw-gf-google-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 0; border-top: 1px solid #eae8ec; }
.yw-gf-google-name { margin: 0; color: #202024; font-size: 14px; font-weight: 500; letter-spacing: -.25px; }
.yw-gf-google-name .hw-info-label { font-weight: 500; }
.yw-gf-google-detail { display: flex; min-width: 0; align-items: center; gap: 10px; margin: 5px 0 0; color: #929097; font-size: 12px; white-space: nowrap; }
.yw-gf-google-state { display: inline-flex; flex-shrink: 0; align-items: center; gap: 6px; color: #59535f; font-weight: 500; }
.yw-gf-google-login { margin: 3px 0 0; overflow: hidden; color: #929097; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-google-lines { margin: 8px 0 0; padding: 0; list-style: none; }
.yw-gf-google-lines li { display: flex; min-width: 0; align-items: center; gap: 7px; color: #202024; font-size: 12px; line-height: 1.85; white-space: nowrap; }
.yw-gf-google-line-label { flex-shrink: 0; color: #929097; }
.yw-gf-google-line-value { min-width: 0; overflow: hidden; color: #202024; text-overflow: ellipsis; }
.yw-gf-google-line-value .hw-info-label { font-weight: 400; }
:is(.yw-gf-google-state, .yw-gf-google-lines li) > i { display: inline-block; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #c9c4cf; }
:is(.yw-gf-google-state, .yw-gf-google-lines li)[data-tone="good"] > i { background: #3fae8a; }
:is(.yw-gf-google-state, .yw-gf-google-lines li)[data-tone="wait"] > i { background: #d9a457; }
:is(.yw-gf-google-state, .yw-gf-google-lines li)[data-tone="bad"] > i { background: #d27ba0; }
[data-theme-root].dark .yw-gf-google-state { color: #d9d2e3; }
[data-theme-root].dark .yw-gf-google-login { color: #a297ab; }
[data-theme-root].dark :is(.yw-gf-google-lines li, .yw-gf-google-line-value) { color: #f3eef8; }
[data-theme-root].dark .yw-gf-google-line-label { color: #a297ab; }
.yw-gf-google-action { flex-shrink: 0; text-decoration: none; }

/* The connect wall (tool-gate.tsx ToolGate look="banner", 10/02, owner:
   "this sub tab need re working"): the Get Found banner's dress. The title
   (the blurb is its hover), the done count at hero size over one segment per
   step, the steps as hairline rows, then the one control. The Google account
   rows sit beside it. */
.yw-gf-gate-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.yw-gf-gate-row > * { min-width: 0; margin: 0; }
.yw-gf-gate-row > :only-child { grid-column: 1 / -1; }
.yw-gf-banner.yw-gate-banner { display: flex; height: 100%; min-height: 0; flex-direction: column; padding: 23px 26px; }
.yw-gate-banner .yw-gf-banner-art { left: 52%; }
/* A dotted scene drawn in code (halftone-scene.tsx, the sign-in pages'
   pictures; 10/02, owner: "you are using the same image everywhere"). The
   canvas fills the art box and keeps the banner's fade from the left; in dark
   mode it is inverted and turned back to violet, so the paper goes dark and
   the dots stay violet. */
.yw-gf-banner-art[data-art="scene"] > canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
[data-theme-root].dark .yw-gf-banner-art[data-art="scene"] > canvas { filter: invert(1) hue-rotate(180deg); opacity: .75; }
.yw-gate-banner .yw-card-head { align-items: center; }
.yw-get-found-page .yw-gate-banner .yw-hero-value { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 10px; }
.yw-gate-track { display: flex; gap: 4px; max-width: 380px; height: 9px; }
.yw-gate-track > span { flex: 1; border-radius: 20px; background: #eeedf1; }
.yw-gate-track > span[data-state="done"] { background: repeating-linear-gradient(125deg, #7c3aed 0 2px, #b48cf3 2px 4px); }
.yw-gate-track > span[data-state="current"] { background: #e2d6f7; }
.yw-gate-steps { max-width: 380px; margin: 14px 0 0; padding: 0; list-style: none; }
.yw-gate-steps li { display: flex; align-items: center; gap: 12px; min-height: 46px; border-top: 1px solid rgba(124, 58, 237, .1); color: #59535f; font-size: 13.5px; }
.yw-gate-steps li:first-child { border-top: 0; }
.yw-gate-steps li[data-state="current"] { color: #202024; font-weight: 500; }
.yw-gate-mark { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 50%; background: #f0edf2; color: #87818c; font-size: 12px; font-weight: 500; }
.yw-gate-steps li[data-state="current"] .yw-gate-mark { background: #7c3aed; color: #fff; }
.yw-gate-steps li[data-state="done"] .yw-gate-mark { background: #e3f4ec; color: #2f8a6d; }
.yw-gate-label { min-width: 0; flex: 1; }
.yw-gate-word { color: #2f8a6d; font-size: 11px; font-weight: 500; }
.yw-gate-act { margin-top: 18px; }
.yw-gate-act [class~="mx-auto"] { margin-left: 0; margin-right: 0; }
.yw-gate-act [class~="text-center"] { text-align: left; }
.yw-gate-act [class~="justify-center"] { justify-content: flex-start; }
.yw-gate-act [class~="flex-col"][class~="items-center"] { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
.yw-gate-act :is(a, button)[class~="bg-violet-600"] { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 12px; background: #7c3aed; color: #fff; font-size: 13px; font-weight: 500; letter-spacing: -.1px; }
.yw-gate-act :is(a, button)[class~="bg-violet-600"]:hover { background: #7130df; }
.yw-gate-act p { color: #929097; font-size: 12px; }
.yw-gate-act input:not([type="hidden"], [type="radio"], [type="checkbox"]) { height: 38px; padding: 0 12px; border: 1px solid #e2e1e4; border-radius: 11px; background: #fff; color: #202024; font-size: 13px; }
.yw-gate-act input:not([type="hidden"], [type="radio"], [type="checkbox"]):focus { border-color: #a78bfa; outline: none; }
.yw-gate-trust { color: #59535f; font-size: 12px; font-weight: 500; }
.yw-gate-foot { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; }
[data-theme-root].dark .yw-gate-track > span { background: #142036; }
[data-theme-root].dark .yw-gate-track > span[data-state="current"] { background: #4a3b66; }
[data-theme-root].dark .yw-gate-steps li { border-top-color: rgba(197, 168, 255, .14); color: #c3b9cc; }
[data-theme-root].dark .yw-gate-steps li[data-state="current"] { color: #f3eef8; }
[data-theme-root].dark .yw-gate-mark { background: #142036; color: #a297ab; }
[data-theme-root].dark .yw-gate-steps li[data-state="done"] .yw-gate-mark { background: #1f3a31; color: #7fd3b4; }
[data-theme-root].dark .yw-gate-word { color: #7fd3b4; }
[data-theme-root].dark .yw-gate-act p { color: #a297ab; }
[data-theme-root].dark .yw-gate-trust { color: #d9d2e3; }
[data-theme-root].dark .yw-gate-act input:not([type="hidden"], [type="radio"], [type="checkbox"]) { border-color: #1c2843; background: #0d1527; color: #f3eef8; }

/* The staff-only live audit: quiet, under the customer cards. */
.yw-gf-staff-card { padding: 16px 18px; border: 1px dashed #ddd3e6; border-radius: 18px; background: transparent; font-size: 12px; }
.yw-gf-staff-title { color: #59535f; font-size: 13px; font-weight: 500; }
.yw-gf-staff-card input { min-height: 34px; font-size: 12px; }
.yw-gf-staff-card button { min-height: 34px; font-size: 12px; }
.yw-gf-staff-card li { font-size: 12px; }

@media (max-width: 1100px) {
  .yw-gf-rank-top, .yw-gf-gate-row { grid-template-columns: minmax(0, 1fr); }
}

/* -------------------------------------------------------------- motion -- */
.yw-gf-overview > :is(.yw-card, .yw-insight, .yw-gf-needs) { animation: yw-motion-enter .65s backwards; }
/* Staggered by column, as on the Dashboard. */
.yw-gf-overview > :is(.yw-gf-guest, .yw-gf-click, .yw-gf-trend) { animation-delay: .08s; }
.yw-gf-overview > :is(.yw-gf-insight, .yw-gf-ai, .yw-gf-mentions) { animation-delay: .15s; }
.yw-gf-signal-bar .yw-kpi-progress-fill, .yw-gf-engine-bar > span { animation: yw-motion-scale-in 1s cubic-bezier(.2, .8, .2, 1) both; }
@media (hover: hover) {
  .yw-gf-needs .yw-needs-card { transition: border-color .2s ease, box-shadow .2s ease; }
  .yw-gf-needs .yw-needs-card:hover { border-color: #d9d2e0; box-shadow: 0 8px 22px rgba(48, 32, 64, .045); }
}
@media (prefers-reduced-motion: reduce) {
  .yw-gf-overview > :is(.yw-card, .yw-insight, .yw-gf-needs), .yw-gf-signal-bar .yw-kpi-progress-fill, .yw-gf-engine-bar > span, .yw-gf-needs .yw-needs-card { animation: none; transition: none; }
}

/* ------------------------------------------------------------ narrower -- */
@media (max-width: 1350px) {
  .yw-gf-overview { gap: 14px; }
}
@media (max-width: 1100px) {
  .yw-gf-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-gf-overview:not([data-insight]) > .yw-gf-guest { grid-column: auto; }
}
@media (max-width: 800px) {
  .yw-gf-overview { grid-template-columns: minmax(0, 1fr); }
  .yw-gf-hero, .yw-gf-guest, .yw-gf-trend, .yw-gf-overview > .yw-gf-insight { min-height: 0; }
}
@media (max-width: 520px) {
  .yw-get-found-page .yw-card { padding: 18px; border-radius: 20px; }
}

/* ---------------------------------------------------------------- dark -- */
[data-theme-root].dark header[data-title-menu] .yw-get-found-setup[aria-current="page"] { background: #3f2d5c; color: #c9b1ff; }
[data-theme-root].dark .yw-get-found-page { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-lead, .yw-gf-state, .yw-gf-signal-value > strong, .yw-gf-reply-title) { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-hero-of, .yw-gf-rows-caption, .yw-gf-signal-change, .yw-gf-signal-value > span, .yw-gf-signal-target, .yw-gf-signal-quiet, .yw-gf-signal-caption, .yw-gf-empty, .yw-gf-reply-finding, .yw-gf-parts-rows .yw-row-stat:last-child dt) { color: #a297ab; }
/* The four cards (10/02). */
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-state[data-tone="bad"], .yw-gf-state-hero[data-tone="bad"]) { color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-guest-row, .yw-gf-price-row, .yw-gf-ai-instead .yw-row-stat:first-child, .yw-gf-source, .yw-gf-source-pick, .yw-gf-target-field) { border-color: #1c2843; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-guest-row[data-you], .yw-gf-price-row[data-you], .yw-gf-price-row[data-you] + .yw-gf-price-row) { border-color: transparent; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-guest-row[data-you], .yw-gf-price-row[data-you]) { background: #35303f; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-guest-name, .yw-gf-guest-row[data-you] .yw-gf-guest-rank, .yw-gf-price-row[data-you] .yw-gf-price-name, .yw-gf-source-title) { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-guest-row, .yw-gf-guest-cell, .yw-gf-price-value, .yw-gf-engine-count) { color: #e6dff0; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-guest-row[data-kind], .yw-gf-guest-rank, .yw-gf-price-row[data-kind="more"] :is(.yw-gf-price-name, .yw-gf-price-value), .yw-gf-source-unlocks, .yw-gf-target-now) { color: #a297ab; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-price-name, .yw-gf-engine-name) { color: #d9cfe3; }
[data-theme-root].dark .yw-get-found-page .yw-gf-engine-bar { background: #1c2843; }
[data-theme-root].dark .yw-get-found-page .yw-gf-target-word[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark .yw-get-found-page .yw-gf-target-word[data-tone="bad"] { color: #e69ac4; }
[data-theme-root].dark .hw-info-body .yw-gf-hover-meta { color: #a297ab; }
[data-theme-root].dark .yw-gf-hover-list [data-outcome-word="cited"] { color: #7fd3b4; }
[data-theme-root].dark .yw-gf-hover-list [data-outcome-word="mentioned"] { color: #c5a8ff; }
[data-theme-root].dark .yw-gf-hover-list [data-outcome-word="absent"] { color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page .yw-gf-source-mark { background: #3d3150; color: #c5a8ff; }
[data-theme-root].dark .yw-get-found-page .yw-gf-source[data-tone="wait"] .yw-gf-source-mark { background: #3d3122; color: #e6bd7f; }
[data-theme-root].dark .yw-get-found-page .yw-gf-source[data-tone="bad"] .yw-gf-source-mark { background: #46303c; color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page .yw-gf-source-state[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark .yw-get-found-page .yw-gf-source-state[data-tone="wait"] { color: #e6bd7f; }
[data-theme-root].dark .yw-get-found-page .yw-gf-source-state[data-tone="bad"] { color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page .yw-gf-signal-label { color: #d9cfe3; }
[data-theme-root].dark .yw-get-found-page .yw-gf-signal-change[data-direction="up"] > span:first-child { color: #7fd3b4; }
[data-theme-root].dark .yw-get-found-page .yw-gf-signal-change[data-direction="down"] > span:first-child { color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-signal, .yw-gf-reply, .yw-gf-signal-group[data-group="paid"], .yw-gf-parts-rows .yw-row-stat:first-child, .yw-gf-mentions-facts .yw-row-stat:first-child) { border-color: #1c2843; }
[data-theme-root].dark .yw-get-found-page .yw-gf-reply-draft { background: #142036; color: #d9d2e3; }
[data-theme-root].dark .yw-get-found-page .yw-hero-pill[data-pace="behind"] { color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger { border-color: #1c2843; }
[data-theme-root].dark .yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger::after { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page .yw-card section[data-tour="floor.verdict"] .hw-info-trigger:hover { background: #142036; }
[data-theme-root].dark .yw-get-found-page .yw-gf-chip { background: #142036; box-shadow: none; color: #c3b9cc; }
[data-theme-root].dark .yw-get-found-page .yw-gf-chip:hover { background: #1c2843; color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page .yw-gf-chip[aria-current="page"] { background: #3f2d5c; color: #c9b1ff; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-todo-counts dd, .yw-gf-task-title, .yw-gf-task-fix) { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-task-finding, .yw-gf-task-why > span:first-child, .yw-gf-task-fix > span:first-child) { color: #d9d2e3; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-todo-counts dt, .yw-gf-task-status, .yw-gf-task-why, .yw-gf-task-evidence, .yw-gf-note, .yw-gf-step-why, .yw-gf-step-note, .yw-gf-unmeasured-head, .yw-gf-unmeasured li, .yw-gf-answer-kind, .yw-gf-standing-query) { color: #a297ab; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-step-title, .yw-gf-step-do, .yw-gf-answer-question, .yw-gf-standing-value, .yw-gf-standing-empty) { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-todo-counts > div, .yw-gf-task, .yw-gf-fixed, .yw-gf-step, .yw-gf-unmeasured, .yw-gf-answer-row, .yw-gf-standing-axis) { border-color: #1c2843; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-handoff, .yw-gf-answer-cell) { background: #142036; }
[data-theme-root].dark .yw-get-found-page .yw-gf-answer-cell:is([data-tone="none"], [data-tone="unknown"]) { background: transparent; box-shadow: inset 0 0 0 1px #1c2843; }
[data-theme-root].dark .yw-get-found-page .yw-gf-step-mark { background: #3d3150; color: #c5a8ff; }
[data-theme-root].dark .yw-get-found-page [data-outcome="cited"] { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark .yw-get-found-page [data-outcome="mentioned"] { background: #5c4a78; }
[data-theme-root].dark .yw-get-found-page [data-outcome="absent"] { background: repeating-linear-gradient(125deg, #e07ab5 0 2px, #4d3345 2px 4px); }
[data-theme-root].dark .yw-get-found-page [data-outcome="unreadable"] { background: #202d4a; }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-you { background: linear-gradient(#a56cff, #7c3aed); }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-c0 { background: repeating-linear-gradient(125deg, #a8a1b0 0 2px, #202d4a 2px 4px); }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-c1 { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #3f3352 2px 4px); }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-c2 { background: #5c4a78; }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-c3 { background: #8b8394; }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-c4 { background: repeating-linear-gradient(125deg, #c9b1ff 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark .yw-get-found-page .yw-gf-bar-c5 { background: #55505d; }
[data-theme-root].dark .yw-get-found-page .yw-gf-saved { color: #7fd3b4; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-ai-run button, .yw-gf-standing-controls > div > button, .yw-gf-standing-controls > span, .yw-gf-standing-controls [role="tablist"]) { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page .yw-gf-standing-controls [role="tab"] { color: #c3b9cc; }
[data-theme-root].dark .yw-get-found-page .yw-gf-standing-controls [role="tab"][aria-selected="true"] { background: #243352; color: #f3eef8; box-shadow: none; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-rank-rows .yw-row-stat:first-child, .yw-gf-ai-rows .yw-row-stat:first-child, .yw-gf-google-row) { border-color: #1c2843; }
[data-theme-root].dark .yw-get-found-page .yw-gf-rank-hero .yw-hero-pill[data-pace="behind"] { color: #e69ac4; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-google-name) { color: #f3eef8; }
[data-theme-root].dark .yw-get-found-page :is(.yw-gf-google-detail, .yw-gf-unmeasured) { color: #a297ab; }
[data-theme-root].dark .yw-get-found-page .yw-gf-staff-card { border-color: #273656; }
[data-theme-root].dark .yw-get-found-page .yw-gf-staff-title { color: #d9d2e3; }
[data-theme-root].dark .yw-get-found-page .yw-needs-row-dismiss button:hover { background: #142036; color: #f3eef8; }
@media (hover: hover) {
  [data-theme-root].dark .yw-gf-needs .yw-needs-card:hover { border-color: #55505d; box-shadow: 0 8px 22px rgba(0, 0, 0, .18); }
}

/* A part's score reads as a score: the "/100" is quiet beside the ink value. */
.yw-get-found-page .yw-gf-part-of { margin-left: 1px; color: #929097; font-size: 11px; font-weight: 400; }
[data-theme-root].dark .yw-get-found-page .yw-gf-part-of { color: #a297ab; }
/* A readiness score (ai-search-tab.tsx ScoreBadge): ink in a quiet round mark. */
.yw-gf-score-mark { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 50%; background: #eee7f8; color: #202024; font-weight: 500; }
[data-theme-root].dark .yw-get-found-page .yw-gf-score-mark { background: #3d3150; color: #f3eef8; }

/* The title's "Opening To-do" while a section switch renders (the section
   menu sets it on click; it clears when the new section arrives). */
.yw-get-found-section-menu .yw-dashboard-title { position: relative; }
.yw-gf-title-pending { position: absolute; top: 50%; left: 100%; display: inline-flex; margin-left: 12px; transform: translateY(-50%); }
.yw-gf-title-spinner { width: 13px; height: 13px; border: 2px solid #e4dbef; border-top-color: #7c3aed; border-radius: 50%; animation: yw-gf-spin .7s linear infinite; }
@keyframes yw-gf-spin { to { transform: rotate(360deg); } }
[data-theme-root].dark .yw-gf-title-pending { color: #c5a8ff; }
[data-theme-root].dark .yw-gf-title-spinner { border-color: #1c2843; border-top-color: #b187ff; }
@media (prefers-reduced-motion: reduce) { .yw-gf-title-spinner { animation-duration: 2.4s; } }

/* ---- The Get Found banner (10/02, owner: "a banner that shows the get found
   score along the screen instead of 3 different containers, with a
   translucent background with these images"). One full-width card: the
   score and its weeks | the parts holding it back | the next fix, laid over
   the landscape art behind a translucent wash that is densest under the
   numbers and thins toward the art. */
.yw-get-found-page .yw-gf-overview > .yw-gf-banner { grid-column: 1 / -1; }
.yw-gf-banner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: stretch; min-height: 318px; overflow: hidden; border: 1px solid #e2e1e4; border-radius: 24px; background: #fbfbfb; isolation: isolate; }
.yw-gf-banner[data-fix] { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, .95fr); }
/* The lake hotel (10/02): drawn behind the Next fix side only, so the
   1672px art is shown at well under half size and stays sharp on a 2x
   screen, the score parts keep a clean ground, and it is
   faded in from the left by a mask instead of blurred under a white wash. */
.yw-gf-banner-art { position: absolute; inset: 0 0 0 46%; z-index: -2; background-position: center 74%; background-repeat: no-repeat; background-size: cover; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%); mask-image: linear-gradient(90deg, transparent 0, #000 30%); }
.yw-gf-banner-art[data-art="lake"] { background-image: url("/dashboard-landscapes/lake-hotel-day.webp"); }
.yw-gf-banner::before { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(251, 251, 251, .94) 30%, rgba(251, 251, 251, .85) 50%, rgba(251, 251, 251, .78) 69%, rgba(251, 251, 251, .6) 100%); }
.yw-gf-banner > :is(.yw-gf-banner-score, .yw-gf-banner-parts, .yw-gf-banner-fix) { display: flex; flex-direction: column; min-width: 0; padding: 23px 26px; }
.yw-gf-banner > .yw-gf-banner-parts { border-left: 1px solid rgba(124, 58, 237, .1); }
.yw-gf-banner-score .yw-card-head { margin-bottom: 4px; }
.yw-gf-banner-score .yw-hero-value { margin: 14px 0 8px; }
.yw-gf-banner-score .yw-hero-status { margin-bottom: 16px; }
.yw-gf-banner-score .yw-track { max-width: 360px; }
.yw-gf-banner-weeks { margin-top: auto; padding-top: 18px; max-width: 360px; }
/* "Weekly score": the caption is the hover with the dates and each week's
   score (10/02); no date labels under the bars. */
.yw-gf-banner-weeks .yw-gf-rows-caption { margin: 0 0 8px; padding-top: 0; }
/* Weekly score bars (score-week-bars.tsx, 10/02): violet up or level, pink
   down, grey when the week counted different parts than the one before, solid
   violet this week. The hovered or focused bar stays lit and the rest dim; its
   card is the info panel's frosted surface (.hw-info-panel in base.css). The
   card hangs from the row's start, not the bar, so it never runs past the
   banner's clipped edge (owner, 10/02: "the view is obstructed"). */
.yw-gf-week-bars { position: relative; display: flex; align-items: flex-end; gap: 5px; height: 52px; }
.yw-gf-week { display: flex; flex: 1 1 0; align-items: flex-end; min-width: 8px; max-width: 24px; height: 100%; outline: none; cursor: default; transition: opacity .16s; }
.yw-gf-week-fill { display: block; width: 100%; border-radius: 4px 4px 2px 2px; background: repeating-linear-gradient(125deg, #a369eb 0 2px, #e5d0f8 2px 4px); transform-origin: bottom; animation: yw-gf-week-in .55s cubic-bezier(.2, .8, .2, 1) both; }
.yw-gf-week[data-tone="fall"] .yw-gf-week-fill { background: repeating-linear-gradient(125deg, #d65e9e 0 2px, #f9dce9 2px 4px); }
.yw-gf-week[data-tone="changed"] .yw-gf-week-fill { background: repeating-linear-gradient(125deg, #a5a0ab 0 2px, #e5e2e9 2px 4px); }
.yw-gf-week[data-current] .yw-gf-week-fill { background: #7c3aed; }
.yw-gf-week-bars[data-hovering] .yw-gf-week:not([data-active]) { opacity: .38; }
.yw-gf-week:focus-visible .yw-gf-week-fill { outline: 2px solid #b993ff; outline-offset: 2px; }
@keyframes yw-gf-week-in { from { transform: scaleY(0); } to { transform: none; } }
.yw-gf-week-tip { position: absolute; bottom: calc(100% + 10px); left: 0; z-index: 30; display: flex; flex-direction: column; gap: 3px; width: max-content; min-width: 170px; max-width: min(300px, 100%); padding: 11px 13px 12px; border: 1px solid rgba(229, 221, 234, .85); border-radius: 14px; background: rgba(253, 252, 254, .86); color: #5f5568; font-size: 11.5px; line-height: 1.4; letter-spacing: -.2px; text-align: left; white-space: normal; box-shadow: 0 15px 45px #3a214421, 0 3px 9px #3a214409; -webkit-backdrop-filter: saturate(140%) blur(18px); backdrop-filter: saturate(140%) blur(18px); pointer-events: none; animation: yw-gf-tip-in .18s cubic-bezier(.16, 1, .3, 1) both; }
.yw-gf-week-tip-head { color: #8f8996; font-size: 11px; }
.yw-gf-week-tip-score { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; margin-bottom: 3px; }
.yw-gf-week-tip-score .num { color: #202024; font-size: 22px; font-weight: 500; letter-spacing: -.6px; line-height: 1.1; }
.yw-gf-week-tip-change { font-size: 11px; font-weight: 500; }
.yw-gf-week-tip-change[data-tone="good"] { color: #279876; }
.yw-gf-week-tip-change[data-tone="bad"] { color: #c85f84; }
.yw-gf-week-tip-change[data-tone="quiet"] { color: #8f8996; font-weight: 400; }
@keyframes yw-gf-tip-in { from { opacity: 0; translate: 0 5px; } to { opacity: 1; translate: 0 0; } }
.yw-gf-week-key li { display: flex; align-items: center; gap: 8px; }
.yw-gf-week-key i { width: 10px; height: 10px; flex-shrink: 0; border-radius: 3px; background: repeating-linear-gradient(125deg, #a369eb 0 2px, #e5d0f8 2px 4px); }
.yw-gf-week-key i[data-tone="fall"] { background: repeating-linear-gradient(125deg, #d65e9e 0 2px, #f9dce9 2px 4px); }
.yw-gf-week-key i[data-tone="changed"] { background: repeating-linear-gradient(125deg, #a5a0ab 0 2px, #e5e2e9 2px 4px); }
.yw-gf-week-key i[data-tone="current"] { background: #7c3aed; }
@media (prefers-reduced-motion: reduce) { .yw-gf-week-fill, .yw-gf-week-tip { animation: none; } }
.yw-gf-banner-parts .yw-gf-rows-caption { margin: 0 0 6px; }
.yw-gf-banner-parts ul { margin: 0; padding: 0; list-style: none; }
.yw-gf-banner-parts li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 12px; padding: 11px 0 10px; border-top: 1px solid rgba(124, 58, 237, .1); }
.yw-gf-banner-parts li:first-child { border-top: 0; }
.yw-gf-banner-part-name { color: #554b60; font-size: 13px; }
.yw-gf-banner-parts li > strong { color: #202024; font-size: 16px; font-weight: 500; }
.yw-gf-banner-part-track { grid-column: 1 / -1; display: block; height: 4px; overflow: hidden; border-radius: 4px; background: rgba(124, 58, 237, .1); }
.yw-gf-banner-part-track > span { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(125deg, #9161df 0 2px, #dcccfa 2px 4px); animation: yw-scale-in 1s cubic-bezier(.2, .8, .2, 1) backwards; transform-origin: left; }
.yw-gf-banner-fix { color: #3b2560; }
.yw-gf-banner-fix .yw-insight-tag { align-self: flex-start; }
.yw-gf-banner-fix-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 22px 0 6px; color: #2f1c4f; font-size: clamp(38px, 3.4vw, 48px); font-weight: 500; letter-spacing: -.05em; line-height: 1.1; }
.yw-gf-banner-fix-value > span { color: #5d4580; font-size: 13px; font-weight: 400; letter-spacing: -.2px; }
.yw-gf-banner-fix h3 { margin: 0; color: #2f1c4f; font-size: 21px; font-weight: 500; letter-spacing: -.7px; line-height: 1.22; }
/* The headline is the hover holding the detail sentence (10/02). */
.yw-gf-banner-fix h3 .hw-info-label { text-align: left; }
.yw-gf-banner-fix .yw-insight-link { align-self: flex-start; margin-top: auto; }
[data-theme-root].dark .yw-gf-banner { border-color: #1c2843; background: #0d1527; }
[data-theme-root].dark .yw-gf-banner-art[data-art="lake"] { background-image: url("/dashboard-landscapes/lake-hotel-night.webp"); }
[data-theme-root].dark .yw-gf-banner::before { background: linear-gradient(90deg, rgba(13, 21, 39, .94) 30%, rgba(13, 21, 39, .86) 50%, rgba(13, 21, 39, .8) 69%, rgba(13, 21, 39, .64) 100%); }
[data-theme-root].dark .yw-gf-banner > .yw-gf-banner-parts, [data-theme-root].dark .yw-gf-banner-parts li { border-color: rgba(197, 168, 255, .14); }
[data-theme-root].dark .yw-gf-banner-part-name { color: #c3b9cc; }
[data-theme-root].dark .yw-gf-banner-parts li > strong { color: #f3eef8; }
[data-theme-root].dark .yw-gf-banner-part-track { background: rgba(197, 168, 255, .14); }
[data-theme-root].dark :is(.yw-gf-week-fill, .yw-gf-week-key i) { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark :is(.yw-gf-week[data-tone="fall"] .yw-gf-week-fill, .yw-gf-week-key i[data-tone="fall"]) { background: repeating-linear-gradient(125deg, #e07ab5 0 2px, #4d3345 2px 4px); }
[data-theme-root].dark :is(.yw-gf-week[data-tone="changed"] .yw-gf-week-fill, .yw-gf-week-key i[data-tone="changed"]) { background: repeating-linear-gradient(125deg, #a8a1b0 0 2px, #202d4a 2px 4px); }
[data-theme-root].dark :is(.yw-gf-week[data-current] .yw-gf-week-fill, .yw-gf-week-key i[data-tone="current"]) { background: #a883ee; }
[data-theme-root].dark .yw-gf-week-tip { border-color: rgba(28, 40, 67, .9); background: rgba(13, 21, 39, .86); color: #c8c6d0; box-shadow: 0 15px 45px #00000066, 0 3px 9px #00000033; }
[data-theme-root].dark .yw-gf-week-tip-head, [data-theme-root].dark .yw-gf-week-tip-change[data-tone="quiet"] { color: #a297ab; }
[data-theme-root].dark .yw-gf-week-tip-score .num { color: #f4f1f7; }
[data-theme-root].dark .yw-gf-week-tip-change[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark .yw-gf-week-tip-change[data-tone="bad"] { color: #e889ad; }
[data-theme-root].dark :is(.yw-gf-banner-fix, .yw-gf-banner-fix h3, .yw-gf-banner-fix-value) { color: #f3eef8; }
[data-theme-root].dark .yw-gf-banner-fix-value > span { color: #c9b8e6; }
@media (max-width: 1100px) {
  .yw-gf-banner, .yw-gf-banner[data-fix] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .yw-gf-banner > .yw-gf-banner-fix { grid-column: 1 / -1; border-top: 1px solid rgba(124, 58, 237, .1); }
}
@media (max-width: 800px) {
  .yw-gf-banner, .yw-gf-banner[data-fix] { grid-template-columns: minmax(0, 1fr); }
  .yw-gf-banner > .yw-gf-banner-parts { border-left: 0; border-top: 1px solid rgba(124, 58, 237, .1); }
}
@media (prefers-reduced-motion: reduce) { .yw-gf-banner-part-track > span { animation: none; } }


/* ---- Rankings: summary strip and board (10/02) --------------------------
   The strip counts where you are found, in the Dashboard's hero and hatched
   track; the board is every search on the left (place, move, eight-week
   strip) beside the one you pick, as the guest sees it, on the right. */
.yw-rk-summary { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr)); align-items: end; gap: 0; }
.yw-rk-summary > * { min-width: 0; }
.yw-rk-summary > .yw-rk-engine { padding: 0 0 6px 28px; margin-left: 28px; border-left: 1px solid #ecebef; }
.yw-rk-label { margin: 0; color: #6f6975; font-size: 13px; letter-spacing: -.2px; }
.yw-rk-found .yw-hero-value { display: flex; align-items: baseline; gap: 10px; margin: 10px 0 8px; }
.yw-rk-found .yw-hero-status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; }
.yw-rk-quiet { color: #8f8996; font-size: 12px; }
.yw-rk-engine-value { display: flex; align-items: baseline; gap: 8px; margin: 8px 0 12px; color: #202024; font-size: 27px; font-weight: 500; letter-spacing: -.04em; line-height: 1.1; }
.yw-rk-track { height: 9px; }
.yw-rk-empty .yw-gf-state { margin-top: 18px; }

.yw-rb { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 0; padding: 0; overflow: visible; }
.yw-rb-list { min-width: 0; padding: 23px 20px 18px 23px; }
.yw-rb-detail { min-width: 0; padding: 23px 23px 20px 26px; border-left: 1px solid #ecebef; animation: yw-rb-in .28s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes yw-rb-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.yw-rb-rows { margin-top: 10px; }
.yw-rb-group-label { margin: 14px 12px 4px; color: #8f8996; font-size: 11.5px; }
.yw-rb-group:first-child .yw-rb-group-label { margin-top: 4px; }
.yw-rb-row { display: grid; grid-template-columns: minmax(0, 1fr) 118px 58px auto; align-items: center; gap: 10px; width: 100%; min-height: 46px; padding: 0 12px; border-radius: 12px; color: #202024; font-size: 13.5px; text-align: left; transition: background .15s; }
.yw-rb-row:hover { background: #f4f2f6; }
.yw-rb-row[aria-selected="true"] { background: #f1ebfb; }
.yw-rb-row[aria-selected="true"] .yw-rb-title { color: #4c2a85; font-weight: 500; }
.yw-rb-row:focus-visible { outline: 2px solid #b993ff; outline-offset: 1px; }
.yw-rb-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yw-rb-value { font-weight: 500; white-space: nowrap; }
.yw-rb-row:is([data-state="out"], [data-state="failed"]) .yw-rb-value { color: #8f8996; font-weight: 400; }
.yw-rb-move { color: #8f8996; font-size: 12px; white-space: nowrap; }
.yw-rb-move[data-direction="up"] { color: #279876; }
.yw-rb-move[data-direction="down"] { color: #c85f84; }
.yw-rb-strip { display: inline-flex; gap: 3px; }
.yw-rb-strip i, .yw-rb-key i { display: block; width: 8px; height: 18px; border-radius: 3px; background: #e9e6ee; }
.yw-rb-key i { width: 10px; height: 10px; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="top"] { background: #7c3aed; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="high"] { background: #a78bfa; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="mid"] { background: #d9c8fb; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="low"] { background: #ede6fb; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="out"] { background: #e9e6ee; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="failed"] { background: transparent; box-shadow: inset 0 0 0 1px #b4aebb; border: 0; outline: 1px dashed #b4aebb; outline-offset: -1px; }
:is(.yw-rb-strip, .yw-rb-key) i[data-band="none"] { background: transparent; box-shadow: inset 0 0 0 1px #e1dee6; }
.yw-rb-key li { display: flex; align-items: center; gap: 8px; }
.yw-rb-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.yw-rb-eyebrow { margin: 0 0 3px; color: #8f8996; font-size: 12px; }
.yw-rb-detail-title { margin: 0; color: #202024; font-size: 19px; font-weight: 500; letter-spacing: -.4px; line-height: 1.3; }
.yw-rb-detail .yw-hero-value { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 8px; font-size: clamp(34px, 3vw, 44px); }
.yw-rb-detail .yw-gf-guest-list { margin-top: 4px; padding-top: 12px; }
.yw-rb-detail > .yw-gf-state { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; }
@media (max-width: 1100px) {
  .yw-rb { grid-template-columns: minmax(0, 1fr); }
  .yw-rb-detail { border-top: 1px solid #ecebef; border-left: 0; }
  .yw-rk-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 20px; }
  .yw-rk-found { grid-column: 1 / -1; }
  .yw-rk-summary > .yw-rk-engine:nth-child(2) { margin-left: 0; padding-left: 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .yw-rb-detail { animation: none; } }
[data-theme-root].dark :is(.yw-rk-summary > .yw-rk-engine, .yw-rb-detail) { border-color: #1c2843; }
[data-theme-root].dark :is(.yw-rk-label, .yw-rk-quiet, .yw-rb-group-label, .yw-rb-eyebrow, .yw-rb-move) { color: #a297ab; }
[data-theme-root].dark :is(.yw-rk-engine-value, .yw-rb-row, .yw-rb-detail-title) { color: #f3eef8; }
[data-theme-root].dark .yw-rb-row:hover { background: #131e34; }
[data-theme-root].dark .yw-rb-row[aria-selected="true"] { background: #3a3046; }
[data-theme-root].dark .yw-rb-row[aria-selected="true"] .yw-rb-title { color: #e4d6ff; }
[data-theme-root].dark .yw-rb-row:is([data-state="out"], [data-state="failed"]) .yw-rb-value { color: #a297ab; }
[data-theme-root].dark .yw-rb-move[data-direction="up"] { color: #7fd3b4; }
[data-theme-root].dark .yw-rb-move[data-direction="down"] { color: #e889ad; }
[data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i, [data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i[data-band="out"] { background: #17243d; }
[data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i[data-band="top"] { background: #a883ee; }
[data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i[data-band="high"] { background: #7c5cc4; }
[data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i[data-band="mid"] { background: #5b4785; }
[data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i[data-band="low"] { background: #4a3a63; }
[data-theme-root].dark :is(.yw-rb-strip, .yw-rb-key) i:is([data-band="failed"], [data-band="none"]) { background: transparent; box-shadow: inset 0 0 0 1px #52525c; outline-color: #6b6573; }

/* ---- Rankings: rank by week (rank-weeks.tsx, 10/02) ---------------------
   The Dashboard's month columns (skin/overview.css .yw-month-*), as they are,
   with what a week of rank needs: the newest week solid violet, a week you
   were out of the list a grey stub, a failed check a dashed outline, and the
   move in the detail row coloured on its words. */
.yw-rank-weeks .yw-month-plot { grid-template-columns: 34px minmax(0, 1fr); }
.yw-rank-weeks .yw-month-axis { padding-right: 6px; }
.yw-rank-weeks .yw-month-column { border: 0; background: none; font: inherit; cursor: pointer; }
.yw-rank-weeks .yw-month-column:is(:hover, :focus-visible, [data-active="true"]) { background: #f4eefb; }
[data-theme-root] .yw-rank-weeks .yw-month-column[data-plan-state="now"] .yw-month-bar-fill { background: #7c3aed; }
.yw-rank-weeks .yw-month-column:is([data-kind="out"], [data-kind="failed"], [data-kind="none"]) .yw-month-column-value { color: #8f8996; font-weight: 400; }
.yw-rank-week-failed { position: absolute; bottom: 0; left: 50%; width: min(43%, 36px); height: 22px; border: 1px dashed #b4aebb; border-bottom: 0; border-radius: 3px 3px 0 0; transform: translateX(-50%); }
.yw-rank-weeks .yw-month-detail { margin-top: 2px; }
.yw-rank-week-move[data-direction="up"] { color: #279876; }
.yw-rank-week-move[data-direction="down"] { color: #c85f84; }
[data-theme-root].dark .yw-rank-weeks .yw-month-column:is(:hover, :focus-visible, [data-active="true"]) { background: #30263a; }
[data-theme-root].dark .yw-rank-weeks .yw-month-column[data-plan-state="now"] .yw-month-bar-fill { background: #a883ee; }
[data-theme-root].dark .yw-rank-week-failed { border-color: #6b6573; }
[data-theme-root].dark .yw-rank-week-move[data-direction="up"] { color: #7fd3b4; }
[data-theme-root].dark .yw-rank-week-move[data-direction="down"] { color: #e889ad; }

/* Rankings summary: the dot theme (10/02). The desert pool sits behind the
   two Google lists, shown well under its 1672px size so it stays sharp,
   masked in from the left; a light wash keeps the numbers readable. */
.yw-rk-summary { position: relative; overflow: hidden; isolation: isolate; }
.yw-rk-summary::before { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(251, 251, 251, .97) 34%, rgba(251, 251, 251, .87) 56%, rgba(251, 251, 251, .79) 78%, rgba(251, 251, 251, .66) 100%); }
.yw-rk-art { position: absolute; inset: 0 0 0 36%; z-index: -2; background: url("/dashboard-landscapes/desert-pool-day.webp") center 72% / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 36%); mask-image: linear-gradient(90deg, transparent 0, #000 36%); }
[data-theme-root].dark .yw-rk-art { background-image: url("/dashboard-landscapes/desert-pool-night.webp"); }
[data-theme-root].dark .yw-rk-summary::before { background: linear-gradient(90deg, rgba(13, 21, 39, .97) 34%, rgba(13, 21, 39, .86) 56%, rgba(13, 21, 39, .76) 78%, rgba(13, 21, 39, .62) 100%); }
.yw-rk-summary > .yw-rk-engine { border-left-color: rgba(124, 58, 237, .12); }

/* Rank by week, full width under the board's two columns (10/02, owner:
   "what is this wasted space"), so the list and the guest view end level. */
.yw-rb-weeks { grid-column: 1 / -1; min-width: 0; padding: 18px 23px 20px; border-top: 1px solid #ecebef; animation: yw-rb-in .28s cubic-bezier(.16, 1, .3, 1) both; }
.yw-rb-weeks-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 6px; }
.yw-rb-weeks-search { color: #8f8996; font-size: 12.5px; }
.yw-rb-weeks .yw-month-column { height: 190px; }
.yw-rb-weeks .yw-month-column-rail { height: 140px; }
.yw-rb-weeks .yw-month-axis { height: 163px; }
@media (prefers-reduced-motion: reduce) { .yw-rb-weeks { animation: none; } }
[data-theme-root].dark .yw-rb-weeks { border-top-color: #1c2843; }
[data-theme-root].dark .yw-rb-weeks-search { color: #a297ab; }


/* ---- To-do (todo-tab.tsx, 10/02 redesign) -------------------------------
   The Dashboard's pieces: the hero card reads what is open like Booked this
   month reads a month (hero number, pill, one hatched bar split by who fixes
   it, row stats), and each group is the Needs you card (round mark, title,
   one grey line, the action on the right). Buttons and fields are the
   dashboard's: a violet 36px button, a quiet grey one, filled grey inputs. */
.yw-gf-todo { display: flex; flex-direction: column; gap: 16px; }
.yw-gf-todo-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 16px; align-items: stretch; }
/* 10/07 (owner: "the containers are wrong and the ones that need it dont
   have integrated scroller also the font is too small in some places and
   hard to understand"). The left column stacks the hero, the empty groups,
   Fixed this month and the listings, each at its own height. The right
   column's longest group takes what is left of the row and its list scrolls
   inside the card (contain: size keeps the list from setting the row
   height), so the columns end level with no empty floor. */
.yw-gf-todo-side, .yw-gf-todo-main { display: flex; min-width: 0; flex-direction: column; gap: 16px; }
.yw-gf-todo-top > * { min-width: 0; margin: 0; }
.yw-gf-todo-side > *, .yw-gf-todo-main > * { flex: 0 0 auto; margin: 0; }
.yw-gf-todo .yw-needs-card { min-height: 0; }
.yw-gf-todo .yw-needs-list { flex: 0 0 auto; }
.yw-gf-todo :is(.yw-gf-todo-side, .yw-gf-todo-main) > .yw-needs-card { flex: 0 0 auto; }
.yw-gf-todo .yw-gf-todo-main > .yw-needs-card[data-fill] { flex: 1 1 auto; }
.yw-gf-todo-main > [data-fill] > .yw-gf-task-list { contain: size; flex: 1 1 0; min-height: 360px; }
.yw-gf-todo :is(.yw-gf-task-list, .yw-gf-todo-group > .yw-needs-list) { overflow-y: auto; overscroll-behavior: contain; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-gf-todo-main > :not([data-fill]) > .yw-gf-task-list, .yw-gf-todo-side .yw-needs-list { max-height: 340px; }
.yw-gf-todo-summary { position: relative; display: flex; flex-direction: column; overflow: hidden; isolation: isolate; }
/* 10/07 (owner: "this card also needs a dot image"): the dotted desert resort
   (halftone-scene.tsx) in the top right corner, fading out to the left and
   down so the title, the count and the bar stay on clean paper. Dark mode
   inverts it back to violet dots on the card, as the P&L's Month close card. */
.yw-gf-todo-art { position: absolute; top: 0; right: 0; z-index: -1; width: 62%; height: 192px; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 46%), linear-gradient(180deg, #000 40%, transparent 86%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0, #000 46%), linear-gradient(180deg, #000 40%, transparent 86%); mask-composite: intersect; animation: yw-gf-todo-art-in .9s cubic-bezier(.2, .7, .2, 1) both; }
.yw-gf-todo-art > canvas { display: block; width: 100%; height: 100%; mix-blend-mode: multiply; }
@keyframes yw-gf-todo-art-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .yw-gf-todo-art { animation: none; } }
.yw-gf-todo-summary .yw-hero-value { display: flex; align-items: baseline; gap: 10px; }
.yw-gf-todo-summary .yw-hero-status { margin: 0; }
.yw-gf-todo-summary .yw-gf-note { margin: 12px 0 0; }
.yw-gf-todo-split { display: flex; gap: 3px; height: 11px; margin: 18px 0 4px; overflow: hidden; border-radius: 20px; background: #eeedf1; }
.yw-gf-todo-split > span { min-width: 10px; flex-basis: 0; }
.yw-gf-todo-split > [data-actor="wizard"], .yw-gf-todo-counts [data-actor="wizard"] i { background: repeating-linear-gradient(125deg, #9161df 0 2px, #dcccfa 2px 4px); }
.yw-gf-todo-split > [data-actor="wizard_asks"], .yw-gf-todo-counts [data-actor="wizard_asks"] i { background: repeating-linear-gradient(125deg, #d65e9e 0 2px, #f9dce9 2px 4px); }
.yw-gf-todo-split > [data-actor="team"], .yw-gf-todo-counts [data-actor="team"] i { background: repeating-linear-gradient(125deg, #b98234 0 2px, #f6e7cc 2px 4px); }
.yw-gf-todo-counts { margin: 6px 0 0; padding-top: 10px; }
.yw-gf-todo-counts .yw-row-stat dt { font-size: 13px; }
.yw-gf-todo-counts .yw-row-stat dd { font-size: 15px; }
.yw-gf-todo-counts .yw-row-stat dt { display: inline-flex; align-items: center; gap: 8px; }
.yw-gf-todo-counts i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.yw-gf-todo-group .yw-needs-card-head { align-items: center; padding-right: 0; }
.yw-gf-todo-group .yw-needs-card-head h2 .hw-info-label { font-weight: 500; }
.yw-gf-group-count { display: grid; min-width: 28px; height: 28px; padding: 0 9px; place-items: center; border-radius: 14px; background: #f1edf6; color: #6f5a8f; font-size: 13px; font-weight: 500; }
.yw-gf-todo-group[data-actor="wizard_asks"] .yw-gf-group-count { background: #fbe9f1; color: #b4567f; }
.yw-gf-todo .yw-gf-empty { margin: 4px 0 0; color: #929097; font-size: 13px; }
.yw-gf-todo .yw-needs-row { flex-direction: column; align-items: stretch; min-height: 68px; flex: 0 0 auto; }
.yw-gf-todo .yw-needs-row-link { padding: 13px 3px; }
.yw-gf-todo .yw-needs-row-copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 3px; }
.yw-gf-todo .yw-needs-row-title { font-size: 14px; white-space: nowrap; }
.yw-gf-todo .yw-needs-row-title .hw-info-label { max-width: 100%; overflow: hidden; font-weight: 500; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-todo .yw-needs-row-detail { color: #77717c; font-size: 13px; white-space: nowrap; }
/* A task's fix reads as a sentence: up to two lines, the whole fix in the title's hover. */
.yw-gf-todo .yw-gf-task .yw-needs-row-detail { display: -webkit-box; overflow: hidden; line-height: 1.45; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.yw-gf-mark-done { background: #e3f4ec; color: #2f8a6d; }
.yw-gf-task-status { flex-shrink: 0; color: #77717c; font-size: 13px; white-space: nowrap; }
.yw-gf-task-open { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 50%; color: #aaa4ad; transition: background .15s, color .15s; }
.yw-gf-task-open:hover { background: #f1ebfb; color: #7c3aed; }
.yw-gf-task-open svg { width: 15px; height: 15px; }
.yw-gf-task-finding { margin: 0 0 10px 47px; padding: 10px 12px; border-radius: 12px; background: #f4f3f6; color: #343039; font-size: 13px; line-height: 1.5; }
.yw-gf-row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -2px 0 12px 47px; }
.yw-gf-row-note { margin: 0; color: #77717c; font-size: 13px; }
.yw-gf-row-actions .yw-gf-row-note { width: 100%; }

.yw-gf-todo :is(button, a)[class~="bg-violet-600"] { display: inline-flex; align-items: center; height: 36px; padding: 0 15px; border-radius: 12px; font-size: 13px; font-weight: 500; letter-spacing: -.1px; }
.yw-gf-todo button[class~="border-zinc-300"], .yw-gf-todo .yw-gf-handoff-copy button { display: inline-flex; align-items: center; height: 34px; padding: 0 13px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 13px; font-weight: 500; }
.yw-gf-todo button[class~="border-zinc-300"]:hover, .yw-gf-todo .yw-gf-handoff-copy button:hover { background: #e8e4ed; }
.yw-gf-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.yw-gf-field > span { color: #77717c; font-size: 13px; }
.yw-gf-input { display: block; width: 100%; height: 38px; padding: 0 12px; border: 1px solid transparent; border-radius: 12px; background: #f1f0f3; color: #202024; font-size: 13px; outline: none; transition: border-color .15s, background .15s; }
.yw-gf-input:focus { border-color: #b993ff; background: #fbfbfb; }
.yw-gf-input::placeholder { color: #aaa4b0; }

.yw-gf-handoff { margin-top: 14px; padding: 18px 0 0; border-top: 1px solid #eae8ec; border-radius: 0; background: none; }
.yw-gf-handoff-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.yw-gf-handoff-title { margin: 0; color: #202024; font-size: 14px; font-weight: 500; }
.yw-gf-handoff-body { margin-top: 10px; }
.yw-gf-handoff-actions { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; margin-top: 10px; }
.yw-gf-handoff-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 12px; }
.yw-gf-handoff-msg { grid-column: 1 / -1; }
.yw-gf-handoff-msg:empty { display: none; }
.yw-gf-handoff-copy { display: flex; margin-top: 12px; }

.yw-gf-listing-list { margin: 8px 0 0; padding: 0; list-style: none; }
.yw-gf-listing { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; border-bottom: 1px solid #eae8ec; }
.yw-gf-listing-name { display: flex; min-width: 0; align-items: baseline; gap: 8px; overflow: hidden; color: #343039; font-size: 13px; white-space: nowrap; }
.yw-gf-listing-name b { color: #202024; font-weight: 500; }
.yw-gf-listing-name .yw-text-link { overflow: hidden; text-overflow: ellipsis; }
.yw-gf-listing-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 14px; }
/* In the narrow left column the two fields stack, Add under them. */
.yw-gf-todo-side .yw-gf-listing-form { grid-template-columns: minmax(0, 1fr); }
.yw-gf-todo-side .yw-gf-listing-form > button { justify-self: start; }

@media (max-width: 1100px) {
  .yw-gf-todo-top { grid-template-columns: minmax(0, 1fr); }

  .yw-gf-handoff-form, .yw-gf-listing-form { grid-template-columns: minmax(0, 1fr); }
}
[data-theme-root].dark .yw-gf-todo-split { background: #142036; }
/* 10/07: the group cards take the dark card (they sit outside the Dashboard's .yw-needs row, so its dark rule never reached them), and Send to my team stays a hairline section, no inset box. */
[data-theme-root].dark .yw-get-found-page .yw-gf-todo .yw-needs-card { border-color: #1c2843; background: #0d1527; }
[data-theme-root].dark .yw-get-found-page .yw-gf-todo .yw-gf-handoff { border-color: #1c2843; background: none; }
[data-theme-root].dark .yw-gf-todo-art > canvas { filter: invert(1) hue-rotate(180deg); mix-blend-mode: screen; opacity: .55; }
[data-theme-root].dark .yw-gf-todo :is(.yw-gf-task-list, .yw-gf-todo-group > .yw-needs-list) { scrollbar-color: #273656 transparent; }
[data-theme-root].dark .yw-gf-todo .yw-needs-row-detail { color: #a297ab; }
[data-theme-root].dark .yw-gf-group-count { background: #3a3046; color: #d8c8f2; }
[data-theme-root].dark .yw-gf-todo-group[data-actor="wizard_asks"] .yw-gf-group-count { background: #4d3345; color: #f0b8d2; }
[data-theme-root].dark .yw-gf-mark-done { background: #1f3a31; color: #7fd3b4; }
[data-theme-root].dark :is(.yw-gf-task-status, .yw-gf-row-note, .yw-gf-field > span, .yw-gf-todo .yw-gf-empty) { color: #a297ab; }
[data-theme-root].dark .yw-gf-task-finding { background: #142036; color: #d9d2e3; }
[data-theme-root].dark .yw-gf-task-open:hover { background: #3a3046; color: #c5a8ff; }
[data-theme-root].dark :is(.yw-gf-todo button[class~="border-zinc-300"], .yw-gf-todo .yw-gf-handoff-copy button) { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-gf-input { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-gf-input:focus { background: #0d1527; }
[data-theme-root].dark :is(.yw-gf-handoff, .yw-gf-listing) { border-color: #1c2843; background: none; }
[data-theme-root].dark :is(.yw-gf-handoff-title, .yw-gf-listing-name b) { color: #f3eef8; }
[data-theme-root].dark .yw-gf-listing-name { color: #d9d2e3; }
.yw-rank-week-hotel strong { display: inline-block; max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* Rankings board, one size up (10/02, owner: "we can increase font size a
   bit"): rows 14.5px like the Dashboard's row stats, the labels and columns
   off the 10 to 11px floor. */
.yw-rb-row { min-height: 48px; font-size: 14.5px; letter-spacing: -.25px; }
.yw-rb-group-label { font-size: 12px; }
.yw-rb-move { font-size: 13px; }
.yw-rb-eyebrow { font-size: 12.5px; }
.yw-rb-detail .yw-hero-pill { font-size: 12px; }
.yw-rb-detail .yw-gf-guest-row { min-height: 46px; font-size: 14px; }
.yw-rb-detail .yw-gf-guest-row[data-kind="head"] { min-height: 30px; font-size: 11.5px; }
.yw-rb-detail .yw-gf-guest-name { font-size: 14px; }
.yw-rk-label { font-size: 13.5px; }

/* The board's last weeks as tiny bars (10/02, owner: "a customer is not going
   to understand what they are for"): the Rank by week chart in miniature,
   taller is higher on Google, the newest week solid, a week out of the list a
   flat grey bar, a failed check a dashed one, a week with no check a hairline.
   One header row names the columns. */
.yw-rb-row, .yw-rb-cols { grid-template-columns: minmax(0, 1fr) 112px 64px 78px; }
.yw-rb-cols { display: grid; align-items: end; gap: 10px; margin: 12px 0 0; padding: 0 12px 6px; border-bottom: 1px solid #ecebef; color: #929097; font-size: 11.5px; }
.yw-rb-cols > span:last-child { text-align: right; }
.yw-rb-strip { justify-self: end; align-items: flex-end; gap: 3px; height: 24px; padding-bottom: 1px; border-bottom: 1px solid #e3dfe8; }
.yw-rb-strip i { width: 6px; height: 2px; border-radius: 2px 2px 0 0; background: #e3dfe8; box-shadow: none; outline: 0; }
.yw-rb-strip i:is([data-band="top"], [data-band="high"], [data-band="mid"], [data-band="low"]) { min-height: 3px; background: repeating-linear-gradient(125deg, #8a45f0 0 1.5px, #d4b6fb 1.5px 3px); }
.yw-rb-strip i[data-current]:is([data-band="top"], [data-band="high"], [data-band="mid"], [data-band="low"]) { background: #7c3aed; }
.yw-rb-strip i[data-band="out"] { height: 4px; background: #c9c4cf; }
.yw-rb-strip i[data-band="failed"] { height: 10px; background: transparent; outline: 1px dashed #b4aebb; outline-offset: -1px; }
[data-theme-root].dark .yw-rb-cols { border-bottom-color: #1c2843; color: #a297ab; }
[data-theme-root].dark .yw-rb-strip { border-bottom-color: #1c2843; }
[data-theme-root].dark .yw-rb-strip i, [data-theme-root].dark .yw-rb-strip i[data-band="none"] { background: #1c2843; box-shadow: none; }
[data-theme-root].dark .yw-rb-strip i:is([data-band="top"], [data-band="high"], [data-band="mid"], [data-band="low"]) { background: repeating-linear-gradient(125deg, #a883ee 0 1.5px, #4a3a63 1.5px 3px); }
[data-theme-root].dark .yw-rb-strip i[data-current]:is([data-band="top"], [data-band="high"], [data-band="mid"], [data-band="low"]) { background: #a883ee; }
[data-theme-root].dark .yw-rb-strip i[data-band="out"] { background: #5b5663; }
[data-theme-root].dark .yw-rb-strip i[data-band="failed"] { background: transparent; outline-color: #6b6573; }
.yw-rb-row, .yw-rb-cols { grid-template-columns: minmax(0, 1fr) 112px 64px 96px; }
.yw-rb-strip { gap: 4px; height: 30px; }
.yw-rb-strip i { width: 8px; }
.yw-rb-strip i[data-band="out"] { height: 2px; background: #c9c4cf; }
.yw-rb-strip i[data-band="none"] { height: 2px; background: transparent; }
.yw-rb-strip i[data-band="failed"] { height: 8px; }

/* The board's week card (10/02, owner: the hover "should not be generic"):
   the info panel's frosted surface over the row's small bars, the hovered
   bar lit and the rest dimmed, as the Overview's score bars do. */
.yw-rb-strip { position: relative; }
.yw-rb-strip i { transition: opacity .15s; }
.yw-rb-strip[data-hovering] i:not([data-active]) { opacity: .38; }
.yw-rb-tip { position: absolute; right: -8px; bottom: calc(100% + 10px); z-index: 30; display: flex; flex-direction: column; gap: 4px; width: max-content; min-width: 200px; max-width: 290px; padding: 11px 13px 12px; border: 1px solid rgba(229, 221, 234, .85); border-radius: 14px; background: rgba(253, 252, 254, .9); color: #5f5568; font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: -.2px; text-align: left; white-space: normal; box-shadow: 0 15px 45px #3a214421, 0 3px 9px #3a214409; -webkit-backdrop-filter: saturate(140%) blur(18px); backdrop-filter: saturate(140%) blur(18px); pointer-events: none; animation: yw-gf-tip-in .18s cubic-bezier(.16, 1, .3, 1) both; }
.yw-rb-tip-head { color: #8f8996; font-size: 11px; }
.yw-rb-tip-head b { color: #7c3aed; font-size: 10px; font-weight: 500; }
.yw-rb-tip-place { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-bottom: 2px; }
.yw-rb-tip-place > .num:first-child { color: #202024; font-size: 22px; font-weight: 500; letter-spacing: -.6px; line-height: 1.1; }
.yw-rb-tip-of { color: #929097; font-size: 12px; }
.yw-rb-tip-state { color: #202024; font-size: 14px; font-weight: 500; }
.yw-rb-tip-move { color: #8f8996; font-size: 12px; font-weight: 500; }
.yw-rb-tip-move[data-direction="up"] { color: #279876; }
.yw-rb-tip-move[data-direction="down"] { color: #c85f84; }
.yw-rb-tip-vs { color: #8f8996; font-weight: 400; }
.yw-rb-tip-line { overflow: hidden; color: #6f6975; text-overflow: ellipsis; white-space: nowrap; }
.yw-rb-tip-line b { color: #202024; font-weight: 500; }
@media (prefers-reduced-motion: reduce) { .yw-rb-tip { animation: none; } }
[data-theme-root].dark .yw-rb-tip { border-color: rgba(28, 40, 67, .9); background: rgba(13, 21, 39, .9); color: #c8c6d0; box-shadow: 0 15px 45px #00000066, 0 3px 9px #00000033; }
[data-theme-root].dark :is(.yw-rb-tip-place > .num:first-child, .yw-rb-tip-state, .yw-rb-tip-line b) { color: #f4f1f7; }
[data-theme-root].dark :is(.yw-rb-tip-head, .yw-rb-tip-of, .yw-rb-tip-vs, .yw-rb-tip-line) { color: #a297ab; }
[data-theme-root].dark .yw-rb-tip-move[data-direction="up"] { color: #7fd3b4; }
[data-theme-root].dark .yw-rb-tip-move[data-direction="down"] { color: #e889ad; }

/* ---- AI Search (ai-search-tab.tsx, 10/02 redesign) ----------------------
   The Dashboard's top row of three cards (the answers hero, the engines, the
   weekly columns), then the steps as Needs you rows, the answers as a grid
   of outcome words (what each engine said is the word's hover), and the two
   readiness scores as hero cards with check rows. */
.yw-gf-ai-grid { display: flex; flex-direction: column; gap: 16px; }
.yw-gf-ai-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.yw-gf-ai-top > * { min-width: 0; margin: 0; }
.yw-gf-ai-verdict, .yw-gf-ai-engines, .yw-gf-ai-history { display: flex; flex-direction: column; }
.yw-gf-ai-verdict .yw-hero-value { display: flex; align-items: baseline; gap: 10px; }
.yw-gf-ai-verdict .yw-hero-status { margin: 0; }
.yw-gf-ai-split { display: flex; gap: 3px; height: 11px; margin: 18px 0 4px; overflow: hidden; border-radius: 20px; background: #eeedf1; }
.yw-gf-ai-split > span { min-width: 10px; flex-basis: 0; }
.yw-gf-ai-rows { margin-top: 10px; }
.yw-gf-ai-rows .yw-row-stat dt { display: inline-flex; align-items: center; gap: 8px; }
.yw-gf-ai-rows dt i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.yw-gf-ai-run { margin-top: auto; padding-top: 14px; }
.yw-gf-ai-engines .yw-gf-engines { margin-top: 14px; }
.yw-gf-ai-history .yw-gf-answer-weeks { margin-top: auto; }
.yw-gf-answer-stack { position: absolute; bottom: 0; left: 50%; display: flex; flex-direction: column-reverse; width: min(43%, 36px); height: 100%; overflow: hidden; border-radius: 4px 4px 0 0; transform: translateX(-50%); transform-origin: bottom; animation: yw-month-grow .65s cubic-bezier(.2, .7, .2, 1) both; }
.yw-gf-answer-stack > span { display: block; width: 100%; flex-shrink: 0; }
.yw-gf-answer-stack[data-hollow] { border: 1px dashed #c9c4cf; border-bottom: 0; }

/* The answers grid: questions down, engines across, one word per answer. */
.yw-gf-answers .yw-card-head { flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.yw-gf-filter { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 12px; background: #eeeded; }
.yw-gf-filter .yw-gf-chip { padding: 6px 11px; border-radius: 9px; background: transparent; box-shadow: none; color: #6f6975; font-size: 12px; font-weight: 500; }
.yw-gf-filter .yw-gf-chip:hover { background: rgba(255, 255, 255, .6); color: #202024; }
.yw-gf-filter .yw-gf-chip[aria-current="page"] { background: #fff; color: #202024; box-shadow: 0 2px 6px rgba(0, 0, 0, .06); }
.yw-gf-matrix { margin-top: 14px; }
.yw-gf-matrix-row { display: grid; align-items: center; gap: 12px; min-height: 58px; padding: 0 4px; border-top: 1px solid #eae8ec; }
.yw-gf-matrix-row[data-head] { min-height: 32px; border-top: 0; color: #929097; font-size: 12px; }
.yw-gf-matrix-q { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.yw-gf-matrix-q-text { overflow: hidden; color: #202024; font-size: 13.5px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-matrix-q-kind { color: #929097; font-size: 12px; }
.yw-gf-matrix-cell { min-width: 0; }
.yw-gf-outcome { display: inline-flex; align-items: center; gap: 8px; color: #202024; font-size: 13px; font-weight: 500; }
.yw-gf-outcome i { display: inline-block; width: 10px; height: 10px; flex-shrink: 0; border-radius: 3px; }
.yw-gf-outcome[data-tone="cited"] { color: #6d34c9; }
.yw-gf-outcome[data-tone="absent"] { color: #b4567f; }
.yw-gf-outcome:is([data-tone="unknown"], [data-tone="none"]) { color: #929097; font-weight: 400; }
.hw-info-body .yw-gf-hover-quote { margin: 6px 0; padding-left: 10px; border-left: 2px solid #e2dbe9; color: #343039; font-style: italic; }
.hw-info-body .yw-gf-hover-answer { max-height: 160px; overflow-y: auto; padding: 8px 10px; border-radius: 10px; background: #f4f3f6; color: #4a4450; white-space: pre-wrap; }

/* Readiness: hero score, the reading as a pill, checks as rows. */
.yw-gf-ai-ready { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.yw-gf-ready { display: flex; flex-direction: column; }
.yw-gf-ready .yw-hero-value { display: flex; align-items: baseline; gap: 10px; }
.yw-gf-ready .yw-hero-status { margin: 0; }
.yw-gf-checks { margin: 16px 0 0; padding: 0; list-style: none; }
.yw-gf-check { display: flex; align-items: center; gap: 13px; min-height: 56px; border-top: 1px solid #eae8ec; }
.yw-gf-check-mark { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; font-size: 13px; font-weight: 600; }
.yw-gf-check[data-state="ok"] .yw-gf-check-mark { background: #e3f4ec; color: #2f8a6d; }
.yw-gf-check[data-state="fix"] .yw-gf-check-mark { background: #f8e8ef; color: #bd6a91; }
.yw-gf-check[data-state="unknown"] .yw-gf-check-mark { background: #f1f0f3; color: #929097; }
.yw-gf-check-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.yw-gf-check-label { color: #202024; font-size: 13px; font-weight: 500; }
.yw-gf-check-detail { overflow: hidden; color: #929097; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.yw-gf-ready-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 16px; }
.yw-gf-btn { display: inline-flex; align-items: center; height: 36px; padding: 0 15px; border-radius: 12px; background: #7c3aed; color: #fff; font-size: 13px; font-weight: 500; letter-spacing: -.1px; text-decoration: none; transition: background .15s; }
.yw-gf-btn:hover { background: #7130df; }
.yw-gf-btn[data-quiet] { height: 34px; padding: 0 13px; border-radius: 10px; background: #eeeded; color: #202024; font-size: 12.5px; }
.yw-gf-btn[data-quiet]:hover { background: #e8e4ed; }

/* The dashboard's buttons for the forms on this tab. */
:is(.yw-gf-ai-grid, .yw-gf-ai-ready) :is(button, a)[class~="bg-violet-600"] { display: inline-flex; align-items: center; height: 36px; padding: 0 15px; border-radius: 12px; font-size: 13px; font-weight: 500; letter-spacing: -.1px; }
:is(.yw-gf-ai-grid, .yw-gf-ai-ready) button[class~="border-zinc-300"], .yw-gf-ai-run button { display: inline-flex; align-items: center; height: 34px; padding: 0 13px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 12.5px; font-weight: 500; }
:is(.yw-gf-ai-grid, .yw-gf-ai-ready) button[class~="border-zinc-300"]:hover, .yw-gf-ai-run button:hover { background: #e8e4ed; }

@media (max-width: 1100px) {
  .yw-gf-ai-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yw-gf-ai-top > .yw-gf-ai-verdict { grid-column: 1 / -1; }
  .yw-gf-ai-ready { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .yw-gf-answer-stack { animation: none; } }
[data-theme-root].dark .yw-gf-ai-split { background: #142036; }
[data-theme-root].dark .yw-gf-answer-stack[data-hollow] { border-color: #5b5663; }
[data-theme-root].dark .yw-gf-filter { background: #142036; }
[data-theme-root].dark .yw-gf-filter .yw-gf-chip { color: #c3b9cc; }
[data-theme-root].dark .yw-gf-filter .yw-gf-chip[aria-current="page"] { background: #243352; color: #f3eef8; box-shadow: none; }
[data-theme-root].dark :is(.yw-gf-matrix-row, .yw-gf-check) { border-top-color: #1c2843; }
[data-theme-root].dark :is(.yw-gf-matrix-q-text, .yw-gf-outcome, .yw-gf-check-label) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-gf-matrix-row[data-head], .yw-gf-matrix-q-kind, .yw-gf-check-detail, .yw-gf-outcome[data-tone="unknown"], .yw-gf-outcome[data-tone="none"]) { color: #a297ab; }
[data-theme-root].dark .yw-gf-outcome[data-tone="cited"] { color: #c5a8ff; }
[data-theme-root].dark .yw-gf-outcome[data-tone="absent"] { color: #f0a3c4; }
[data-theme-root].dark .yw-gf-check[data-state="ok"] .yw-gf-check-mark { background: #1f3a31; color: #7fd3b4; }
[data-theme-root].dark .yw-gf-check[data-state="fix"] .yw-gf-check-mark { background: #4d3345; color: #f0b8d2; }
[data-theme-root].dark .yw-gf-check[data-state="unknown"] .yw-gf-check-mark { background: #142036; color: #a297ab; }
[data-theme-root].dark .hw-info-body .yw-gf-hover-quote { border-left-color: #52525c; color: #d9d2e3; }
[data-theme-root].dark .hw-info-body .yw-gf-hover-answer { background: #142036; color: #d9d2e3; }
[data-theme-root].dark .yw-gf-btn[data-quiet], [data-theme-root].dark :is(.yw-gf-ai-grid, .yw-gf-ai-ready) button[class~="border-zinc-300"], [data-theme-root].dark .yw-gf-ai-run button { background: #142036; color: #f3eef8; }

/* 10/02 sizing pass (owner: "make these bigger", "look at that empty space").
   Rankings: the row's week bars one size up. AI Search: the engines and the
   weekly columns fill their cards beside the answers hero instead of
   leaving a hole in the middle. */
.yw-rb-row { min-height: 54px; }
.yw-rb-row, .yw-rb-cols { grid-template-columns: minmax(0, 1fr) 108px 62px 128px; }
.yw-rb-strip { gap: 4px; height: 40px; }
.yw-rb-strip i { width: 11px; border-radius: 3px 3px 0 0; }
.yw-rb-strip i[data-band="failed"] { height: 12px; }

.yw-gf-ai-engines .yw-gf-engines { margin-top: 18px; }
.yw-gf-ai-engines .yw-gf-engine { grid-template-columns: 92px minmax(0, 1fr) 40px; gap: 14px; padding: 12px 0; font-size: 13.5px; }
.yw-gf-ai-engines .yw-gf-engine-bar { height: 22px; border-radius: 6px; }
.yw-gf-ai-engines .yw-gf-engine-count { font-size: 14px; }
.yw-gf-ai-engines .yw-gf-rows-caption { margin: 18px 0 4px; padding-top: 0; font-size: 12px; }
.yw-gf-ai-history .yw-gf-answer-weeks { margin-top: 6px; }
.yw-gf-ai-history .yw-month-column { height: 262px; }
.yw-gf-ai-history .yw-month-column-rail { height: 211px; }
.yw-gf-ai-history .yw-month-axis { height: 234px; }
.yw-gf-ai-history .yw-month-column-value { font-size: 12px; }
.yw-gf-ai-engines .yw-gf-engine { padding: 15px 0; }
.yw-gf-ai-engines .yw-gf-rows-caption { margin-top: 22px; }
.yw-gf-ai-history .yw-month-column { height: 318px; }
.yw-gf-ai-history .yw-month-column-rail { height: 267px; }
.yw-gf-ai-history .yw-month-axis { height: 290px; }
/* The picked week's row keeps one height whatever it says (10/02, owner:
   "their hover animation is broken"): a week with unreadable answers adds a
   fourth item, which wrapped and pushed the whole top row down on hover. */
.yw-gf-ai-history .yw-month-detail { min-height: 62px; align-content: flex-start; gap: 4px 16px; }
.yw-rb-weeks .yw-month-detail { min-height: 44px; align-content: flex-start; }
.yw-gf-ai-history .yw-month-column { height: 286px; }
.yw-gf-ai-history .yw-month-column-rail { height: 235px; }
.yw-gf-ai-history .yw-month-axis { height: 258px; }
/* The picked week as the chart's key: swatch, count, word. */
.yw-gf-answer-key { align-items: center; gap: 8px 18px; }
.yw-gf-answer-key .yw-month-detail-period { min-width: 0; margin-right: 4px; }
.yw-gf-answer-key-item { display: inline-flex; align-items: center; gap: 6px; color: #8b8290; font-size: 12px; }
.yw-gf-answer-key-item i { display: inline-block; width: 10px; height: 10px; flex-shrink: 0; border-radius: 3px; }
.yw-gf-answer-key-item strong { color: #28232e; font-size: 13.5px; font-weight: 500; }
[data-theme-root].dark .yw-gf-answer-key-item { color: #a297ab; }
[data-theme-root].dark .yw-gf-answer-key-item strong { color: #f3eef8; }

/* What to do to show up (10/02, owner: the step tiles were "still using
   generic containers"): the Overview banner's dress. One surface, the desert
   pool art behind the last step, each step a zone split by a violet hairline
   like the banner's score parts: the step number at hero size with its
   "Of 3", the title (the detail is its hover) and the buttons at the foot. */
.yw-gf-banner.yw-gf-playbook { display: flex; min-height: 0; flex-direction: column; }
.yw-gf-playbook > .yw-card-head { align-items: center; padding: 23px 26px 0; }
.yw-gf-playbook > .yw-gf-empty { padding: 0 26px 23px; }
.yw-gf-playbook .yw-gf-banner-art { left: 58%; }
.yw-gf-playbook .yw-gf-plays { display: grid; flex: 1; grid-template-columns: repeat(var(--yw-plays, 3), minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.yw-gf-play { display: flex; min-width: 0; flex-direction: column; padding: 16px 26px 23px; border-left: 1px solid rgba(124, 58, 237, .1); }
.yw-gf-play:first-child { border-left: 0; }
.yw-gf-play-num { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; color: #2f1c4f; font-size: clamp(38px, 3.4vw, 48px); font-weight: 500; letter-spacing: -.05em; line-height: 1.1; }
.yw-gf-play-num > span { color: #7a6f86; font-size: 13px; font-weight: 400; letter-spacing: -.2px; }
.yw-gf-play:first-child .yw-gf-play-num { color: #7c3aed; }
.yw-gf-play-title { margin: 0 0 20px; color: #2f1c4f; font-size: 19px; font-weight: 500; letter-spacing: -.6px; line-height: 1.25; }
.yw-gf-play-title .hw-info-label { text-align: left; }
.yw-gf-play-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; }
.yw-gf-play-actions form { display: contents; }
.yw-gf-playbook .yw-gf-play-actions button[class~="border-zinc-300"] { height: 36px; padding: 0 13px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 11px; background: rgba(255, 255, 255, .85); color: #503268; font-size: 12.5px; box-shadow: 0 4px 12px rgba(78, 32, 139, .07); backdrop-filter: blur(14px); }
.yw-gf-playbook .yw-gf-play-actions button[class~="border-zinc-300"]:hover { background: #fff; }
.yw-gf-play-actions .yw-text-link { margin-left: 4px; }
[data-theme-root].dark .yw-gf-play { border-left-color: rgba(197, 168, 255, .14); }
[data-theme-root].dark :is(.yw-gf-play-num, .yw-gf-play-title) { color: #f3eef8; }
[data-theme-root].dark .yw-gf-play-num > span { color: #c9b8e6; }
[data-theme-root].dark .yw-gf-play:first-child .yw-gf-play-num { color: #c5a8ff; }
[data-theme-root].dark .yw-gf-playbook .yw-gf-play-actions button[class~="border-zinc-300"] { border-color: rgba(255, 255, 255, .12); background: rgba(13, 21, 39, .8); color: #f3eef8; }
@media (max-width: 1100px) {
  .yw-gf-playbook .yw-gf-plays { grid-template-columns: minmax(0, 1fr); }
  .yw-gf-play { border-top: 1px solid rgba(124, 58, 237, .1); border-left: 0; }
  .yw-gf-play:first-child { border-top: 0; }
}

