/*
 * AICenter 2.0 design system (v2.css)
 * Direction A "editorial-warm" + C palette as dark mode + B index table for comparisons.
 * Scoped: tokens under html[data-v2]; element styles only inside body.v2, so legacy templates are untouched
 * until each one is converted. NOT in @layer on purpose: the legacy style.css is unlayered, and unlayered rules
 * beat every layered rule, so scoped class selectors + load order are what let v2 win. Colors are measured WCAG AA (see reports/אפיון AICenter 2.md).
 */

@font-face {
  font-family: "Frank Ruhl Libre v2";
  src: url("fonts/frank-ruhl-libre-v2.woff2") format("woff2");
  font-weight: 500 900;
  font-display: swap;
}
@font-face {
  font-family: "Heebo v2";
  src: url("fonts/heebo-v2.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}

/* ------------------------------------------------------------------ tokens */

  html[data-v2] {
    color-scheme: light dark;
    /* light fallbacks for engines without light-dark() */
    --paper: #F9F6EF; --surface: #FFFDF8; --surface-2: #F1ECE2;
    --ink: #2B2622; --ink-2: #5A534C; --muted: #6B645C;
    --line: #E6DFD3; --line-strong: #CFC5B5;
    --accent: #A34727; --accent-hover: #8E3E20; --on-accent: #FFFFFF;
    --positive: #2F5D50; --negative: #8E3E20;

    --font-display: "Frank Ruhl Libre v2", "Frank Ruhl Libre", "David", Georgia, serif;
    --font-ui: "Heebo v2", "Heebo", system-ui, "Segoe UI", Arial, sans-serif;

    --fs-1: 0.875rem;                                   /* 14 meta */
    --fs-2: 1rem;                                       /* 16 ui */
    --fs-3: 1.125rem;                                   /* 18 body */
    --fs-4: clamp(1.1875rem, 1.1rem + 0.4vw, 1.3125rem); /* 19-21 lead */
    --fs-5: clamp(1.375rem, 1.2rem + 0.8vw, 1.625rem);  /* 22-26 h3 */
    --fs-6: clamp(1.625rem, 1.3rem + 1.5vw, 2.125rem);  /* 26-34 h2 */
    --fs-7: clamp(2rem, 1.4rem + 2.6vw, 2.75rem);       /* 32-44 h1 page */
    --fs-8: clamp(2.5rem, 1.5rem + 4.2vw, 4.25rem);     /* 40-68 hero */

    --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px;
    --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;
    --r-1: 6px; --r-2: 12px; --r-pill: 999px;
    --shadow-1: 0 1px 2px rgb(43 38 34 / 0.06), 0 1px 1px rgb(43 38 34 / 0.04);
    --shadow-2: 0 10px 28px rgb(43 38 34 / 0.10);
    --dur-1: 100ms; --dur-2: 180ms; --dur-3: 280ms; --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --measure: 65ch;
    --tap: 44px;
    --header-h: 72px;
  }
  @supports (color: light-dark(#fff, #000)) {
    html[data-v2] {
      --paper:       light-dark(#F9F6EF, #1B1916);
      --surface:     light-dark(#FFFDF8, #25221F);
      --surface-2:   light-dark(#F1ECE2, #2E2A26);
      --ink:         light-dark(#2B2622, #EFE8DC);
      --ink-2:       light-dark(#5A534C, #D9D0C2);
      --muted:       light-dark(#6B645C, #B7AD9D);
      --line:        light-dark(#E6DFD3, #3B3631);
      --line-strong: light-dark(#CFC5B5, #4A443D);
      --accent:      light-dark(#A34727, #E08A5E);
      --accent-hover:light-dark(#8E3E20, #F2B08C);
      --on-accent:   light-dark(#FFFFFF, #1B1916);
      --positive:    light-dark(#2F5D50, #9DBFA6);
      --negative:    light-dark(#8E3E20, #F2B08C);
      --shadow-1: 0 1px 2px light-dark(rgb(43 38 34 / 0.06), rgb(0 0 0 / 0.4));
      --shadow-2: 0 10px 28px light-dark(rgb(43 38 34 / 0.10), rgb(0 0 0 / 0.45));
    }
  }
  /* explicit theme choice (legacy toggle writes data-theme="light"; v2 toggle writes light|dark) */
  html[data-v2][data-theme="light"], [data-v2-theme="light"] { color-scheme: light; }
  html[data-v2][data-theme="dark"],  [data-v2-theme="dark"]  { color-scheme: dark; }


/* -------------------------------------------------------------------- base */

  html[data-v2] { scroll-padding-block: calc(var(--header-h) + 16px) 96px; }
  body.v2 {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-ui);
    font-size: var(--fs-2);
    line-height: 1.6;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
  }
  body.v2 :where(h1, h2, h3, h4) {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.2;
    color: var(--ink);
    text-wrap: balance;
  }
  body.v2 :where(p) { margin: 0; }
  body.v2 :where(a) { color: inherit; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  body.v2 :where(a:hover) { color: var(--accent-hover); }
  body.v2 :where(img, svg, video) { max-inline-size: 100%; block-size: auto; }
  body.v2 :where(button, input, select, textarea) { font: inherit; color: inherit; }
  body.v2 :focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  body.v2 ::selection { background: color-mix(in srgb, var(--accent) 24%, transparent); }
  @media (prefers-reduced-motion: reduce) {
    body.v2 *, body.v2 *::before, body.v2 *::after {
      animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important;
    }
  }


/* ------------------------------------------------------------------ layout */

  .v2 .l-container { max-inline-size: 1280px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 80px); }
  .v2 .l-stack { display: flex; flex-direction: column; gap: var(--gap, var(--sp-4)); }
  .v2 .l-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap, var(--sp-3)); }
  .v2 .l-grid { display: grid; gap: var(--gap, var(--sp-5)); grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--min, 260px)), 1fr)); }
  .v2 .l-split { display: grid; gap: var(--sp-7); grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  @media (max-width: 900px) { .v2 .l-split { grid-template-columns: minmax(0, 1fr); } }
  .v2 .l-section { padding-block: clamp(var(--sp-6), 5vw, var(--sp-8)); }
  .v2 .l-rule { border-block-start: 1px solid var(--line); }
  .v2 .l-measure { max-inline-size: var(--measure); }


/* -------------------------------------------------------------- components */


  /* icons (sprite in includes/v2/icons.php) */
  .v2 .ico { inline-size: 1.25em; block-size: 1.25em; flex: none; stroke: currentColor; fill: none;
             stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: -0.2em; }
  .v2 [dir="rtl"] .ico--flip, .v2 .ico--flip { transform: scaleX(-1); }

  /* buttons */
  .v2 .c-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
    min-block-size: 48px; padding-inline: var(--sp-5); border-radius: var(--r-2);
    font-weight: 700; font-size: var(--fs-2); text-decoration: none; cursor: pointer;
    border: 1.5px solid transparent;
    transition: background-color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), transform var(--dur-1) var(--ease);
  }
  .v2 .c-btn:active { transform: translateY(1px); }
  .v2 .c-btn--primary { background: var(--accent); color: var(--on-accent); }
  .v2 .c-btn--primary:hover { background: var(--accent-hover); color: var(--on-accent); }
  .v2 .c-btn--secondary { background: transparent; color: var(--ink); border-color: var(--line-strong); }
  .v2 .c-btn--secondary:hover { border-color: var(--ink); color: var(--ink); }
  .v2 .c-btn--ink { background: var(--ink); color: var(--paper); }
  .v2 .c-btn--ink:hover { background: var(--ink-2); color: var(--paper); }
  .v2 .c-btn--lg { min-block-size: 60px; padding-inline: var(--sp-6); font-size: var(--fs-3); }
  .v2 .c-btn--block { inline-size: 100%; }

  /* form fields */
  .v2 .c-field { display: flex; flex-direction: column; gap: 6px; }
  .v2 .c-label { font-size: var(--fs-1); font-weight: 600; color: var(--ink); }
  .v2 .c-input {
    min-block-size: 50px; box-sizing: border-box; padding-inline: var(--sp-4);
    background: var(--surface); color: var(--ink);
    border: 1.5px solid var(--line-strong); border-radius: var(--r-2); font-size: var(--fs-2);
  }
  .v2 .c-input::placeholder { color: var(--muted); opacity: 1; }
  .v2 .c-input:hover { border-color: var(--muted); }
  .v2 .c-input:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 0; border-color: var(--accent); }
  .v2 .c-check { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: var(--fs-1); color: var(--ink-2); }
  .v2 .c-check input { inline-size: 20px; block-size: 20px; margin: 2px 0 0; accent-color: var(--accent); flex: none; }

  /* big search */
  .v2 .c-search { display: flex; flex-direction: column; gap: var(--sp-2); max-inline-size: 780px; }
  .v2 .c-search__row { display: flex; gap: var(--sp-2); }
  .v2 .c-search__input { flex: 1; min-block-size: 60px; font-size: var(--fs-3); padding-inline: var(--sp-5); }
  @media (max-width: 560px) { .v2 .c-search__row { flex-direction: column; } }

  /* chips (links) and tags (labels) */
  .v2 .c-chip {
    display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--sp-4);
    border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: var(--surface);
    font-size: var(--fs-1); font-weight: 500; text-decoration: none; color: var(--ink);
    transition: border-color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);
  }
  .v2 .c-chip:hover { border-color: var(--ink); color: var(--ink); }
  .v2 .c-tag {
    display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: var(--r-pill);
    font-size: 0.8125rem; font-weight: 600; line-height: 1.6; background: var(--surface-2); color: var(--ink-2);
  }
  .v2 .c-tag--positive { color: var(--positive); }
  .v2 .c-tag--sponsored, .v2 .c-tag--affiliate { background: transparent; border: 1px dashed var(--line-strong); color: var(--ink-2); }

  /* header (desktop) */
  .v2 .c-header { position: sticky; inset-block-start: 0; z-index: 50; background: color-mix(in srgb, var(--paper) 94%, transparent);
                  border-block-end: 1px solid var(--line); }
  @supports (backdrop-filter: blur(1px)) { .v2 .c-header { backdrop-filter: blur(8px); } }
  .v2 .c-header__inner { display: flex; align-items: center; gap: var(--sp-6); min-block-size: var(--header-h); }
  .v2 .c-brand { display: inline-flex; align-items: baseline; gap: var(--sp-2); text-decoration: none; color: var(--ink); }
  .v2 .c-brand__mark { font-family: var(--font-display); font-weight: 900; font-size: 1.75rem; letter-spacing: -0.02em; }
  .v2 .c-brand__tag { font-size: 0.8125rem; color: var(--muted); }
  .v2 .c-nav { display: flex; gap: var(--sp-5); font-weight: 500; }
  .v2 .c-nav a { text-decoration: none; padding-block: var(--sp-3); border-block-end: 2px solid transparent; }
  .v2 .c-nav a[aria-current="page"] { border-block-end-color: var(--accent); }
  .v2 .c-header__search { flex: 1; max-inline-size: 320px; margin-inline-start: auto; }
  .v2 .c-header__search .c-input { min-block-size: 44px; inline-size: 100%; }
  @media (max-width: 900px) { .v2 .c-nav, .v2 .c-header__search, .v2 .c-brand__tag { display: none; } }

  /* bottom tab bar (mobile) */
  .v2 .c-tabbar { display: none; }
  @media (max-width: 900px) {
    .v2 .c-tabbar {
      position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 60;
      display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
      padding-block-end: env(safe-area-inset-bottom); background: var(--surface); border-block-start: 1px solid var(--line);
    }
    .v2 .c-tabbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
                      min-block-size: 60px; font-size: 0.75rem; text-decoration: none; color: var(--ink); }
    .v2 .c-tabbar a[aria-current="page"] { color: var(--accent); font-weight: 700; }
    body.v2 { padding-block-end: calc(64px + env(safe-area-inset-bottom)); }
  }

  /* section head */
  .v2 .c-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-4); margin-block-end: var(--sp-4); }
  .v2 .c-section-head h2 { font-size: var(--fs-6); }
  .v2 .c-section-head a { font-size: var(--fs-1); font-weight: 600; color: var(--accent); }

  /* hero */
  .v2 .c-hero { display: flex; flex-direction: column; gap: var(--sp-5); padding-block: clamp(var(--sp-7), 7vw, var(--sp-9)) var(--sp-7); }
  .v2 .c-hero__kicker { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-1); font-weight: 600; color: var(--positive); }
  .v2 .c-hero__kicker::before { content: ""; inline-size: 8px; block-size: 8px; border-radius: 50%; background: currentColor; }
  .v2 .c-hero h1 { font-size: var(--fs-8); font-weight: 900; line-height: 1.06; letter-spacing: -0.015em; max-inline-size: 16ch; }
  .v2 .c-hero__lead { font-size: var(--fs-4); line-height: 1.6; color: var(--ink-2); max-inline-size: 52ch; }

  /* tool row (list) */
  .v2 .c-tool-row { display: flex; align-items: center; gap: var(--sp-4); padding-block: var(--sp-4);
                    border-block-end: 1px solid var(--line); text-decoration: none; color: var(--ink); }
  .v2 .c-tool-row:last-child { border-block-end: 0; }
  .v2 .c-logo { inline-size: 48px; block-size: 48px; flex: none; border-radius: var(--r-2); background: var(--surface);
                border: 1px solid var(--line); object-fit: contain; padding: 6px; box-sizing: border-box; }
  .v2 .c-tool-row__body { flex: 1; display: flex; flex-direction: column; gap: 2px; min-inline-size: 0; }
  .v2 .c-tool-row__name { font-size: var(--fs-4); font-weight: 700; }
  .v2 .c-tool-row__job { color: var(--ink-2); }
  .v2 .c-tool-row__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: var(--fs-1); color: var(--ink-2); text-align: end; }
  .v2 .c-tool-row:hover .c-tool-row__name { color: var(--accent-hover); }
  @media (max-width: 560px) { .v2 .c-tool-row__meta { display: none; } }

  /* rating with provenance */
  .v2 .c-rating { display: inline-flex; align-items: baseline; gap: var(--sp-2); }
  .v2 .c-rating__score { font-family: var(--font-display); font-weight: 900; font-size: 2.5rem; line-height: 1; }
  .v2 .c-rating__label { display: flex; flex-direction: column; font-size: var(--fs-1); }
  .v2 .c-rating__label a { color: var(--accent); }

  /* article list item */
  .v2 .c-article { display: flex; flex-direction: column; gap: var(--sp-2); padding-block: var(--sp-4); border-block-end: 1px solid var(--line); }
  .v2 .c-article:last-child { border-block-end: 0; }
  .v2 .c-article__topic { font-size: 0.8125rem; font-weight: 600; color: var(--accent); }
  .v2 .c-article__title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-5); line-height: 1.3; text-decoration: none; color: var(--ink); }
  .v2 .c-article__meta { font-size: var(--fs-1); color: var(--muted); }

  /* task card */
  .v2 .c-task { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-5); background: var(--surface);
                border: 1px solid var(--line); border-radius: var(--r-2); text-decoration: none; color: var(--ink);
                transition: border-color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease); }
  .v2 .c-task:hover { border-color: var(--line-strong); transform: translateY(-2px); }
  .v2 .c-task__title { font-size: var(--fs-3); font-weight: 700; }
  .v2 .c-task__tools { font-size: var(--fs-1); color: var(--ink-2); }

  /* band (sand panel) */
  .v2 .c-band { background: var(--surface-2); border-radius: var(--r-2); padding: clamp(var(--sp-5), 3vw, var(--sp-7)); }

  /* price list */
  .v2 .c-price { display: grid; grid-template-columns: auto 1fr; gap: 0 var(--sp-4); margin: 0; }
  .v2 .c-price dt, .v2 .c-price dd { padding-block: var(--sp-3); border-block-end: 1px solid var(--line); margin: 0; }
  .v2 .c-price dd { text-align: end; color: var(--ink-2); }
  .v2 .c-price__note { font-size: var(--fs-1); color: var(--muted); margin-block-start: var(--sp-2); }

  /* verdict (pros / cons) */
  .v2 .c-verdict { display: grid; gap: var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
  .v2 .c-verdict h3 { font-family: var(--font-ui); font-size: var(--fs-2); font-weight: 700; margin-block-end: var(--sp-2); }
  .v2 .c-verdict__pros h3 { color: var(--positive); }
  .v2 .c-verdict__cons h3 { color: var(--negative); }
  .v2 .c-verdict ul { margin: 0; padding-inline-start: 1.1em; display: flex; flex-direction: column; gap: var(--sp-2); }

  /* callout / disclosure */
  .v2 .c-callout { padding: var(--sp-4) var(--sp-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); }
  .v2 .c-disclosure { font-size: var(--fs-1); color: var(--ink-2); }
  .v2 .c-disclosure a { color: var(--accent); }

  /* comparison index table (from direction B). Collapses to cards under 720px */
  .v2 .c-compare { inline-size: 100%; border-collapse: collapse; font-size: var(--fs-2); }
  .v2 .c-compare th { text-align: start; font-size: var(--fs-1); font-weight: 600; color: var(--ink-2);
                      padding-block: var(--sp-3); border-block-end: 2px solid var(--ink); }
  .v2 .c-compare td { padding-block: var(--sp-4); padding-inline-end: var(--sp-4); border-block-end: 1px solid var(--line); vertical-align: top; }
  .v2 .c-compare td:first-child { font-weight: 700; }
  @media (max-width: 720px) {
    .v2 .c-compare thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
    .v2 .c-compare, .v2 .c-compare tbody, .v2 .c-compare tr, .v2 .c-compare td { display: block; }
    .v2 .c-compare tr { padding: var(--sp-4); margin-block-end: var(--sp-3); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); }
    .v2 .c-compare td { border: 0; padding: 2px 0; }
    .v2 .c-compare td[data-label]::before { content: attr(data-label) ": "; color: var(--muted); font-weight: 400; }
  }

  /* breadcrumb */
  .v2 .c-crumbs { display: flex; flex-wrap: wrap; gap: var(--sp-2); font-size: var(--fs-1); color: var(--muted); padding: 0; margin: 0; list-style: none; }
  .v2 .c-crumbs li + li::before { content: "‹"; margin-inline-end: var(--sp-2); }
  .v2 .c-crumbs a { color: var(--muted); }

  /* newsletter */
  .v2 .c-newsletter { display: grid; gap: var(--sp-5); grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: center;
                      padding-block: var(--sp-6); border-block: 1px solid var(--line); }
  .v2 .c-newsletter__row { display: flex; gap: var(--sp-2); align-items: flex-end; }
  .v2 .c-newsletter__row .c-field { flex: 1; }
  @media (max-width: 900px) { .v2 .c-newsletter { grid-template-columns: minmax(0, 1fr); } }
  @media (max-width: 560px) { .v2 .c-newsletter__row { flex-direction: column; align-items: stretch; } }

  /* footer */
  .v2 .c-footer { border-block-start: 1px solid var(--line); padding-block: var(--sp-6); font-size: var(--fs-1); color: var(--ink-2); }
  .v2 .c-footer__links { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); }
  .v2 .c-footer__links a { color: var(--ink-2); }

  /* empty state + skeleton */
  .v2 .c-empty { padding: var(--sp-7) var(--sp-5); text-align: center; color: var(--ink-2); border: 1px dashed var(--line-strong); border-radius: var(--r-2); }
  .v2 .c-skeleton { background: linear-gradient(90deg, var(--surface-2), var(--surface), var(--surface-2)); background-size: 200% 100%;
                    border-radius: var(--r-1); min-block-size: 1em; }
  @media (prefers-reduced-motion: no-preference) { .v2 .c-skeleton { animation: v2-shimmer 1.4s linear infinite; } }
  @keyframes v2-shimmer { to { background-position: -200% 0; } }

  /* theme toggle */
  .v2 .c-icon-btn { inline-size: var(--tap); block-size: var(--tap); display: inline-grid; place-items: center; border-radius: var(--r-2);
                    border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; }
  .v2 .c-icon-btn:hover { border-color: var(--ink); }


