/*
 * 5.71.1614 — TSEMOU Mascot-Native Icon Family v1 mascot-DNA art pass
 * Derived from the canonical mascot visual DNA:
 * dark outline #213049, leaf greens #289536 / #65B142, orange #FE9120.
 * Scope intentionally limited to the public Home left rail.
 */
.left-column[data-tsemou-mascot-icon-family="1"] {
  --tmi-ink:#213049;
  --tmi-green:#289536;
  --tmi-green-light:#65B142;
  --tmi-orange:#FE9120;
  --tmi-paper:#fff;
}

.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-mascot-icon,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-mascot-icon > svg {
  display:block;
  width:24px;
  height:24px;
  flex:0 0 24px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-mascot-icon > svg {
  overflow:visible;
  transform-origin:50% 55%;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-stroke {
  fill:none;
  stroke:var(--tmi-ink);
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-leaf {
  fill:var(--tmi-green-light);
  stroke:var(--tmi-green);
  stroke-width:1.42;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-eye {
  fill:var(--tmi-orange);
  stroke:var(--tmi-ink);
  stroke-width:1.0;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-hammer {
  fill:none;
  stroke:var(--tmi-orange);
  stroke-width:2.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Logged-in mascot must remain visibly part of the product identity. */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__brand-row {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:56px;
  margin:0 0 4px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__brand-row .tsemou-my-tsemou__title {
  margin:0 !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__brand-mascot {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  flex:0 0 56px;
  overflow:visible;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__brand-mascot img {
  display:block;
  width:56px;
  height:56px;
  object-fit:contain;
  image-rendering:auto;
  transform-origin:50% 72%;
  animation:tsemou-mascot-icon-family-float 4.8s ease-in-out infinite;
}

/* Icon family replaces generic symbols but keeps the existing layout contract. */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric-icon,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-guest-explore__icon {
  display:grid !important;
  place-items:center !important;
  width:28px !important;
  min-width:28px !important;
  color:var(--tmi-ink) !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric-icon svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-guest-explore__icon svg {
  width:24px !important;
  height:24px !important;
  stroke:none !important;
}

/* Quiet living motion: only on interaction, not a carnival of moving icons. */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric:hover .tsemou-mascot-icon > svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric:focus-visible .tsemou-mascot-icon > svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-guest-explore__link:hover .tsemou-mascot-icon > svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-guest-explore__link:focus-visible .tsemou-mascot-icon > svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou-item:hover .tsemou-mascot-icon > svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou-item:focus-visible .tsemou-mascot-icon > svg {
  animation:tsemou-mascot-icon-family-nod .34s ease-out both;
}

/* Match the mascot's rounded, soft presence without changing rail geometry. */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-guest-explore__link {
  border-radius:11px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric.is-active {
  background:rgba(101,177,66,.10) !important;
  box-shadow:inset 3px 0 0 var(--tmi-green), inset 0 0 0 1px rgba(33,48,73,.055) !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__metric--attention.is-active {
  background:rgba(254,145,32,.09) !important;
  box-shadow:inset 3px 0 0 var(--tmi-orange), inset 0 0 0 1px rgba(33,48,73,.055) !important;
}

/* Small list glyphs inherit the same family instead of circles/diamonds/bookmark text glyphs. */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou-item--entity > span:first-child {
  display:grid;
  place-items:center;
  width:22px;
  min-width:22px;
  color:var(--tmi-ink);
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou-item--entity > span:first-child .tsemou-mascot-icon,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou-item--entity > span:first-child .tsemou-mascot-icon svg {
  width:17px;
  height:17px;
}

@keyframes tsemou-mascot-icon-family-nod {
  0% { transform:translateY(0) rotate(0deg) scale(1); }
  45% { transform:translateY(-1.5px) rotate(-3deg) scale(1.04); }
  100% { transform:translateY(0) rotate(0deg) scale(1); }
}
@keyframes tsemou-mascot-icon-family-float {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-2px) rotate(-1deg); }
}

@media (prefers-reduced-motion: reduce) {
  .left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou__brand-mascot img,
  .left-column[data-tsemou-mascot-icon-family="1"] .tsemou-mascot-icon > svg {
    animation:none !important;
    transition:none !important;
  }
}


/* 5.71.1614 art pass — stronger family signature at real sidebar viewing distance. */
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-paper { fill:#fff; }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-leaf-vein {
  fill:none; stroke:var(--tmi-ink); stroke-width:1.05; stroke-linecap:round;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-orange-dot,
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-orange-fill { fill:var(--tmi-orange); }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-orange-stroke {
  fill:none; stroke:var(--tmi-orange); stroke-width:2.35; stroke-linecap:round; stroke-linejoin:round;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-orange-soft { fill:rgba(254,145,32,.18); }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-green-soft { fill:rgba(101,177,66,.22); }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-ink-outline {
  stroke:var(--tmi-ink); stroke-width:1.35; stroke-linejoin:round;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-leaf {
  stroke-width:1.55;
}

/* 5.71.1615 final silhouette polish — preserve TSEMOU DNA, reduce micro-detail. */
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-stroke { stroke-width:2.15; }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-leaf { stroke-width:1.45; }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-leaf-vein { stroke-width:.95; }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-orange-soft { fill:rgba(254,145,32,.22); }
.left-column[data-tsemou-mascot-icon-family="1"] .tmi-green-soft { fill:rgba(101,177,66,.26); }


/* 5.71.1616 — logged-in information architecture: second bounded rail group. */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore {
  margin:14px 0 0;
  padding:14px 0 0;
  border-top:1px solid rgba(33,48,73,.14);
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__title {
  margin:0 0 7px;
  padding:0 10px;
  color:#334155;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.025em;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__nav {
  display:grid;
  gap:2px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:5px 10px;
  border-radius:11px;
  color:#334155;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  transition:background-color .16s ease, box-shadow .16s ease, color .16s ease;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__icon {
  display:grid; place-items:center; width:28px; min-width:28px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link:hover,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link:focus-visible {
  background:rgba(33,48,73,.055);
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link.is-active {
  background:rgba(101,177,66,.10);
  box-shadow:inset 3px 0 0 var(--tmi-green), inset 0 0 0 1px rgba(33,48,73,.055);
  color:#1f2937;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link:hover .tsemou-mascot-icon > svg,
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link:focus-visible .tsemou-mascot-icon > svg {
  animation:tsemou-mascot-icon-family-nod .34s ease-out both;
}


/* 5.71.1617 — logged-in rail density fit.
 * Goal: fit both MY TSEMOU and EXPLORE TSEMOU groups in a typical desktop viewport
 * without shrinking typography, 24px icons, or the 56px logged-in mascot.
 * Guest rail is intentionally untouched.
 */
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou:not(.tsemou-my-tsemou--guest) .tsemou-my-tsemou__brand-row {
  margin-bottom:0 !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou:not(.tsemou-my-tsemou--guest) .tsemou-my-tsemou__metric {
  min-height:36px !important;
  padding:5px 9px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore {
  margin-top:10px;
  padding-top:10px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__title {
  margin-bottom:5px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__nav {
  gap:1px;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link {
  min-height:34px;
  padding:3px 10px;
}


/* 5.71.1618 — audited logged-in viewport fit.
 * Forensic conclusion from the 1617 1280x720 screenshot + existing CSS:
 * pure section-gap trimming cannot recover a complete fourth Explore row.
 * Recover height from three bounded sources only: account-shell overhead,
 * component outer overhead, and 2px per navigation row. Typography, 24px
 * icon art, counters, and the 56px MY TSEMOU mascot remain unchanged.
 * Guest/anonymous rail remains untouched.
 */
body:not(.entity-workspace-lock) .left-column[data-tsemou-mascot-icon-family="1"] .tsemou-account-card--compact {
  padding-top:9px !important;
  padding-bottom:6px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou:not(.tsemou-my-tsemou--guest) {
  gap:6px !important;
  padding-top:3px !important;
  padding-bottom:8px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou:not(.tsemou-my-tsemou--guest) .tsemou-my-tsemou__summary {
  gap:2px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-my-tsemou:not(.tsemou-my-tsemou--guest) .tsemou-my-tsemou__metric {
  min-height:34px !important;
  padding-top:4px !important;
  padding-bottom:4px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore {
  margin-top:7px !important;
  padding-top:7px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__title {
  margin-bottom:3px !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__nav {
  gap:0 !important;
}
.left-column[data-tsemou-mascot-icon-family="1"] .tsemou-logged-explore__link {
  min-height:32px !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
}


/* 5.71.1619 — anonymous LEFT containment root-cause fix.
 * 1618 correctly fits the authenticated rail, but the guest rail can outgrow the
 * viewport-bounded sticky shell because the canonical LEFT contract applies a
 * max-height + overflow:auto to both auth states. The guest surface is a short,
 * finite navigation block and should size to its own content instead of being
 * forced through the authenticated viewport-fit contract.
 * Scope: guest/anonymous Home only. Logged-in rail remains exactly as 1618.
 */
@media (min-width: 901px) {
  body:not(.entity-workspace-lock) .left-column[data-tsemou-mascot-icon-family="1"]:has(.tsemou-guest-explore) {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:16px !important;
  }

  body:not(.entity-workspace-lock) .left-column[data-tsemou-mascot-icon-family="1"]:has(.tsemou-guest-explore) .tsemou-guest-explore {
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
}

/* 5.71.1620 — anonymous LEFT sticky restoration.
 * 1619 correctly removed the guest max-height/inner-scroll contract so the
 * beige shell contains the complete guest navigation. That containment fix
 * must not remove the desktop rail's document-scroll sticky behavior.
 * Scope is guest Home only; authenticated rail and all content sizing stay
 * exactly as 1619.
 */
@media (min-width: 901px) {
  body:not(.entity-workspace-lock) .left-column[data-tsemou-mascot-icon-family="1"]:has(.tsemou-guest-explore) {
    position:sticky !important;
    top:72px !important;
    align-self:start !important;
  }
}


/* 5.71.1621 — HOME right-rail first-pixel sticky lock.
 * Forensic finding: legacy Home CSS gives the right rail a generic top:64px,
 * while the final header/left-rail contracts use different settled offsets:
 * 71px anonymous, and admin-bar height + 59px authenticated. The mismatch
 * causes the right rail to "settle" by a few pixels when sticky engages.
 * Keep one final top contract aligned with the left rail/header geometry.
 * No height, overflow, content, or center-feed behavior changes here.
 */
@media (min-width: 1201px) {
  body:not(.admin-bar):not(.entity-workspace-lock) .homepage-grid > .right-column.tsemou-right-rail {
    position: sticky !important;
    top: 71px !important;
    align-self: start !important;
  }

  body.admin-bar:not(.entity-workspace-lock) .homepage-grid > .right-column.tsemou-right-rail {
    position: sticky !important;
    top: calc(var(--wp-admin--admin-bar--height, 32px) + 59px) !important;
    align-self: start !important;
  }
}