/* --------------------------------------------------------------- utilities */

  .v2 .u-sr { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .v2 .u-muted { color: var(--muted); }
  .v2 .u-display { font-family: var(--font-display); }
  .v2 .u-center { text-align: center; }
  .v2 bdi, .v2 .u-ltr { unicode-bidi: isolate; }

/* ------------------------------------------------------ legacy bridge
 * Pages not yet rebuilt still use the legacy markup and style.css variables. Inside body.v2 those
 * variables are re-pointed at v2 tokens, so every page switches to the new palette and type in preview.
 * Declared on body.v2, so it wins for all descendants over the legacy :root values. */
html[data-v2] body.v2 {
  --primary: var(--accent); --primary-light: var(--accent); --primary-dark: var(--accent-hover);
  --secondary: var(--positive); --secondary-light: var(--positive);
  --bg-body: var(--paper); --bg-dark: var(--surface-2); --bg-card: var(--surface); --bg-card-hover: var(--surface-2); --bg-input: var(--surface);
  --text-primary: var(--ink); --text-secondary: var(--ink-2); --text-muted: var(--muted);
  --card: var(--surface); --text: var(--ink); --text2: var(--ink-2);
  --border: var(--line); --border-light: var(--line);
  --glass: color-mix(in srgb, var(--paper) 94%, transparent); --glass-strong: var(--surface);
  --shadow-sm: var(--shadow-1); --shadow-md: var(--shadow-2); --shadow-lg: var(--shadow-2); --shadow-glow: none;
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 12px; --radius-xl: 12px;
  --font-he: var(--font-ui); --font-en: var(--font-ui);
  --success: var(--positive); --danger: var(--negative);
}

/* ------------------------------------------------------ shell extras */
.v2 .c-footer__top { display: flex; flex-direction: column; gap: 6px; }
.v2 .c-footer .c-brand__mark { font-size: 1.5rem; }
.v2 .c-tabbar__more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
                      min-block-size: 60px; font-size: 0.75rem; background: none; border: 0; color: var(--ink); cursor: pointer; }
.v2 .c-more { inset: auto 0 0 0; margin: 0; inline-size: 100%; max-inline-size: none; box-sizing: border-box;
              padding: var(--sp-4) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom));
              background: var(--surface); color: var(--ink); border: 0; border-block-start: 1px solid var(--line);
              border-start-start-radius: 18px; border-start-end-radius: 18px; box-shadow: var(--shadow-2); }
.v2 .c-more::backdrop { background: rgb(0 0 0 / 0.35); }
.v2 .c-more__head { display: flex; align-items: center; justify-content: space-between; margin-block-end: var(--sp-2); }
.v2 .c-more > a { display: flex; align-items: center; gap: var(--sp-3); min-block-size: 52px; padding-inline: var(--sp-2);
                  border-block-end: 1px solid var(--line); text-decoration: none; font-size: var(--fs-3); color: var(--ink); }
.v2 .c-more > a:last-child { border-block-end: 0; }
@media (prefers-reduced-motion: no-preference) {
  .v2 .c-more { transition: transform var(--dur-3) var(--ease), overlay var(--dur-3) allow-discrete, display var(--dur-3) allow-discrete; transform: translateY(100%); }
  .v2 .c-more:popover-open { transform: none; }
  @starting-style { .v2 .c-more:popover-open { transform: translateY(100%); } }
}

/* floating-button budget (research: one floating control on mobile). The a11y button lives outside body. */
html[data-v2] body.v2 #push-widget { display: none !important; }
html[data-v2] body.v2 #echat-fab-wrap * { animation: none !important; }
@media (max-width: 900px) {
  html[data-v2] body.v2 #echat-fab-wrap { display: none !important; }
  html[data-v2] .aiw-btn { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* legacy style.css forces color-scheme:dark on every input, which makes light-dark() tokens resolve dark
   inside form fields. In v2 the fields follow the page's scheme instead. */
html[data-v2] body.v2 :is(input, textarea, select) { color-scheme: inherit; }

/* legacy AI-chat launcher: own color variables, re-pointed at the accent; no purple glow */
html[data-v2] body.v2 { --echat-color: #A34727; --echat-r: 163; --echat-g: 71; --echat-b: 39; }
html[data-v2] body.v2 .echat-fab { box-shadow: var(--shadow-2) !important; }

/* home + tool templates */
.v2 .c-logo--initial { display: inline-grid; place-items: center; font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: var(--ink-2); }
.v2 .v2-home__reads { padding-inline-start: var(--sp-6); border-inline-start: 1px solid var(--line); }
@media (max-width: 900px) { .v2 .v2-home__reads { padding-inline-start: 0; border-inline-start: 0; } }
.v2 #newsletter-msg { font-size: var(--fs-1); }
.v2 .v2-tool__grid { display: grid; gap: var(--sp-7); grid-template-columns: minmax(0, 1fr) 320px; padding-block: var(--sp-6) var(--sp-8); align-items: start; }
@media (max-width: 960px) { .v2 .v2-tool__grid { grid-template-columns: minmax(0, 1fr); } }
.v2 .v2-tool__side { position: sticky; inset-block-start: calc(var(--header-h) + 16px); }
@media (max-width: 960px) { .v2 .v2-tool__side { position: static; } }
.v2 .v2-tool__id { display: flex; align-items: center; gap: var(--sp-4); }
.v2 .v2-tool__id .c-logo { inline-size: 64px; block-size: 64px; }
.v2 .v2-tool__name { font-size: var(--fs-7); font-weight: 900; line-height: 1.1; }
.v2 .v2-tool__lead { font-size: var(--fs-4); line-height: 1.6; color: var(--ink-2); max-inline-size: 60ch; }
.v2 .v2-prose { font-size: var(--fs-3); line-height: 1.75; max-inline-size: var(--measure); color: var(--ink); }
/* legacy decorative purple/cyan radial mesh behind every page */
html[data-v2] body.v2::before { content: none !important; background: none !important; }
/* article template */
.v2 .v2-article__grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; column-gap: var(--sp-8); padding-block: var(--sp-6) var(--sp-8); align-items: start; }
.v2 .v2-article__head { grid-column: 1; display: flex; flex-direction: column; gap: var(--sp-4); max-inline-size: var(--measure); padding-block-end: var(--sp-6); margin-block-end: var(--sp-6); border-block-end: 1px solid var(--line); }
.v2 .v2-article__head .c-btn { align-self: flex-start; }
.v2 .v2-article__title { font-size: var(--fs-7); font-weight: 800; line-height: 1.2; text-wrap: balance; }
.v2 .v2-article__dek { font-size: var(--fs-4); line-height: 1.6; color: var(--ink-2); }
.v2 .v2-article__byline { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); font-size: var(--fs-1); color: var(--muted); }
.v2 .v2-article__byline strong { color: var(--ink); font-weight: 600; }
.v2 .v2-article__side { grid-column: 2; grid-row: 1 / span 2; position: sticky; inset-block-start: calc(var(--header-h) + 16px); }
.v2 .v2-article__main { grid-column: 1; min-inline-size: 0; }
.v2 .v2-article__figure { margin: 0 0 var(--sp-6); max-inline-size: var(--measure); }
.v2 .v2-article__figure img { inline-size: 100%; block-size: auto; border-radius: var(--r-2); display: block; }
.v2 .v2-article__share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-block-start: var(--sp-7); padding-block-start: var(--sp-5); border-block-start: 1px solid var(--line); max-inline-size: var(--measure); }
.v2 .v2-article__report { font-size: var(--fs-1); margin-block: var(--sp-4) var(--sp-7); }
.v2 .v2-article__report a { color: var(--accent); }
.v2 .v2-article__more { max-inline-size: var(--measure); margin-block-end: var(--sp-7); }
.v2 .c-toc { font-size: var(--fs-1); border-inline-start: 2px solid var(--line); padding-inline-start: var(--sp-4); }
.v2 .c-toc summary { font-weight: 700; color: var(--ink); cursor: pointer; margin-block-end: var(--sp-2); }
.v2 .c-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.v2 .c-toc a { color: var(--ink-2); text-decoration: none; line-height: 1.45; display: block; }
.v2 .c-toc a:hover { color: var(--accent); text-decoration: underline; }
@media (max-width: 960px) {
  .v2 .v2-article__grid { grid-template-columns: minmax(0, 1fr); }
  .v2 .v2-article__side { grid-column: 1; grid-row: auto; position: static; margin-block-end: var(--sp-6); }
  .v2 .c-toc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--sp-3) var(--sp-4); }
  .v2 .c-toc summary { margin: 0; }
  .v2 .c-toc[open] summary { margin-block-end: var(--sp-3); }
}
/* long-form prose */
.v2 .v2-prose--article > * + * { margin-block-start: 1em; }
.v2 .v2-prose--article h2 { font-family: var(--font-display); font-size: var(--fs-6); font-weight: 700; line-height: 1.25; margin-block: 1.8em 0.5em; scroll-margin-block-start: calc(var(--header-h) + 16px); color: var(--ink); }
.v2 .v2-prose--article h3 { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; line-height: 1.3; margin-block: 1.5em 0.4em; color: var(--ink); }
.v2 .v2-prose--article h4, .v2 .v2-prose--article h5 { font-size: var(--fs-3); font-weight: 700; margin-block: 1.3em 0.3em; color: var(--ink); }
.v2 .v2-prose--article h1 { font-size: var(--fs-6); margin-block: 1.8em 0.5em; }
.v2 .v2-prose--article p { margin: 0 0 1em; }
.v2 .v2-prose--article a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.v2 .v2-prose--article a:hover { color: var(--accent-hover); }
.v2 .v2-prose--article ul, .v2 .v2-prose--article ol { padding-inline-start: 1.4em; margin: 0 0 1em; }
.v2 .v2-prose--article li { margin-block-end: 0.4em; }
.v2 .v2-prose--article li::marker { color: var(--muted); }
.v2 .v2-prose--article strong, .v2 .v2-prose--article b { color: var(--ink); font-weight: 700; }
.v2 .v2-prose--article blockquote { margin: 1.5em 0; padding: var(--sp-3) var(--sp-5); border-inline-start: 3px solid var(--accent); background: var(--surface-2); border-radius: var(--r-1); color: var(--ink-2); font-style: normal; }
.v2 .v2-prose--article img { max-inline-size: 100%; block-size: auto; border-radius: var(--r-2); }
.v2 .v2-prose--article code { font-size: 0.9em; background: var(--surface-2); padding: 0.1em 0.35em; border-radius: 4px; }
.v2 .v2-prose--article pre { direction: ltr; text-align: left; overflow-x: auto; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--sp-4); font-size: 0.875rem; line-height: 1.6; }
.v2 .v2-prose--article pre code { background: none; padding: 0; }
.v2 .v2-prose--article table { inline-size: 100%; border-collapse: collapse; font-size: var(--fs-2); display: block; overflow-x: auto; }
.v2 .v2-prose--article th, .v2 .v2-prose--article td { padding: var(--sp-2) var(--sp-3); border-block-end: 1px solid var(--line); text-align: start; vertical-align: top; color: var(--ink); background: none; }
.v2 .v2-prose--article th { font-weight: 700; border-block-end: 2px solid var(--line-strong); }
.v2 .v2-prose--article hr { border: 0; border-block-start: 1px solid var(--line); margin-block: 2em; }
.v2 .v2-prose--article figcaption { font-size: var(--fs-1); color: var(--muted); margin-block-start: var(--sp-2); }
/* legacy fixed-header offset; the v2 header is sticky */
html[data-v2] body.v2 > main { padding-top: 0 !important; }
/* article: centre text + contents as one block */
.v2 .v2-article__grid { grid-template-columns: minmax(0, 720px) 240px; justify-content: center; }
@media (max-width: 960px) { .v2 .v2-article__grid { grid-template-columns: minmax(0, 1fr); } }
/* chat button: solid clay instead of the legacy purple blend */
html[data-v2] body.v2 .echat-fab { background: var(--accent) !important; color: var(--on-accent) !important; box-shadow: 0 6px 18px color-mix(in srgb, var(--ink) 22%, transparent) !important; }
html[data-v2] body.v2 .echat-fab:hover { background: var(--accent-hover) !important; }
/* tools index + category */
.v2 .v2-tools__head { padding-block: var(--sp-6) var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-3); }
.v2 .v2-tools__title { font-size: var(--fs-7); font-weight: 800; line-height: 1.15; }
.v2 .v2-tools__lead { font-size: var(--fs-3); line-height: 1.6; max-inline-size: 70ch; color: var(--ink-2); }
.v2 .v2-tools__cats { display: flex; flex-wrap: wrap; gap: 8px; padding-block-end: var(--sp-5); }
.v2 .c-chip[aria-current="page"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.v2 .c-chip[aria-current="page"] .u-muted { color: inherit; opacity: .75; }
.v2 .v2-tools__filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sp-3) var(--sp-4); padding: var(--sp-4); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); margin-block-end: var(--sp-5); }
.v2 .v2-tools__filters .c-field { display: flex; flex-direction: column; gap: 4px; }
.v2 .v2-tools__q { flex: 1 1 240px; }
.v2 .v2-tools__heb { align-self: center; min-block-size: 44px; }
.v2 .v2-tools__reset { align-self: center; color: var(--accent); font-weight: 600; font-size: var(--fs-1); }
.v2 .v2-tools__table td:first-child { inline-size: 22%; }
.v2 .v2-tools__name { display: flex; align-items: center; gap: var(--sp-3); color: var(--ink); text-decoration: none; font-weight: 700; }
.v2 .v2-tools__name:hover bdi { text-decoration: underline; color: var(--accent); }
.v2 .v2-tools__name .c-logo { inline-size: 40px; block-size: 40px; padding: 4px; }
.v2 .v2-tools__job { color: var(--ink-2); line-height: 1.55; }
.v2 .v2-tools__table td:nth-child(n+3) { white-space: nowrap; }
.v2 .v2-tools__table tbody tr:hover { background: var(--surface); }
.v2 .c-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; padding-block: var(--sp-6) var(--sp-8); }
.v2 .c-pager a { min-inline-size: 44px; min-block-size: 44px; display: inline-grid; place-items: center; padding-inline: var(--sp-3); border: 1px solid var(--line-strong); border-radius: var(--r-1); color: var(--ink); text-decoration: none; font-weight: 600; }
.v2 .c-pager a:hover { border-color: var(--ink); }
.v2 .c-pager a[aria-current="page"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
@media (max-width: 720px) {
  .v2 .v2-tools__cats { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--sp-4) * -1); padding-inline: var(--sp-4); scrollbar-width: none; }
  .v2 .v2-tools__cats .c-chip { flex: none; }
  .v2 .v2-tools__filters .c-field:not(.v2-tools__q) { flex: 1 1 40%; }
  .v2 .v2-tools__table td:first-child { inline-size: auto; }
  .v2 .v2-tools__table td:nth-child(n+3) { display: inline-block; white-space: normal; margin-inline-end: var(--sp-4); font-size: var(--fs-1); }
  .v2 .v2-tools__job { margin-block: var(--sp-2); }
}
.v2 .v2-article > nav { max-inline-size: 1024px; margin-inline: auto; }
.v2 .c-chip .u-muted { margin-inline-start: 6px; font-variant-numeric: tabular-nums; }
.v2 .v2-tools__table th, .v2 .v2-tools__table td { padding-inline: 0 var(--sp-5); }
.v2 .v2-tools__table th:last-child, .v2 .v2-tools__table td:last-child { padding-inline-end: 0; }
.v2 .v2-tools__fd > summary { display: none; }
@media (max-width: 720px) {
  .v2 .v2-tools__fd { margin-block-end: var(--sp-5); }
  .v2 .v2-tools__fd > summary { display: inline-flex; list-style: none; }
  .v2 .v2-tools__fd > summary::-webkit-details-marker { display: none; }
  .v2 .v2-tools__fd[open] > summary { margin-block-end: var(--sp-3); }
  .v2 .v2-tools__table th, .v2 .v2-tools__table td { padding-inline: 0; }
}
.v2 .v2-tools__filters--lite { background: none; border: 0; padding: 0; }
/* guides index */
.v2 .v2-articles__search { max-inline-size: 640px; }
.v2 .v2-articles__lead { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-6) 0; border-block: 1px solid var(--line); max-inline-size: 820px; }
.v2 .v2-articles__lead-title { font-family: var(--font-display); font-size: var(--fs-7); font-weight: 800; line-height: 1.2; color: var(--ink); text-decoration: none; text-wrap: balance; }
.v2 .v2-articles__lead-title:hover, .v2 .c-article__title:hover { color: var(--accent); }
.v2 .v2-articles__excerpt { color: var(--ink-2); line-height: 1.6; max-inline-size: 70ch; margin: 0; }
.v2 .v2-articles__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); column-gap: var(--sp-7); }
.v2 .v2-articles__list .c-article { border-block-end: 1px solid var(--line); }
/* search results */
.v2 .v2-search__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); padding-block: var(--sp-2) var(--sp-4); border-block-end: 1px solid var(--line); }
.v2 .v2-search__list { list-style: none; margin: 0; padding: 0; max-inline-size: 820px; }
.v2 .v2-search__item { display: flex; gap: var(--sp-4); align-items: flex-start; padding-block: var(--sp-5); border-block-end: 1px solid var(--line); }
.v2 .v2-search__body { display: flex; flex-direction: column; gap: 4px; min-inline-size: 0; }
.v2 .v2-search__title { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; line-height: 1.3; color: var(--ink); text-decoration: none; }
.v2 .v2-search__title:hover { color: var(--accent); text-decoration: underline; }
.v2 .v2-search__excerpt { margin: 0; color: var(--ink-2); line-height: 1.6; }
.v2 mark { background: color-mix(in srgb, var(--accent) 16%, transparent); color: inherit; padding-inline: 2px; border-radius: 3px; }
/* legacy page remnants (pages not yet on a v2 template): drop the purple/cyan system */
html[data-v2] body.v2 :is(.courses-hero, .projects-hero, .page-hero, .projects-cta) { background: var(--surface-2) !important; border-color: var(--line) !important; box-shadow: none !important; }
html[data-v2] body.v2 :is(.hero-title, .gradient, .gradient-text) { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--ink) !important; }
html[data-v2] body.v2 :is(.btn-primary, .btn-new, .filter-btn, .btn-gradient) { background: var(--accent) !important; color: var(--on-accent) !important; border-color: var(--accent) !important; box-shadow: none !important; }
html[data-v2] body.v2 :is(.btn-primary, .btn-new, .filter-btn, .btn-gradient):hover { background: var(--accent-hover) !important; }
html[data-v2] body.v2 :is(.course-thumb, .project-icon, .tc-avatar, .cc-icon) { background: var(--surface-2) !important; color: var(--ink) !important; border-color: var(--line) !important; }
html[data-v2] body.v2 :is(.difficulty-badge, .tc-cat, .project-tag, .project-tag-purple) { background: var(--surface-2) !important; color: var(--ink-2) !important; border-color: var(--line) !important; }
html[data-v2] body.v2 :is(.content-card, .a11y-contact-card, .highlight-box, .project-card) { background: var(--surface) !important; border-color: var(--line) !important; }
html[data-v2] body.v2 main [style*="108,92,231"], html[data-v2] body.v2 main [style*="108, 92, 231"] { background-color: transparent !important; border-color: var(--line) !important; }
/* legacy markup that names "Heebo" gets the self-hosted file (Google Fonts is not loaded in v2) */
@font-face { font-family: "Heebo"; src: url("fonts/heebo-v2.woff2") format("woff2"); font-weight: 300 900; font-display: swap; }
/* WCAG 2.5.8: 24px minimum targets */
.v2 :is(.c-footer, .c-section-head, .c-crumbs, .v2-article__report) a { display: inline-block; min-block-size: 24px; line-height: 24px; }
.v2 .c-check input[type="checkbox"] { inline-size: 24px; block-size: 24px; flex: none; }
.v2 .c-toc summary { min-block-size: 44px; display: flex; align-items: center; }
html[data-v2] body.v2 #echat-dismiss-btn { min-inline-size: 24px; min-block-size: 24px; }
.v2 .v2-prose--article figcaption { opacity: 1 !important; color: var(--muted) !important; }
/* Clearbit's logo service is gone: hide those dead images on pages not yet on a v2 template */
html[data-v2] img[src*="logo.clearbit.com"] { display: none !important; }
/* about */
.v2 .v2-about__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--sp-3); margin: 0 0 var(--sp-7); max-inline-size: 820px; }
.v2 .v2-about__stats > div { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--sp-4); }
.v2 .v2-about__stats dt { font-size: var(--fs-1); color: var(--muted); }
.v2 .v2-about__stats dd { margin: 0; font-family: var(--font-display); font-size: var(--fs-6); font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
.v2 .v2-about__body { margin-block-end: var(--sp-8); }
/* custom pages written with v2 prose */
.v2 main .v2-prose--article { margin-block: var(--sp-5) var(--sp-8); }
/* course pages (legacy markup): no purple, readable greens, calm badges */
html[data-v2] body.v2 :is(.cs-enroll-btn, .cs-enroll-btn-sm) { background: var(--accent) !important; color: var(--on-accent) !important; border-color: var(--accent) !important; box-shadow: none !important; }
html[data-v2] body.v2 :is(.cs-enroll-btn, .cs-enroll-btn-sm):hover { background: var(--accent-hover) !important; }
html[data-v2] body.v2 :is(.cs-free-badge, .cs-lesson-title) { color: var(--positive) !important; }
html[data-v2] body.v2 main [class*="badge"] { background: var(--surface-2) !important; color: var(--ink-2) !important; border-color: var(--line) !important; }
html[data-v2] body.v2 .course-thumb-placeholder { background: var(--surface-2) !important; }
html[data-v2] body.v2 .cs-difficulty { background: var(--surface-2) !important; color: var(--ink-2) !important; }
html[data-v2] body.v2 main :is([style*="255, 217, 61"], [style*="255,217,61"], [style*="#FFD93D" i], [style*="#ffd93d" i]) { color: var(--ink-2) !important; }
/* course cards without an image: a quiet typographic tile instead of the old emoji */
html[data-v2] body.v2 .course-thumb-placeholder { display: grid !important; place-items: center; }
html[data-v2] body.v2 .course-thumb-placeholder::before { content: "קורס AICenter"; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-4); color: var(--muted); letter-spacing: .01em; }
/* courses catalog */
.v2 .v2-courses__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--sp-4); margin-block-end: var(--sp-7); }
.v2 .v2-ccard { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); position: relative; transition: border-color .15s; }
.v2 .v2-ccard:hover { border-color: var(--line-strong); }
.v2 .v2-ccard__kicker { font-size: var(--fs-1); font-weight: 600; color: var(--accent); margin: 0; }
.v2 .v2-ccard__title { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; line-height: 1.3; margin: 0; }
.v2 .v2-ccard__title a { color: var(--ink); text-decoration: none; }
.v2 .v2-ccard__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.v2 .v2-ccard__title a:focus-visible { outline: none; }
.v2 .v2-ccard:has(a:focus-visible) { outline: 3px solid var(--accent); outline-offset: 2px; }
.v2 .v2-ccard__desc { color: var(--ink-2); line-height: 1.55; margin: 0; }
.v2 .v2-ccard__meta { display: flex; flex-wrap: wrap; gap: 4px var(--sp-3); font-size: var(--fs-1); color: var(--muted); margin: auto 0 0; padding-block-start: var(--sp-2); }
.v2 .v2-ccard__progress { display: flex; align-items: center; gap: var(--sp-2); }
.v2 .v2-ccard__progress .v2-course__bar { flex: 1; }
.v2 .v2-courses__continue { margin-block-end: var(--sp-5); }
.v2 .v2-courses__continue h2 { font-size: var(--fs-3); margin-block-end: var(--sp-2); }
.v2 .v2-courses__continue-link { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-4); background: var(--surface-2); border-radius: var(--r-2); color: var(--ink); text-decoration: none; }
.v2 .v2-courses__steps { display: grid; gap: var(--sp-2); padding-inline-start: 1.3em; max-inline-size: 70ch; color: var(--ink-2); }
/* single course */
.v2 .v2-course__admin { font-size: var(--fs-1); margin: var(--sp-3) 0 0; }
.v2 .v2-course__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-7); padding-block: var(--sp-6) var(--sp-8); align-items: start; }
.v2 .v2-course__head { display: flex; flex-direction: column; gap: var(--sp-4); padding-block-end: var(--sp-6); border-block-end: 1px solid var(--line); }
.v2 .v2-course__kicker { display: flex; flex-wrap: wrap; gap: 4px var(--sp-3); font-size: var(--fs-1); font-weight: 600; color: var(--accent); margin: 0; }
.v2 .v2-course__kicker span + span::before { content: "·"; margin-inline-end: var(--sp-3); color: var(--muted); }
.v2 .v2-course__title { font-size: var(--fs-7); font-weight: 800; line-height: 1.15; text-wrap: balance; margin: 0; }
.v2 .v2-course__lead { font-size: var(--fs-4); line-height: 1.6; color: var(--ink-2); max-inline-size: 62ch; margin: 0; }
.v2 .v2-course__cta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-2); }
.v2 .v2-course__cta--repeat { margin-block-start: var(--sp-5); }
.v2 .v2-course__save { align-self: flex-start; }
.v2 .v2-course__save.is-on .ico, .v2 .v2-course__save.active .ico { fill: var(--accent); color: var(--accent); }
.v2 .v2-course__code { display: flex; flex-direction: column; gap: 6px; inline-size: min(100%, 420px); }
.v2 .v2-course__code-row { display: flex; gap: var(--sp-2); }
.v2 .v2-course__code-row .c-input { flex: 1; }
.v2 .v2-course__error { color: var(--negative); font-size: var(--fs-1); margin: 0; }
.v2 .v2-course__progress { display: flex; flex-direction: column; gap: var(--sp-2); }
.v2 .v2-course__bar { block-size: 8px; background: var(--surface-2); border-radius: var(--r-pill); overflow: hidden; }
.v2 .v2-course__bar > span { display: block; block-size: 100%; background: var(--accent); border-radius: inherit; }
.v2 .v2-course__figure { margin: var(--sp-6) 0 0; }
.v2 .v2-course__figure img { inline-size: 100%; block-size: auto; border-radius: var(--r-2); display: block; }
.v2 .v2-course__block { padding-block: var(--sp-6); border-block-end: 1px solid var(--line); }
.v2 .v2-course__block > h2 { font-size: var(--fs-6); margin: 0 0 var(--sp-4); }
.v2 .v2-course__section { border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface); margin-block-end: var(--sp-3); }
.v2 .v2-course__section > summary { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-4); cursor: pointer; font-weight: 700; min-block-size: 44px; list-style-position: inside; }
.v2 .v2-course__lessons { list-style: none; margin: 0; padding: 0 var(--sp-4) var(--sp-3); }
.v2 .v2-course__lesson { display: flex; gap: var(--sp-3); align-items: flex-start; padding-block: var(--sp-3); border-block-start: 1px solid var(--line); }
.v2 .v2-course__num { flex: none; inline-size: 28px; block-size: 28px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--surface-2); font-size: var(--fs-1); font-weight: 700; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.v2 .v2-course__lesson.is-done .v2-course__num { background: var(--positive); color: var(--paper); }
.v2 .v2-course__lesson.is-current .v2-course__num { background: var(--accent); color: var(--on-accent); }
.v2 .v2-course__lesson-body { display: flex; flex-direction: column; gap: 4px; min-inline-size: 0; }
.v2 .v2-course__lesson-body > a { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.v2 .v2-course__lesson-body > a:hover { color: var(--accent); }
.v2 .v2-course__lesson.is-locked .v2-course__lesson-body > span:first-child { color: var(--ink-2); }
.v2 .v2-course__lesson-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--sp-3); font-size: var(--fs-1); color: var(--muted); }
.v2 .v2-course__lesson-meta .ico { inline-size: 14px; block-size: 14px; margin-inline-end: 4px; vertical-align: -2px; }
.v2 .v2-course__rating { font-size: var(--fs-3); margin-block-end: var(--sp-4); }
.v2 .v2-course__reviews { list-style: none; margin: 0 0 var(--sp-5); padding: 0; display: grid; gap: var(--sp-3); }
.v2 .v2-course__reviews li { padding: var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface); }
.v2 .v2-course__reviews p { margin: 0 0 4px; }
.v2 .v2-course__review-head { display: flex; justify-content: space-between; gap: var(--sp-3); }
.v2 .v2-course__review-form { display: grid; gap: var(--sp-3); padding: var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-2); max-inline-size: 640px; }
.v2 .v2-course__review-form fieldset { border: 0; margin: 0; padding: 0; }
.v2 .v2-course__review-form legend { font-weight: 600; margin-block-end: 6px; }
.v2 .v2-course__stars { display: flex; gap: 4px; }
.v2 .v2-course__stars .review-star { font-size: 1.75rem; line-height: 1; cursor: pointer; color: var(--line-strong); min-inline-size: 32px; text-align: center; }
.v2 .v2-course__side { position: sticky; inset-block-start: calc(var(--header-h) + 16px); display: grid; gap: var(--sp-4); }
.v2 .v2-course__card { display: grid; gap: var(--sp-4); }
.v2 .v2-course__card-cta .c-btn { inline-size: 100%; justify-content: center; }
.v2 .v2-course__share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
@media (max-width: 960px) {
  .v2 .v2-course__grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
  .v2 .v2-course__side { position: static; }
}
/* engagement: helpful? + share */
.v2 .c-engage { display: grid; gap: var(--sp-4); margin-block: var(--sp-7); padding: var(--sp-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); max-inline-size: 760px; }
.v2 .c-engage__ask { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); }
.v2 .c-engage__title { font-size: var(--fs-4); margin: 0; }
.v2 .c-engage__choices { display: flex; gap: var(--sp-2); }
.v2 .c-engage__choices [aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.v2 .c-engage__choices button:disabled { cursor: default; }
.v2 .c-engage__stat { flex-basis: 100%; font-size: var(--fs-1); margin: 0; }
.v2 .c-engage__more { display: grid; gap: var(--sp-2); }
.v2 .c-engage__more[hidden], .v2 .c-engage__thanks[hidden], .v2 .c-engage__native[hidden] { display: none; }
.v2 .c-engage__more .c-btn { justify-self: start; }
.v2 .c-engage__note { font-size: var(--fs-1); margin: 0; }
.v2 .c-engage__thanks { margin: 0; font-weight: 600; color: var(--positive); }
.v2 .c-engage__share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); padding-block-start: var(--sp-4); border-block-start: 1px solid var(--line); }
.v2 .v2-page { padding-block-end: var(--sp-8); }
.v2 .v2-page__title { margin-block: var(--sp-6) 0; }

/* header "עוד" menu (details/summary: works without JS, keyboard and screen-reader friendly) */
.v2 .c-navmore { position: static; }
.v2 .c-header__inner { position: relative; }
.v2 .c-navmore > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 4px;
                           padding-block: var(--sp-3); border-block-end: 2px solid transparent; }
.v2 .c-navmore > summary::-webkit-details-marker { display: none; }
.v2 .c-navmore > summary .ico { inline-size: 1em; block-size: 1em; transition: transform var(--dur-2) var(--ease); }
.v2 .c-navmore[open] > summary .ico { transform: rotate(180deg); }
.v2 .c-navmore.is-current > summary { border-block-end-color: var(--accent); }
.v2 .c-navmore > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 2px; border-radius: 4px; }
.v2 .c-navmore__panel { position: absolute; left: 50%; transform: translateX(-50%); inset-block-start: calc(100% - 6px); z-index: 60;
                        display: grid; grid-template-columns: repeat(3, minmax(200px, 1fr)); gap: var(--sp-4);
                        inline-size: max-content; max-inline-size: min(760px, 92vw); padding: var(--sp-4);
                        background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); box-shadow: var(--shadow-2); }
.v2 .c-navmore__title { margin: 0 0 var(--sp-1); padding-inline: 10px; font-size: var(--fs-1); font-weight: 700; color: var(--muted); }
.v2 .c-nav .c-navmore__panel a { display: block; padding: 8px 10px; border: 0; border-radius: var(--r-1); color: var(--ink); font-weight: 600; min-block-size: 44px; box-sizing: border-box; }
.v2 .c-nav .c-navmore__panel a:hover, .v2 .c-nav .c-navmore__panel a:focus-visible { background: var(--surface-2); }
.v2 .c-nav .c-navmore__panel a[aria-current="page"] { background: var(--surface-2); box-shadow: inset -3px 0 0 var(--accent); }
.v2 .c-navmore__panel small { display: block; font-size: 0.8125rem; font-weight: 400; color: var(--muted); }
@media (max-width: 1180px) { .v2 .c-nav { gap: var(--sp-4); } .v2 .c-header__inner { gap: var(--sp-4); } }
@media (max-width: 1040px) { .v2 .c-brand__tag { display: none; } }

/* mobile "עוד" sheet: grouped sections, scrolls when taller than the screen */
.v2 .c-more { max-block-size: 88dvh; overflow-y: auto; overscroll-behavior: contain; }
.v2 .c-more__title { margin: var(--sp-4) 0 var(--sp-1); font-size: var(--fs-1); font-weight: 700; color: var(--muted); }
.v2 .c-more__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--sp-3); }
.v2 .c-more__grid > a { display: flex; align-items: center; min-block-size: 48px; padding-inline: var(--sp-2);
                        border-block-end: 1px solid var(--line); text-decoration: none; font-size: var(--fs-2); color: var(--ink); }

/* legacy auth pages (login, register, forgot/reset password): paper card, light fields, clay button */
html[data-v2] body.v2 .auth-page { background: var(--paper) !important; }
html[data-v2] body.v2 .auth-card { background: var(--surface) !important; color: var(--ink) !important; border: 1px solid var(--line) !important;
                                   box-shadow: var(--shadow-1) !important; backdrop-filter: none !important; }
html[data-v2] body.v2 .auth-card :is(h1, h2, h3) { color: var(--ink) !important; -webkit-text-fill-color: currentColor !important; background: none !important; }
html[data-v2] body.v2 .auth-card :is(label, p, .form-hint, .auth-divider, .auth-divider span, .auth-footer, .password-strength-text, .form-checkbox) { color: var(--ink-2) !important; }
html[data-v2] body.v2 .auth-card a:not(.auth-btn) { color: var(--accent) !important; border-color: var(--accent) !important; }
html[data-v2] body.v2 .auth-card .form-input { background: var(--surface) !important; color: var(--ink) !important; border: 1.5px solid var(--line-strong) !important; box-shadow: none !important; }
html[data-v2] body.v2 .auth-card .form-input::placeholder { color: var(--muted) !important; opacity: 1; }
html[data-v2] body.v2 .auth-card .form-input:focus { border-color: var(--accent) !important; outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent) !important; }
html[data-v2] body.v2 .auth-card .auth-btn-primary { background: var(--accent) !important; color: var(--on-accent) !important; box-shadow: none !important; border: 0 !important; }
html[data-v2] body.v2 .auth-card .auth-btn-primary:hover { background: var(--accent-hover) !important; }
html[data-v2] body.v2 .auth-card .auth-btn-google { background: var(--surface) !important; color: var(--ink) !important; border: 1.5px solid var(--line-strong) !important; }
html[data-v2] body.v2 .auth-card :is(.auth-icon, .auth-footer) { background: var(--surface-2) !important; border-color: var(--line) !important; box-shadow: none !important; }
html[data-v2] body.v2 .auth-card .password-toggle { color: var(--muted) !important; }

/* generators: dark navy hero and premium banner -> paper; stats in clay */
html[data-v2] body.v2 :is(.gen-hero, .gen-premium-banner) { background: var(--surface-2) !important; border: 1px solid var(--line) !important; }
html[data-v2] body.v2 :is(.gen-hero, .gen-premium-banner) :is(h1, h2, h3, p, span:not(.gen-stat-num), a:not(.btn)) { color: var(--ink) !important; -webkit-text-fill-color: currentColor !important; }
html[data-v2] body.v2 .gen-hero :is(.gen-hero-subtitle, .gen-stat-label) { color: var(--ink-2) !important; }
html[data-v2] body.v2 .gen-hero-badge { background: var(--surface) !important; border: 1px solid var(--line) !important; }
html[data-v2] body.v2 :is(.gen-stat-num, .gen-card-arrow) { color: var(--accent) !important; border-color: var(--line) !important; -webkit-text-fill-color: currentColor !important; }

/* hosting, leaderboard, creators, podcast, glossary: gradients and purple accents -> tokens */
html[data-v2] body.v2 :is(.ai-gradient, .card-top-accent) { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--accent) !important; }
html[data-v2] body.v2 .card-top-accent { background: var(--line) !important; }
html[data-v2] body.v2 :is(.hero-cta-primary, .lb-cta-btn, .link-add-btn, .login-cta .btn, .pod-open-link-btn, .pod-next-link-btn) { background: var(--accent) !important; color: var(--on-accent) !important; box-shadow: none !important; border-color: var(--accent) !important; }
html[data-v2] body.v2 :is(.creators-hero, .lb-hero, .lb-cta, .login-cta, .ai-tools-banner) { background: var(--surface-2) !important; border-color: var(--line) !important; box-shadow: none !important; }
html[data-v2] body.v2 :is(.step-num, .uc-icon, .uc-tag, .creator-tag, .creator-link.site, .pod-btn-nav, .pod-tab.active, .lb-tab.active) { background: var(--surface-2) !important; color: var(--ink) !important; border-color: var(--line-strong) !important; box-shadow: none !important; }
html[data-v2] body.v2 .lb-tab.active, html[data-v2] body.v2 .pod-tab.active { box-shadow: inset 0 -2px 0 var(--accent) !important; }
html[data-v2] body.v2 .tier-card.popular { border-color: var(--accent) !important; box-shadow: var(--shadow-1) !important; }
html[data-v2] body.v2 .lb-info-card { background: var(--surface) !important; border: 1px solid var(--line) !important; }
html[data-v2] body.v2 :is(.pod-bar-fill) { background: var(--accent) !important; }
html[data-v2] body.v2 .pod-bar-bg { background: var(--line) !important; }
html[data-v2] body.v2 .glossary-letter-link.active { background: var(--ink) !important; color: var(--paper) !important; }

/* glossary list + term pages (phase 22) */
.v2 .v2-gloss { padding-block-end: var(--sp-8); }
.v2 .v2-gloss__kicker { font-size: var(--fs-1); font-weight: 700; color: var(--accent); letter-spacing: .02em; margin: 0; }
.v2 .v2-gloss__names { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); margin: 0; color: var(--ink-2); font-size: var(--fs-2); }
.v2 .v2-gloss__names .u-ltr { color: var(--muted); }
.v2 .v2-gloss__short { font-size: var(--fs-4); color: var(--ink); }
.v2 .v2-gloss__term { max-inline-size: 760px; }
.v2 .v2-gloss__term .v2-prose--article h2:first-child { margin-block-start: .6em; }
.v2 .v2-gloss__example { margin-block: var(--sp-6); border-inline-start: 4px solid var(--accent); }
.v2 .v2-gloss__example p { margin: 0; line-height: 1.7; }
.v2 .v2-gloss__label { font-weight: 700; font-size: var(--fs-1); color: var(--accent); margin-block-end: var(--sp-1) !important; }
.v2 .v2-gloss__block { margin-block: var(--sp-6); }
.v2 .v2-gloss__h2 { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; margin-block-end: var(--sp-3); }
.v2 .v2-gloss__rel { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.v2 .v2-gloss__rel a { display: flex; flex-direction: column; gap: 2px; min-block-size: var(--tap); padding: var(--sp-3) var(--sp-4); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); color: var(--ink); text-decoration: none; }
.v2 .v2-gloss__rel a:hover { border-color: var(--ink); }
.v2 .v2-gloss__rel .u-muted { font-size: var(--fs-1); text-align: end; }
.v2 .v2-gloss__arts { margin: 0; padding-inline-start: 1.2em; line-height: 1.9; }
.v2 .v2-gloss__arts a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.v2 .v2-gloss__pager { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--sp-3); align-items: center; margin-block-start: var(--sp-7); padding-block-start: var(--sp-5); border-block-start: 1px solid var(--line); }
.v2 .v2-gloss__pager a { color: var(--ink); text-decoration: none; min-block-size: var(--tap); display: flex; align-items: center; gap: var(--sp-2); }
.v2 .v2-gloss__pager a:hover { color: var(--accent); }
.v2 .v2-gloss__pager a[rel="next"] { justify-content: flex-end; }
.v2 .v2-gloss__all { font-weight: 700; font-size: var(--fs-1); }
.v2 .v2-gloss__tools { display: flex; flex-direction: column; gap: var(--sp-4); padding-block-end: var(--sp-5); border-block-end: 1px solid var(--line); position: sticky; inset-block-start: var(--header-h); background: var(--paper); z-index: 5; padding-block-start: var(--sp-3); }
.v2 .v2-gloss__q { max-inline-size: 520px; min-block-size: 52px; font-size: var(--fs-3); }
.v2 .v2-gloss__pop { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin: 0; }
.v2 .v2-gloss__az { display: flex; flex-wrap: wrap; gap: 2px; direction: ltr; justify-content: flex-end; }
.v2 .v2-gloss__az a { min-inline-size: 32px; min-block-size: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-1); color: var(--ink-2); text-decoration: none; font-weight: 600; font-size: var(--fs-1); }
.v2 .v2-gloss__az a:hover { background: var(--surface-2); color: var(--ink); }
.v2 .v2-gloss__letter { scroll-margin-block-start: calc(var(--header-h) + 190px); margin-block-start: var(--sp-6); }
.v2 .v2-gloss__L { font-family: var(--font-display); font-size: var(--fs-6); color: var(--accent); margin-block-end: var(--sp-2); }
.v2 .v2-gloss__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 var(--sp-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.v2 .v2-gloss__item { display: grid; grid-template-columns: 1fr auto; gap: 2px var(--sp-3); padding-block: var(--sp-4); border-block-end: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.v2 .v2-gloss__item:hover .v2-gloss__he { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.v2 .v2-gloss__he { font-family: var(--font-display); font-size: var(--fs-4); font-weight: 700; }
.v2 .v2-gloss__en { font-size: var(--fs-1); color: var(--muted); align-self: center; }
.v2 .v2-gloss__desc { grid-column: 1 / -1; color: var(--ink-2); font-size: var(--fs-2); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 640px) {
  .v2 .v2-gloss__tools { position: static; }
  .v2 .v2-gloss__pager { grid-template-columns: 1fr 1fr; }
  .v2 .v2-gloss__all { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
}

/* compare (phase 23) */
.v2 .v2-cmp { padding-block-end: var(--sp-8); }
.v2 .v2-cmp__vs { font-family: var(--font-ui); font-size: .55em; font-weight: 500; color: var(--muted); margin-inline: .2em; vertical-align: middle; }
.v2 .v2-cmp__form { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); align-items: end; padding: var(--sp-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); }
.v2 .v2-cmp__form select.c-input { inline-size: 100%; min-block-size: 48px; }
.v2 .v2-cmp__actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.v2 .v2-cmp__h2 { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; margin-block-end: var(--sp-3); }
.v2 .v2-cmp__sum { margin-block: var(--sp-6) var(--sp-5); border-inline-start: 4px solid var(--accent); }
.v2 .v2-cmp__sum ul { margin: 0; padding-inline-start: 1.2em; line-height: 1.9; }
.v2 .v2-cmp__note { font-size: var(--fs-1); margin-block-start: var(--sp-3); }
.v2 .v2-cmp__wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface); }
.v2 .v2-cmp__table { inline-size: 100%; border-collapse: collapse; font-size: var(--fs-2); line-height: 1.6; }
.v2 .v2-cmp__table thead th { padding: var(--sp-4); text-align: start; border-block-end: 1px solid var(--line-strong); vertical-align: bottom; min-inline-size: 220px; }
.v2 .v2-cmp__tool { display: flex; align-items: center; gap: var(--sp-3); color: var(--ink); text-decoration: none; font-family: var(--font-display); font-size: var(--fs-4); font-weight: 700; }
.v2 .v2-cmp__tool:hover { color: var(--accent); }
.v2 .v2-cmp__table tbody th { inline-size: 150px; padding: var(--sp-4); text-align: start; vertical-align: top; font-size: var(--fs-1); font-weight: 700; color: var(--ink-2); background: var(--surface-2); }
.v2 .v2-cmp__table tbody td { padding: var(--sp-4); vertical-align: top; }
.v2 .v2-cmp__table tbody tr + tr > * { border-block-start: 1px solid var(--line); }
.v2 .v2-cmp__table td a:not(.c-btn) { color: var(--accent); }
.v2 .v2-cmp__score { font-size: var(--fs-4); }
.v2 .v2-cmp__plain { list-style: none; margin: var(--sp-2) 0 0; padding: 0; font-size: var(--fs-1); }
.v2 .v2-cmp__list { margin: 0; padding-inline-start: 1.1em; }
.v2 .v2-cmp__list li + li { margin-block-start: 4px; }
.v2 .v2-cmp__list--pro li::marker { content: "+  "; color: var(--positive); font-weight: 700; }
.v2 .v2-cmp__list--con li::marker { content: "−  "; color: var(--negative); font-weight: 700; }
.v2 .v2-cmp__links td { display: table-cell; }
.v2 .v2-cmp__ext { display: inline-flex; align-items: center; gap: 4px; margin-inline-start: var(--sp-3); font-size: var(--fs-1); min-block-size: var(--tap); }
.v2 .v2-cmp__share { margin-block: var(--sp-4) 0; }
.v2 .v2-cmp__sugg { margin-block-start: var(--sp-7); }
.v2 .v2-cmp__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-2); }
@media (max-width: 720px) {
  .v2 .v2-cmp__wrap { border: 0; background: none; overflow: visible; }
  .v2 .v2-cmp__table, .v2 .v2-cmp__table tbody, .v2 .v2-cmp__table tr, .v2 .v2-cmp__table th, .v2 .v2-cmp__table td { display: block; inline-size: auto; }
  .v2 .v2-cmp__table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .v2 .v2-cmp__table tbody tr { margin-block-end: var(--sp-3); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-2); overflow: hidden; }
  .v2 .v2-cmp__table tbody tr + tr > * { border-block-start: 0; }
  .v2 .v2-cmp__table tbody th { inline-size: auto; font-size: var(--fs-2); color: var(--ink); padding: var(--sp-3) var(--sp-4); }
  .v2 .v2-cmp__table tbody td { padding: var(--sp-3) var(--sp-4); border-block-start: 1px solid var(--line) !important; }
  .v2 .v2-cmp__table tbody td[data-label]::before { content: attr(data-label); display: block; font-weight: 700; font-size: var(--fs-1); color: var(--ink-2); margin-block-end: 2px; }
  .v2 .v2-cmp__links th { display: none; }
}

/* creators redesign (phase 33) */
.v2 .crx { padding-block-end: var(--sp-8); }
.v2 .crx-kicker { margin: 0; font-size: var(--fs-1); font-weight: 700; letter-spacing: .02em; color: var(--accent); }
.v2 .crx-h2 { font-family: var(--font-display); font-size: var(--fs-6); font-weight: 700; line-height: 1.2; margin: 0 0 var(--sp-4); }
.v2 .crx-block { margin-block: var(--sp-8) 0; }
/* avatars */
.v2 .crx-av { inline-size: var(--s, 60px); block-size: var(--s, 60px); border-radius: 50%; flex: none; object-fit: cover; display: inline-grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; font-size: calc(var(--s, 60px) * .38); letter-spacing: -.02em; box-shadow: 0 0 0 3px var(--paper), 0 0 0 4px var(--line); }
.v2 .crx-av--t0 { background: color-mix(in srgb, var(--accent) 18%, var(--surface)); color: var(--accent); }
.v2 .crx-av--t1 { background: color-mix(in srgb, var(--positive) 18%, var(--surface)); color: var(--positive); }
.v2 .crx-av--t2 { background: color-mix(in srgb, #B7791F 20%, var(--surface)); color: light-dark(#8A5A12, #E8B45A); }
.v2 .crx-av--t3 { background: color-mix(in srgb, #7A4E7A 18%, var(--surface)); color: light-dark(#6A3F6A, #D6A6D6); }
.v2 .crx-av--t4 { background: color-mix(in srgb, #2F5D8A 16%, var(--surface)); color: light-dark(#2F5D8A, #9DC1E8); }
.v2 .crx-av--t5 { background: var(--surface-2); color: var(--ink-2); }
/* badges, chips */
.v2 .crx-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 10px; border-radius: var(--r-pill); font-size: .8rem; font-weight: 600; background: var(--surface-2); color: var(--ink-2); border: 1px solid var(--line); }
.v2 .crx-badge--own { background: color-mix(in srgb, var(--positive) 12%, var(--surface)); color: var(--positive); border-color: color-mix(in srgb, var(--positive) 35%, transparent); }
.v2 .crx-badge--own .ico { inline-size: 14px; block-size: 14px; }
.v2 .crx-badge--star { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 30%, transparent); }
.v2 .crx-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.v2 .crx-chips li, .v2 .crx-chips a { font-size: .82rem; padding: 3px 10px; border-radius: var(--r-pill); background: var(--paper); border: 1px solid var(--line); color: var(--ink-2); text-decoration: none; }
.v2 .crx-chips a:hover { border-color: var(--ink); color: var(--ink); }
/* hero */
.v2 .crx-hero { background: radial-gradient(1200px 400px at 85% -10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%), var(--surface-2); border-block-end: 1px solid var(--line); }
.v2 .crx-hero__in { padding-block: var(--sp-5) var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-4); }
.v2 .crx-hero__title { font-family: var(--font-display); font-size: var(--fs-8); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; margin: 0; max-inline-size: 16ch; }
.v2 .crx-hero__lead { font-size: var(--fs-4); line-height: 1.6; color: var(--ink-2); max-inline-size: 60ch; margin: 0; }
.v2 .crx-hero__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); }
.v2 .crx-stack { list-style: none; margin: 0; padding: 0; display: flex; }
.v2 .crx-stack li + li { margin-inline-start: -12px; }
.v2 .crx-hero__stat { margin: 0; color: var(--ink-2); }
.v2 .crx-hero__stat strong { font-family: var(--font-display); font-size: var(--fs-5); color: var(--ink); }
.v2 .crx-hero__cta { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: var(--sp-2) 0 0; }
/* cards */
.v2 .crx-card { position: relative; display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-5); background: var(--surface); border: 1px solid var(--line); border-radius: 18px; transition: border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease); }
.v2 .crx-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow-2); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .v2 .crx-card:hover { transform: none; } }
.v2 .crx-card__top { display: flex; align-items: center; gap: var(--sp-4); }
.v2 .crx-card__id { min-inline-size: 0; display: flex; flex-direction: column; gap: 3px; }
.v2 .crx-card__name { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; line-height: 1.2; margin: 0; }
.v2 .crx-card__link { color: var(--ink); text-decoration: none; }
.v2 .crx-card__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.v2 .crx-card__link:focus-visible { outline: none; }
.v2 .crx-card:has(.crx-card__link:focus-visible) { outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 2px; }
.v2 .crx-card__title { margin: 0; font-size: var(--fs-1); color: var(--ink-2); line-height: 1.45; }
.v2 .crx-card__meta { margin: 2px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: .8rem; color: var(--muted); }
.v2 .crx-card__bio { margin: 0; color: var(--ink-2); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2 .crx-card__foot { margin-block-start: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding-block-start: var(--sp-3); border-block-start: 1px solid var(--line); }
.v2 .crx-card__go { font-size: var(--fs-1); font-weight: 700; color: var(--accent); white-space: nowrap; }
.v2 .crx-social { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; position: relative; z-index: 1; }
.v2 .crx-social a { inline-size: 34px; block-size: 34px; display: inline-grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); color: var(--ink-2); background: var(--paper); }
.v2 .crx-social a:hover { color: var(--accent); border-color: var(--accent); }
.v2 .crx-card--big { padding: var(--sp-6); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, var(--surface)), var(--surface)); }
.v2 .crx-card--big .crx-card__name { font-size: var(--fs-6); }
.v2 .crx-card--big .crx-card__bio { -webkit-line-clamp: 4; font-size: var(--fs-3); }
.v2 .crx-spot { display: grid; gap: var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.v2 .crx-grid { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); margin-block-start: var(--sp-5); }
.v2 .crx-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); }
.v2 .crx-head .crx-h2 { margin: 0; }
.v2 .crx-search { display: flex; gap: var(--sp-2); inline-size: min(100%, 420px); }
.v2 .crx-search .c-input { flex: 1; min-block-size: 46px; }
.v2 .crx-filters { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-block-start: var(--sp-4); }
.v2 .crx-filters__own .ico { inline-size: 14px; block-size: 14px; }
/* how + join */
.v2 .crx-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); counter-reset: s; }
.v2 .crx-steps li { counter-increment: s; display: flex; flex-direction: column; gap: 6px; padding: var(--sp-5); border-radius: 16px; background: var(--surface); border: 1px solid var(--line); }
.v2 .crx-steps li::before { content: counter(s); font-family: var(--font-display); font-size: var(--fs-6); font-weight: 800; color: var(--accent); line-height: 1; }
.v2 .crx-steps span { color: var(--ink-2); line-height: 1.6; }
.v2 .crx-join { margin-block-start: var(--sp-8); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-5); padding: var(--sp-7) var(--sp-6); border-radius: 22px; background: var(--ink); color: var(--paper); }
.v2 .crx-join .crx-h2 { color: var(--paper); margin-block-end: var(--sp-2); }
.v2 .crx-join p { margin: 0; max-inline-size: 58ch; opacity: .85; line-height: 1.6; }
.v2 .crx-join__cta { display: flex; align-items: center; gap: var(--sp-4); opacity: 1 !important; }
.v2 .crx-join__terms { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; font-size: var(--fs-1); }
/* profile */
.v2 .crx-phero { background: radial-gradient(900px 360px at 90% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%), var(--surface-2); border-block-end: 1px solid var(--line); padding-block: var(--sp-5) var(--sp-7); }
.v2 .crx-phero__main { display: flex; gap: var(--sp-6); align-items: center; margin-block-start: var(--sp-5); }
.v2 .crx-phero__id { display: flex; flex-direction: column; gap: var(--sp-2); min-inline-size: 0; }
.v2 .crx-phero__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.v2 .crx-phero__name { font-family: var(--font-display); font-size: var(--fs-8); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; margin: 0; }
.v2 .crx-phero__title { margin: 0; font-size: var(--fs-4); color: var(--ink-2); }
.v2 .crx-phero__meta { margin: 0; color: var(--muted); }
.v2 .crx-phero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-block-start: var(--sp-3); }
.v2 .crx-pill { display: inline-flex; align-items: center; gap: 6px; min-block-size: 40px; padding: 6px 14px; border-radius: var(--r-pill); border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); text-decoration: none; font: inherit; font-size: var(--fs-1); font-weight: 600; cursor: pointer; }
.v2 .crx-pill:hover { border-color: var(--ink); }
.v2 .crx-pill--on { border-color: var(--positive); color: var(--positive); }
.v2 .crx-admin { font-size: var(--fs-1); color: var(--accent); }
.v2 .crx-pgrid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-7); align-items: start; margin-block-start: var(--sp-7); }
.v2 .crx-sec { margin-block-end: var(--sp-7); }
.v2 .crx-prose { font-size: var(--fs-3); line-height: 1.8; max-inline-size: var(--measure); }
.v2 .crx-prose p { margin: 0; }
.v2 .crx-services { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.v2 .crx-services li { display: flex; flex-direction: column; gap: 4px; padding: var(--sp-4) var(--sp-5); border-radius: 14px; background: var(--surface); border: 1px solid var(--line); border-inline-start: 4px solid var(--accent); }
.v2 .crx-services span { color: var(--ink-2); font-size: var(--fs-1); line-height: 1.5; }
.v2 .crx-video { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: var(--ink); }
.v2 .crx-video iframe, .v2 .crx-video__btn, .v2 .crx-video img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.v2 .crx-video__btn { padding: 0; cursor: pointer; background: none; }
.v2 .crx-video img { object-fit: cover; }
.v2 .crx-video__play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); inline-size: 72px; block-size: 72px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--on-accent); font-size: 26px; box-shadow: var(--shadow-2); }
.v2 .crx-where { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.v2 .crx-where a { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: 14px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); text-decoration: none; min-block-size: 56px; }
.v2 .crx-where a:hover { border-color: var(--ink); }
.v2 .crx-where a > span:last-child { display: flex; flex-direction: column; min-inline-size: 0; }
.v2 .crx-where .u-muted { font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2 .crx-where__ic { inline-size: 38px; block-size: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); color: var(--ink-2); flex: none; }
.v2 .crx-pside { position: sticky; inset-block-start: calc(var(--header-h) + var(--sp-4)); display: flex; flex-direction: column; gap: var(--sp-4); }
.v2 .crx-sidecard { padding: var(--sp-5); border-radius: 18px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-1); display: flex; flex-direction: column; gap: var(--sp-3); }
.v2 .crx-sidecard p { margin: 0; color: var(--ink-2); line-height: 1.6; font-size: var(--fs-1); }
.v2 .crx-sidecard__h { font-family: var(--font-display); font-size: var(--fs-4); font-weight: 700; margin: 0; }
.v2 .crx-claim { background: var(--surface-2); box-shadow: none; }
.v2 .crx-reveal { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.v2 .crx-reveal .crx-pill { inline-size: 100%; justify-content: center; }
.v2 .crx-contact { padding: var(--sp-6); border-radius: 20px; background: var(--surface); border: 1px solid var(--line); scroll-margin-block-start: calc(var(--header-h) + 16px); }
.v2 .crx-contact__lead { margin: 0 0 var(--sp-4); color: var(--ink-2); line-height: 1.6; }
.v2 .crx-form, .v2 .crx-joinform { display: flex; flex-direction: column; gap: var(--sp-4); }
.v2 .crx-form__row { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.v2 .crx-form .c-input, .v2 .crx-joinform .c-input { inline-size: 100%; }
.v2 .crx-form textarea.c-input, .v2 .crx-joinform textarea.c-input { min-block-size: 120px; padding-block: var(--sp-3); line-height: 1.6; }
.v2 .crx-form__consent, .v2 .crx-consents .c-check { display: flex; gap: var(--sp-2); align-items: flex-start; line-height: 1.55; font-size: var(--fs-1); color: var(--ink-2); }
.v2 .crx-form__consent input, .v2 .crx-consents input { margin-block-start: 4px; inline-size: 18px; block-size: 18px; flex: none; accent-color: var(--accent); }
.v2 .crx-form__foot { display: flex; align-items: center; gap: var(--sp-3); margin: 0; }
.v2 .crx-form__ok { margin: 0; padding: var(--sp-4); border-radius: 12px; background: color-mix(in srgb, var(--positive) 12%, var(--surface)); color: var(--positive); font-weight: 600; }
.v2 .crx-hp { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.v2 .crx-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.v2 .crx-mini a { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: 14px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); text-decoration: none; }
.v2 .crx-mini a:hover { border-color: var(--ink); }
.v2 .crx-mini a > span { display: flex; flex-direction: column; min-inline-size: 0; font-size: var(--fs-1); }
/* join page */
.v2 .crx-joinpage { max-inline-size: 880px; }
.v2 .crx-fs { border: 1px solid var(--line); border-radius: 18px; padding: var(--sp-5) var(--sp-5) var(--sp-6); margin: 0; background: var(--surface); display: flex; flex-direction: column; gap: var(--sp-4); }
.v2 .crx-fs legend { font-family: var(--font-display); font-size: var(--fs-4); font-weight: 700; padding-inline: var(--sp-2); }
.v2 .crx-fs__note { margin: 0; color: var(--ink-2); font-size: var(--fs-1); }
.v2 .crx-consents { display: flex; flex-direction: column; gap: var(--sp-3); }
.v2 .crx-joinerr { border-inline-start: 4px solid var(--negative); color: var(--negative); }
.v2 .crx-joinok { border-inline-start: 4px solid var(--positive); }
@media (max-width: 900px) {
  .v2 .crx-pgrid { grid-template-columns: 1fr; }
  .v2 .crx-pside { position: static; }
}
@media (max-width: 600px) {
  .v2 .crx-phero__main { flex-direction: column; align-items: flex-start; gap: var(--sp-4); }
  .v2 .crx-phero__main .crx-av { --s: 96px !important; }
  .v2 .crx-search { inline-size: 100%; }
  .v2 .crx-join { padding: var(--sp-6) var(--sp-5); }
}

/* free lesson preview (phase 25) */
.v2 .v2-lp { padding-block-end: var(--sp-8); }
.v2 .v2-lp__main { max-inline-size: 820px; }
.v2 .v2-lp__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin: 0; font-size: var(--fs-1); color: var(--ink-2); }
.v2 .v2-lp__kicker a { color: var(--accent); }
.v2 .v2-lp__video { position: relative; aspect-ratio: 16 / 9; margin-block-end: var(--sp-6); border-radius: var(--r-2); overflow: hidden; background: var(--surface-2); }
.v2 .v2-lp__video iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.v2 .v2-lp__content img { max-inline-size: 100%; block-size: auto; border-radius: var(--r-1); }
.v2 .v2-lp__content pre { overflow-x: auto; direction: ltr; text-align: left; padding: var(--sp-4); background: var(--surface-2); border-radius: var(--r-1); }
.v2 .v2-lp__cta { margin-block: var(--sp-7) var(--sp-6); border-inline-start: 4px solid var(--accent); }
.v2 .v2-lp__cta p { margin: 0 0 var(--sp-3); color: var(--ink-2); }
.v2 .v2-lp__cta p:last-child { margin: 0; }
.v2 .v2-lp__h2 { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; margin: 0 0 var(--sp-3); }
.v2 .v2-lp__more ul { margin: 0; padding-inline-start: 1.2em; line-height: 1.9; }
.v2 .v2-lp__more a { color: var(--accent); }

/* tags index (phase 31) */
.v2 .v2-tags { padding-block-end: var(--sp-8); }
.v2 .v2-tags__block { margin-block: var(--sp-6); }
.v2 .v2-tags__h2 { font-family: var(--font-display); font-size: var(--fs-5); font-weight: 700; margin-block-end: var(--sp-3); }
.v2 .v2-tags__cloud { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; }
.v2 .v2-tags__tag { display: inline-flex; align-items: center; gap: 6px; min-block-size: 36px; padding: 4px 14px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); color: var(--ink); text-decoration: none; font-size: var(--fs-1); background: var(--surface); }
.v2 .v2-tags__tag:hover { border-color: var(--ink); }
.v2 .v2-tags__tag--2 { font-size: var(--fs-2); font-weight: 600; }
.v2 .v2-tags__tag--3 { font-size: var(--fs-3); font-weight: 700; min-block-size: 44px; padding-inline: 18px; }
.v2 .v2-tags__tag .u-muted { font-size: .8em; font-variant-numeric: tabular-nums; }
.v2 .v2-tags__rest { margin-block-start: var(--sp-6); padding: var(--sp-4) var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface); }
.v2 .v2-tags__rest summary { cursor: pointer; font-weight: 700; min-block-size: var(--tap); display: flex; align-items: center; }
.v2 .v2-tags__plain { margin: var(--sp-3) 0 0; line-height: 2.1; color: var(--muted); }
.v2 .v2-tags__plain a { color: var(--ink-2); text-decoration: none; }
.v2 .v2-tags__plain a:hover { color: var(--accent); text-decoration: underline; }

.v2 .crx-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; }
.v2 .crx-art { display: none; }
@media (min-width: 1080px) {
  .v2 .crx-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--sp-7); }
  .v2 .crx-art { display: block; list-style: none; margin: 0; padding: 0; position: relative; block-size: 360px; }
  .v2 .crx-art__i { position: absolute; display: flex; align-items: center; gap: var(--sp-3); padding: 12px 18px 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-2); max-inline-size: 290px; }
  .v2 .crx-art__i span { display: flex; flex-direction: column; min-inline-size: 0; }
  .v2 .crx-art__i strong { font-family: var(--font-display); font-size: var(--fs-3); line-height: 1.2; }
  .v2 .crx-art__i small { color: var(--muted); font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v2 .crx-art__i--0 { inset-block-start: 0; inset-inline-start: 8%; transform: rotate(-2deg); }
  .v2 .crx-art__i--1 { inset-block-start: 22%; inset-inline-end: 0; transform: rotate(2.5deg); }
  .v2 .crx-art__i--2 { inset-block-start: 46%; inset-inline-start: 0; transform: rotate(1deg); }
  .v2 .crx-art__i--3 { inset-block-start: 68%; inset-inline-end: 6%; transform: rotate(-1.5deg); }
  .v2 .crx-art__i--4 { inset-block-end: 0; inset-inline-start: 18%; transform: rotate(2deg); opacity: .9; }
}

/* creator dashboard (phase 36) */
.v2 .cdash { max-inline-size: 900px; padding-block: var(--sp-6) var(--sp-8); }
.v2 .cdash__head { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; }
.v2 .cdash__head > div { flex: 1; min-inline-size: 0; }
.v2 .cdash__title { font-family: var(--font-display); font-size: var(--fs-7); font-weight: 800; margin: 0; line-height: 1.1; }
.v2 .cdash__status { margin: var(--sp-2) 0 0; display: flex; gap: var(--sp-3); align-items: center; flex-wrap: wrap; }
.v2 .cdash__status a { color: var(--accent); font-size: var(--fs-1); }
.v2 .cdash__nav { position: sticky; inset-block-start: var(--header-h); z-index: 5; display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-block: var(--sp-5); padding-block: var(--sp-3); background: var(--paper); border-block-end: 1px solid var(--line); }
.v2 .cdash__nav a { padding: 6px 14px; border-radius: var(--r-pill); border: 1px solid var(--line-strong); color: var(--ink); text-decoration: none; font-size: var(--fs-1); font-weight: 600; }
.v2 .cdash__nav a:hover { border-color: var(--ink); }
.v2 .cdash__count { display: inline-grid; place-items: center; min-inline-size: 20px; block-size: 20px; padding-inline: 5px; border-radius: 10px; background: var(--accent); color: var(--on-accent); font-size: .75rem; }
.v2 .cdash__sec { margin-block: var(--sp-7); scroll-margin-block-start: calc(var(--header-h) + 70px); }
.v2 .cdash__photo { flex-direction: row; align-items: center; flex-wrap: wrap; gap: var(--sp-5); margin-block-end: var(--sp-4); }
.v2 .cdash__photoform { display: flex; flex-direction: column; gap: var(--sp-2); }
.v2 .cdash__photoform p { margin: 0; }
.v2 .cdash__msgs { list-style: none; margin: var(--sp-4) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.v2 .cdash__msg { padding: var(--sp-4) var(--sp-5); border-radius: 14px; background: var(--surface); border: 1px solid var(--line); }
.v2 .cdash__msg.is-new { border-inline-start: 4px solid var(--accent); }
.v2 .cdash__msgmeta { margin: 0 0 var(--sp-2); font-size: var(--fs-1); display: flex; flex-wrap: wrap; gap: 4px 8px; }
.v2 .cdash__msgmeta a { color: var(--accent); }
.v2 .cdash__msgtext { margin: 0; line-height: 1.7; }
.v2 .crx-owner { font-size: var(--fs-1); margin: 0; text-align: center; }
.v2 .crx-owner a { color: var(--accent); }

/* favorites (phase 41) */
.v2 .v2-save[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
.v2 .v2-save__msg { font-size: var(--fs-1); align-self: center; }
.v2 .v2-save__msg a { color: var(--accent); }
.v2 .v2-fav { padding-block-end: var(--sp-8); max-inline-size: 860px; }
.v2 .v2-fav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.v2 .v2-fav__item { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); border-radius: 14px; background: var(--surface); border: 1px solid var(--line); }
.v2 .v2-fav__body { flex: 1; min-inline-size: 0; }
.v2 .v2-fav__body p { margin: 2px 0 0; font-size: var(--fs-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2 .v2-fav__name { font-family: var(--font-display); font-size: var(--fs-4); font-weight: 700; color: var(--ink); text-decoration: none; }
.v2 .v2-fav__name:hover { color: var(--accent); }

.v2 .v2-prose--article a.gloss-autolink { color: inherit; text-decoration: underline dotted; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.v2 .v2-prose--article a.gloss-autolink:hover { color: var(--accent); }

/* mobile entry to the AI assistant (phase 46) */
.v2 .c-more__ai { display: flex; align-items: center; gap: var(--sp-3); inline-size: 100%; margin-block: var(--sp-2) var(--sp-3); padding: var(--sp-4); border-radius: 14px; border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); background: color-mix(in srgb, var(--accent) 9%, var(--surface)); color: var(--ink); font: inherit; text-align: start; cursor: pointer; }
.v2 .c-more__ai .ico { inline-size: 26px; block-size: 26px; color: var(--accent); flex: none; }
.v2 .c-more__ai span { display: flex; flex-direction: column; gap: 2px; }
.v2 .c-more__ai small { color: var(--ink-2); font-size: var(--fs-1); }

/* chat panel in the v2 palette (phase 46b) */
html[data-v2] body.v2 .echat-panel { background: var(--paper) !important; color: var(--ink) !important; }
html[data-v2] body.v2 :is(.echat-input, #echat-input, .echat-input-wrap textarea, .echat-input-wrap input) { background: var(--surface) !important; color: var(--ink) !important; border: 1px solid var(--line-strong) !important; }
html[data-v2] body.v2 :is(.echat-input, #echat-input)::placeholder { color: var(--muted) !important; }
html[data-v2] body.v2 :is(.echat-header-avatar, .echat-msg.bot .echat-msg-avatar) { background: color-mix(in srgb, var(--accent) 14%, var(--surface)) !important; }
html[data-v2] body.v2 .echat-header { background: var(--surface-2) !important; border-color: var(--line) !important; }
@media (max-width: 900px) { html:has(.echat-panel.open) :is(.aiw-btn, .aiw-hidebtn) { display: none !important; } }

/* phase 47: footer a11y menu link; back-to-top off the mobile tab bar */
.v2 .c-footer__a11y { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-block-size: 24px; }
@media (max-width: 900px) {
  html[data-v2] body.v2 .back-to-top { bottom: calc(80px + env(safe-area-inset-bottom)) !important; right: auto !important; left: 16px !important; }
  html:has(.echat-panel.open) body.v2 .back-to-top { display: none !important; }
}


/* 5.10.2026: אזורי לחיצה גדולים יותר במסכי מגע (שוליים שקופים, המראה לא משתנה).
   לפני: 9 קישורים מתחת ל-24px ו-54 מתחת ל-40px בדף הבית בנייד; אחרי: 2 ו-12. */
@media (pointer: coarse), (max-width: 768px) {
  .c-task__tools a { display: inline-block; padding: 10px 4px; margin-block: -6px; }
  .c-task__title { display: inline-block; padding-block: 8px; }
  .c-section-head a { display: inline-block; padding-block: 10px; }
  main p.u-muted a, .c-footer3 span a { display: inline-block; padding-block: 10px; }
  .c-footer3 li a { display: inline-block; padding-block: 8px; }
  .c-footer3__legal a, .c-footer3__legal button { display: inline-block; padding-block: 10px; }
  .c-footer3__social a { min-height: 44px; display: inline-flex; align-items: center; }
}
