/* TSEMOU DESIGN SYSTEM — 5.71.1202 FOUNDATION R1
 * Site-wide visual primitives. This layer intentionally does not change data,
 * routing, ranking, persistence or renderer contracts. Existing page-specific
 * layouts remain authoritative; shared controls/typography are normalized here.
 */
:root{
  --tsemou-font-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --tsemou-text:#17202a;
  --tsemou-muted:#7a8793;
  --tsemou-neutral-050:#f7f8f8;
  --tsemou-neutral-100:#f1f3f3;
  --tsemou-neutral-200:#e4e8e7;
  --tsemou-neutral-700:#3f4b55;
  --tsemou-positive:#16865f;
  --tsemou-negative:#c43d3d;
  --tsemou-primary:#0f8f75;
  --tsemou-primary-hover:#0c7f68;
  --tsemou-chip-h:22px;
  --tsemou-action-h:28px;
  --tsemou-button-h:36px;
  --tsemou-media-radius:8px;
  --tsemou-pill-radius:999px;
  --tsemou-icon-size:16px;
  --tsemou-icon-stroke:1.75;
  --tsemou-control-gap:9px;
  --tsemou-transition:140ms;
}

/* Typography family: one sans system across public TSEMOU surfaces. */
.tsemou-homepage-beta,
.case-workspace,
.story-workspace,
.need-workspace,
.community-workspace,
.tsemou-purpose-page,
.tsemou-profile-shell,
.tsemou-entities-directory,
.tsemou-company-page-renderer,
.tsemou-company-page-v2{
  font-family:var(--tsemou-font-sans)!important;
}

/* Accessible focus language shared across components. */
.tsemou-homepage-beta :is(a,button,[role="button"]):focus-visible,
.case-workspace :is(a,button,[role="button"]):focus-visible,
.story-workspace :is(a,button,[role="button"]):focus-visible,
.need-workspace :is(a,button,[role="button"]):focus-visible,
.community-workspace :is(a,button,[role="button"]):focus-visible,
.tsemou-entities-directory :is(a,button,[role="button"]):focus-visible{
  outline:2px solid var(--tsemou-primary)!important;
  outline-offset:2px!important;
}

/* Universal TSEMIT / ANTSEMIT visual primitive: ↑ score ↓.
 * Source counters remain in DOM for runtime compatibility but never render. */
.tsemit-score-pill,
.case-header-vote{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  height:var(--tsemou-action-h)!important;
  min-height:var(--tsemou-action-h)!important;
  padding:0 3px!important;
  border:1px solid var(--tsemou-neutral-200)!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:var(--tsemou-neutral-050)!important;
  color:var(--tsemou-neutral-700)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.tsemit-score-pill .tsemit-vote-count-source,
.case-header-vote .tsemit-vote-count-source{display:none!important}
.tsemit-score-pill .vote-btn,
.case-header-vote .vote-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 var(--tsemou-action-h)!important;
  width:var(--tsemou-action-h)!important;
  min-width:var(--tsemou-action-h)!important;
  max-width:var(--tsemou-action-h)!important;
  height:calc(var(--tsemou-action-h) - 2px)!important;
  min-height:calc(var(--tsemou-action-h) - 2px)!important;
  max-height:calc(var(--tsemou-action-h) - 2px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  transition:background-color var(--tsemou-transition) ease,color var(--tsemou-transition) ease,opacity var(--tsemou-transition) ease!important;
}
.tsemit-score-pill .vote-btn:hover,
.case-header-vote .vote-btn:hover{background:var(--tsemou-neutral-100)!important}
.tsemit-score-pill .vote-arrow,
.case-header-vote .vote-arrow{
  width:var(--tsemou-icon-size)!important;
  height:var(--tsemou-icon-size)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:var(--tsemou-icon-stroke)!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.tsemit-score-pill .tsemit-total-score,
.case-header-vote .tsemit-total-score{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px!important;
  height:calc(var(--tsemou-action-h) - 2px)!important;
  padding:0 2px!important;
  color:inherit!important;
  font:500 12px/1 var(--tsemou-font-sans)!important;
}
.tsemit-score-pill .tsemit-action.is-active,
.case-header-vote .tsemit-action.is-active{color:var(--tsemou-positive)!important;background:rgba(22,134,95,.07)!important}
.tsemit-score-pill .tsemit-action.is-active ~ .tsemit-total-score,
.case-header-vote .tsemit-action.is-active ~ .tsemit-total-score{color:var(--tsemou-positive)!important}
.tsemit-score-pill .untsemit-action.is-active,
.case-header-vote .untsemit-action.is-active{color:var(--tsemou-negative)!important;background:rgba(196,61,61,.07)!important}

/* Compact action controls: icon-only or icon+counter. */
.feed-icon-action,
.tsemou-ds-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:var(--tsemou-action-h)!important;
  height:var(--tsemou-action-h)!important;
  min-height:var(--tsemou-action-h)!important;
  padding:0 8px!important;
  margin:0!important;
  border:1px solid var(--tsemou-neutral-200)!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:var(--tsemou-neutral-050)!important;
  color:var(--tsemou-neutral-700)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font:500 12px/1 var(--tsemou-font-sans)!important;
  transition:background-color var(--tsemou-transition) ease,color var(--tsemou-transition) ease,opacity var(--tsemou-transition) ease!important;
}
.feed-icon-action:hover,.tsemou-ds-action:hover{background:var(--tsemou-neutral-100)!important;color:var(--tsemou-text)!important}
.feed-icon-action svg,.tsemou-ds-action svg{
  display:block!important;
  width:var(--tsemou-icon-size)!important;
  height:var(--tsemou-icon-size)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:var(--tsemou-icon-stroke)!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.feed-save-action{padding-left:5px!important;padding-right:5px!important}
.feed-save-action.is-active{color:var(--tsemou-primary)!important;background:rgba(15,143,117,.07)!important}

/* Action-row rhythm. */
.living-case-footer .entry-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:var(--tsemou-control-gap)!important;
  min-height:var(--tsemou-action-h)!important;
}
.feed-primary-cta-spacer{display:block!important;flex:1 1 auto!important;min-width:16px!important}

/* Primary and secondary buttons: same geometry, hierarchy through tone/weight. */
.feed-case-membership-action,
.case-action.entity-action,
.case-action.entity-action-choice,
.tsemou-ds-button-primary{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:var(--tsemou-button-h)!important;
  min-height:var(--tsemou-button-h)!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:var(--tsemou-primary)!important;
  color:#fff!important;
  box-shadow:none!important;
  font:600 13px/1 var(--tsemou-font-sans)!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:background-color var(--tsemou-transition) ease,color var(--tsemou-transition) ease,opacity var(--tsemou-transition) ease!important;
}
.feed-case-membership-action:hover,
.case-action.entity-action:hover,
.case-action.entity-action-choice:hover,
.tsemou-ds-button-primary:hover{background:var(--tsemou-primary-hover)!important}
:is(.case-action,.entity-action,.feed-case-membership-action).is-disabled,
:is(.case-action,.entity-action,.feed-case-membership-action)[disabled],
:is(.case-action,.entity-action,.feed-case-membership-action)[aria-disabled="true"]{
  background:var(--tsemou-neutral-100)!important;
  color:#98a1a8!important;
  opacity:.72!important;
  cursor:not-allowed!important;
}
.workspace-pill,
.tsemou-ds-button-secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:var(--tsemou-action-h)!important;
  height:var(--tsemou-action-h)!important;
  padding:0 10px!important;
  border:1px solid var(--tsemou-neutral-200)!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:var(--tsemou-neutral-050)!important;
  color:var(--tsemou-neutral-700)!important;
  box-shadow:none!important;
  font:500 12px/1 var(--tsemou-font-sans)!important;
  letter-spacing:0!important;
}
.workspace-pill:hover,.tsemou-ds-button-secondary:hover{background:var(--tsemou-neutral-100)!important;color:var(--tsemou-text)!important}

/* Topic/category chips: 22px, full pill, neutral by default. */
.topic-chip,
.case-pill,
.feed-category,
.tsemou-entity-categories a{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:var(--tsemou-chip-h)!important;
  height:var(--tsemou-chip-h)!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:var(--tsemou-neutral-100)!important;
  color:#5d6871!important;
  box-shadow:none!important;
  font:500 11px/1 var(--tsemou-font-sans)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Feed hierarchy and media primitive. */
.center-column .living-case-card .living-case-topline{
  color:var(--tsemou-muted)!important;
  font:400 12px/1.35 var(--tsemou-font-sans)!important;
}
.center-column .living-case-card .case-updated{color:var(--tsemou-muted)!important;font:400 12px/1.35 var(--tsemou-font-sans)!important}
.center-column .living-case-card .living-case-title{
  color:var(--tsemou-text)!important;
  font:600 17px/1.28 var(--tsemou-font-sans)!important;
  letter-spacing:-.01em!important;
}
.center-column .living-case-card .living-case-description{
  color:#4f5b65!important;
  font:400 13px/1.4 var(--tsemou-font-sans)!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.center-column .living-case-card .card-media,
.center-column .living-case-card .card-media-stage,
.center-column .living-case-card .card-media-stage img,
.center-column .living-case-card .card-media-stage video{
  border-radius:var(--tsemou-media-radius)!important;
}
.homepage-participation-signal{
  color:var(--tsemou-muted)!important;
  font:500 12px/1.35 var(--tsemou-font-sans)!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
}

/* Entity catalog adopts same typography/control geometry without changing its grid. */
.tsemou-entities-directory h1,
.tsemou-entity-card__name strong,
.tsemou-entities-directory__summary strong{font-family:var(--tsemou-font-sans)!important}
.tsemou-entities-search button{
  min-height:var(--tsemou-button-h)!important;
  height:var(--tsemou-button-h)!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:var(--tsemou-pill-radius)!important;
  background:var(--tsemou-primary)!important;
  color:#fff!important;
  font:600 13px/1 var(--tsemou-font-sans)!important;
}

@media(max-width:720px){
  .center-column .living-case-card .living-case-title{font-size:16px!important;-webkit-line-clamp:3!important}
  .feed-icon-action,.tsemou-ds-action{position:relative!important}
  .feed-icon-action::after,.tsemou-ds-action::after{content:"";position:absolute;inset:-7px -5px;min-width:40px;min-height:40px}
}


/* 5.71.1203 — SITE-WIDE SHELL + COMPONENT UNIFICATION R2
 * Presentation only. Renderer/data/routing contracts stay untouched.
 */
:root{
  --tsemou-shell-bg:#fbfbf8;
  --tsemou-surface:#fff;
  --tsemou-line:#e2e7e4;
  --tsemou-shell-max:1240px;
  --tsemou-content-max:630px;
  --tsemou-rail-left:280px;
  --tsemou-rail-right:300px;
  --tsemou-shell-gap:16px;
  --tsemou-header-h:58px;
}
.tsemou-homepage-beta{background:var(--tsemou-shell-bg)!important;color:var(--tsemou-text)!important}

/* One header language on category/directory/create surfaces. */
.tsemou-purpose-categories-header,
.tsemou-case-directory .tsemou-purpose-categories-header{
  min-height:var(--tsemou-header-h)!important;height:var(--tsemou-header-h)!important;
  padding:0 18px!important;margin:0 auto!important;max-width:var(--tsemou-shell-max)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;
  background:rgba(251,251,248,.97)!important;border:0!important;border-bottom:1px solid var(--tsemou-line)!important;
  box-shadow:none!important;backdrop-filter:blur(10px)!important;
}
.tsemou-purpose-brand{display:flex!important;align-items:center!important;height:42px!important;text-decoration:none!important;color:var(--tsemou-text)!important}
.tsemou-purpose-brand img{display:block!important;width:auto!important;height:40px!important;max-width:150px!important;object-fit:contain!important}
.tsemou-purpose-brand-mark{display:none!important}
.tsemou-purpose-categories-header nav{display:flex!important;align-items:center!important;gap:28px!important;height:100%!important}
.tsemou-purpose-categories-header nav a{display:flex!important;align-items:center!important;height:100%!important;padding:0!important;color:#3f4b55!important;font:500 14px/1 var(--tsemou-font-sans)!important;text-decoration:none!important;white-space:nowrap!important}
.tsemou-purpose-categories-header nav a.is-active{color:var(--tsemou-text)!important;font-weight:600!important}
.tsemou-purpose-categories-header nav a.is-active:after{bottom:0!important;height:2px!important;background:var(--tsemou-primary)!important}

/* Directory no longer looks like a separate product. */
.tsemou-case-directory{max-width:var(--tsemou-shell-max)!important;padding:0 18px 56px!important;background:var(--tsemou-shell-bg)!important}
.tsemou-case-directory__main{max-width:920px!important;margin:0 auto!important;padding:28px 0 64px!important}
.tsemou-case-directory__hero{align-items:center!important;padding:14px 0 20px!important;gap:20px!important;border-bottom:1px solid var(--tsemou-line)!important}
.tsemou-case-directory__hero p{margin:0 0 5px!important;color:var(--tsemou-muted)!important;font:600 10px/1.2 var(--tsemou-font-sans)!important;letter-spacing:.14em!important}
.tsemou-case-directory__hero h1{margin:0!important;color:var(--tsemou-text)!important;font:600 30px/1.08 var(--tsemou-font-sans)!important;letter-spacing:-.025em!important}
.tsemou-case-directory__hero span{margin-top:6px!important;color:#59656e!important;font:400 14px/1.4 var(--tsemou-font-sans)!important}
.tsemou-case-directory__create{min-height:36px!important;height:36px!important;padding:0 14px!important;border-radius:999px!important;background:var(--tsemou-primary)!important;box-shadow:none!important;font:600 13px/1 var(--tsemou-font-sans)!important}
.tsemou-case-directory__stats{gap:8px!important;padding:14px 0!important}
.tsemou-case-directory__stats span{height:28px!important;padding:0 9px!important;display:inline-flex!important;align-items:center!important;border:1px solid var(--tsemou-line)!important;background:var(--tsemou-neutral-050)!important;font:500 11px/1 var(--tsemou-font-sans)!important}
.tsemou-case-directory__stats strong{font:600 12px/1 var(--tsemou-font-sans)!important}
.tsemou-case-directory__tools{grid-template-columns:minmax(0,1fr) 160px!important;gap:9px!important;margin:0 0 12px!important}
.tsemou-case-directory__tools label,.tsemou-case-directory__tools select{min-height:36px!important;height:36px!important;border:1px solid var(--tsemou-line)!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important}
.tsemou-case-directory__tools input,.tsemou-case-directory__tools select{font:400 13px/1 var(--tsemou-font-sans)!important;color:var(--tsemou-text)!important}
.tsemou-case-directory__grid{display:flex!important;flex-direction:column!important;gap:0!important;border-top:1px solid var(--tsemou-line)!important}
.tsemou-case-directory-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;min-height:132px!important;border:0!important;border-bottom:1px solid var(--tsemou-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
.tsemou-case-directory-card__media{min-height:112px!important;height:112px!important;margin:10px 0!important;border-radius:8px!important;background:var(--tsemou-neutral-100)!important}
.tsemou-case-directory-card__media img{border-radius:8px!important}
.tsemou-case-directory-card__body{padding:12px 0 10px 14px!important}
.tsemou-case-directory-card__meta{justify-content:flex-start!important;gap:9px!important;color:var(--tsemou-muted)!important;font:400 11px/1.2 var(--tsemou-font-sans)!important}
.tsemou-case-directory-status{font:600 10px/1 var(--tsemou-font-sans)!important;letter-spacing:.03em!important}
.tsemou-case-directory-card h2{margin:6px 0 5px!important;color:var(--tsemou-text)!important;font:600 17px/1.25 var(--tsemou-font-sans)!important;letter-spacing:-.01em!important}
.tsemou-case-directory-card p{margin:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;color:#59656e!important;font:400 13px/1.38 var(--tsemou-font-sans)!important}
.tsemou-case-directory-card__footer{margin-top:auto!important;padding-top:7px!important;color:var(--tsemou-muted)!important;font:500 11px/1 var(--tsemou-font-sans)!important}
.tsemou-case-directory-card__footer a{color:var(--tsemou-primary)!important;font-weight:600!important}

/* Create/Actions surfaces: same content width, same form geometry. */
.tsemou-purpose-categories--actions-help .tsemou-direct-need-create,
.tsemou-homepage-beta--actions-help .tsemou-direct-need-create{width:min(100% - 36px,920px)!important;margin:0 auto!important;padding:28px 0 64px!important}
.tsemou-direct-need-create__back{display:inline-flex!important;margin-bottom:16px!important;color:#526069!important;font:500 13px/1.2 var(--tsemou-font-sans)!important;text-decoration:none!important}
.tsemou-direct-need-create__composer,.tsemou-homepage-beta--need-create .entity-action-panel{padding:20px 24px!important;border:1px solid var(--tsemou-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.tsemou-homepage-beta--need-create :is(input[type="text"],input[type="search"],textarea,select){border:1px solid #d8dfdc!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;font-family:var(--tsemou-font-sans)!important}
.tsemou-homepage-beta--need-create textarea{min-height:96px!important}
.tsemou-homepage-beta--need-create :is(button,input[type="submit"]){min-height:36px!important;border-radius:999px!important;font:600 13px/1 var(--tsemou-font-sans)!important;letter-spacing:0!important}

/* Workspace actions use the same compact row instead of a separate micro-UI. */
.case-workspace :is(.case-header-actions,.case-actions,.case-workspace-actions),
.story-workspace :is(.story-header-actions,.workspace-actions){gap:9px!important}
.case-workspace :is(.workspace-pill,.case-action),
.story-workspace :is(.workspace-pill,.story-action){min-height:28px!important;height:28px!important;padding:0 9px!important;border-radius:999px!important;font:500 12px/1 var(--tsemou-font-sans)!important}
.case-workspace h1,.story-workspace h1{font-family:var(--tsemou-font-sans)!important;font-weight:600!important;letter-spacing:-.025em!important}

/* Feed: suppress historical full-width green media CTA/arrow treatment if present. */
.center-column .living-case-card :is(.case-primary-action,.living-case-primary-action,.card-primary-action,.media-primary-action){
  width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0 14px!important;border-radius:999px!important;background:var(--tsemou-primary)!important;font:600 13px/1 var(--tsemou-font-sans)!important;
}

@media(max-width:980px){
 .tsemou-purpose-categories-header,.tsemou-case-directory .tsemou-purpose-categories-header{padding:0 12px!important}
 .tsemou-purpose-categories-header nav{gap:18px!important;overflow-x:auto!important}
 .tsemou-case-directory__main{max-width:760px!important}
}
@media(max-width:720px){
 .tsemou-purpose-categories-header{height:52px!important;min-height:52px!important}
 .tsemou-purpose-brand img{height:34px!important}
 .tsemou-purpose-categories-header nav{gap:14px!important}
 .tsemou-purpose-categories-header nav a{font-size:12px!important}
 .tsemou-case-directory{padding:0 12px 40px!important}
 .tsemou-case-directory__main{padding-top:18px!important}
 .tsemou-case-directory__hero{align-items:flex-start!important;flex-direction:column!important}
 .tsemou-case-directory__hero h1{font-size:26px!important}
 .tsemou-case-directory__create{width:auto!important}
 .tsemou-case-directory__tools{grid-template-columns:1fr!important}
 .tsemou-case-directory-card{grid-template-columns:92px minmax(0,1fr)!important;min-height:116px!important}
 .tsemou-case-directory-card__media{height:92px!important;min-height:92px!important}
 .tsemou-case-directory-card h2{font-size:16px!important}
 .tsemou-direct-need-create__composer,.tsemou-homepage-beta--need-create .entity-action-panel{padding:16px!important}
}

/* 5.71.1204 — UNIVERSAL ACTION COMPONENTS R1
 * Phase 1: Home feed + Story Workspace share one renderer contract.
 * This is deliberately narrow: no Case/Need renderer migration in this release.
 */
.tsemou-universal-action-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  min-height:28px!important;
}
.tsemou-universal-action-row .tsemou-universal-vote{
  flex:0 0 auto!important;
}
.tsemou-universal-action-row .tsemou-universal-action{
  flex:0 0 auto!important;
}
.tsemou-story-universal-actions{
  display:block!important;
  width:100%!important;
  margin-top:10px!important;
}
.story-workspace .tsemou-story-universal-actions .tsemou-universal-action-row{
  justify-content:flex-start!important;
}
.story-workspace .tsemou-story-universal-actions .feed-icon-action,
.center-column .living-case-card .tsemou-universal-action-row .feed-icon-action{
  width:auto!important;
  min-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--tsemou-neutral-050)!important;
  color:var(--tsemou-neutral-700)!important;
  box-shadow:none!important;
}
.story-workspace .tsemou-story-universal-actions .feed-comment-action,
.center-column .living-case-card .tsemou-universal-action-row .feed-comment-action{
  gap:4px!important;
}
.story-workspace .tsemou-story-universal-actions .feed-icon-action svg,
.center-column .living-case-card .tsemou-universal-action-row .feed-icon-action svg{
  width:16px!important;
  height:16px!important;
  stroke-width:1.75!important;
}
.story-workspace .tsemou-story-universal-actions .tsemit-score-pill,
.center-column .living-case-card .tsemou-universal-action-row .tsemit-score-pill{
  min-height:28px!important;
  height:28px!important;
  border-radius:999px!important;
}
/* Story FOLLOW remains a distinct function, but SHARE is now provided only by
 * the universal row so the same action is not rendered twice. */
.story-workspace .case-workspace-controls > [data-case-follow]{
  height:28px!important;
  min-height:28px!important;
}
@media(max-width:720px){
  .tsemou-universal-action-row{gap:9px!important;overflow:visible!important}
}

/* 5.71.1206 — HOME CONTENT/MEDIA CONTRACT R1
 * Root-cause fix from UI TRACE 1205: Astra's global `button` skin was styling
 * gallery navigation as a 530px x ~65px primary button. These rules belong to
 * the MediaFrame component itself and deliberately neutralize host-theme
 * button styling only for media controls. No feed data/routing is touched.
 */
.tsemou-homepage-beta .feed-gallery-stage{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
  border-radius:var(--tsemou-media-radius)!important;
}
.tsemou-homepage-beta .feed-gallery-prev,
.tsemou-homepage-beta .feed-gallery-next,
.tsemou-homepage-beta .feed-video-play{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:rgba(15,23,42,.58)!important;
  color:#fff!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:0 2px 9px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
}
.tsemou-homepage-beta .feed-gallery-prev,
.tsemou-homepage-beta .feed-gallery-next{
  position:absolute!important;
  top:50%!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  border-radius:999px!important;
  font:500 27px/1 Arial,sans-serif!important;
  transform:translateY(-50%)!important;
}
.tsemou-homepage-beta .feed-gallery-prev{left:10px!important;right:auto!important}
.tsemou-homepage-beta .feed-gallery-next{right:10px!important;left:auto!important}
.tsemou-homepage-beta .feed-gallery-prev:hover,
.tsemou-homepage-beta .feed-gallery-next:hover,
.tsemou-homepage-beta .feed-video-play:hover{background:rgba(15,23,42,.76)!important}
.tsemou-homepage-beta .feed-gallery-prev:focus-visible,
.tsemou-homepage-beta .feed-gallery-next:focus-visible,
.tsemou-homepage-beta .feed-video-play:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:2px!important;
}
.tsemou-homepage-beta .feed-gallery-indicator{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:24px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.62)!important;
  color:#fff!important;
  font:600 11px/1 var(--tsemou-font-sans)!important;
  letter-spacing:0!important;
  pointer-events:none!important;
}
.tsemou-homepage-beta .feed-video-play{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  border-radius:999px!important;
  transform:translate(-50%,-50%)!important;
}
.tsemou-homepage-beta .feed-video-play svg{width:18px!important;height:18px!important;display:block!important;fill:currentColor!important}

/* Authoritative Home content-item visual contract. Keep the legacy DOM, but
 * the shared design-system now owns the visible primitive geometry. */
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .story-feed>.living-case-card{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .living-case-topline{
  margin-bottom:4px!important;
  gap:5px!important;
  color:var(--tsemou-muted)!important;
  font:400 12px/1.35 var(--tsemou-font-sans)!important;
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .living-case-title{
  margin:0!important;
  color:var(--tsemou-text)!important;
  font:600 17px/1.28 var(--tsemou-font-sans)!important;
  letter-spacing:-.01em!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .living-case-description{
  margin-top:8px!important;
  color:#4f5b65!important;
  font:400 13px/1.4 var(--tsemou-font-sans)!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .card-media{
  width:calc(100% + 12px)!important;
  margin:0 -6px!important;
  border-radius:var(--tsemou-media-radius)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .living-case-footer{
  margin-top:9px!important;
  padding-top:0!important;
  border-top:0!important;
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .tsemou-universal-action-row{gap:9px!important}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card::after{
  content:"";
  display:block;
  height:1px;
  margin-top:12px;
  background:rgba(132,146,159,.16);
}
body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card+.living-case-card{padding-top:16px!important}
@media(max-width:720px){
  body:not(.entity-workspace-lock) .tsemou-homepage-beta .center-column .living-case-card .living-case-title{-webkit-line-clamp:3!important;font-size:16px!important}
  .tsemou-homepage-beta .feed-gallery-prev{left:8px!important}
  .tsemou-homepage-beta .feed-gallery-next{right:8px!important}
}

/* 5.71.1207 — UNIVERSAL CONTENT HEADING R1
 * Shared renderer now owns metadata/title/summary hierarchy on Home + Story.
 * This is a migration contract, not a page-specific visual patch. */
.tsemou-content-heading{font-family:var(--tsemou-font-sans);min-width:0}
.tsemou-content-heading--feed .living-case-topline{margin-bottom:4px!important}
.tsemou-content-heading--feed .living-case-title{font:600 17px/1.28 var(--tsemou-font-sans)!important;letter-spacing:-.01em!important}
.tsemou-content-heading--feed .living-case-description{font:400 13px/1.4 var(--tsemou-font-sans)!important;color:#4f5b65!important}
body.entity-workspace-lock .story-workspace .tsemou-content-heading--workspace{
  display:flex!important;flex-direction:column!important;gap:5px!important;margin:0!important;padding:0!important;
}
body.entity-workspace-lock .story-workspace .tsemou-content-heading--workspace .workspace-story-type{
  margin:0!important;color:var(--tsemou-muted)!important;font:500 11px/1.35 var(--tsemou-font-sans)!important;letter-spacing:.04em!important;
}
body.entity-workspace-lock .story-workspace .tsemou-content-heading--workspace .case-workspace-title{
  margin:0!important;max-width:760px!important;color:var(--tsemou-text)!important;font:600 clamp(25px,2.35vw,32px)/1.12 var(--tsemou-font-sans)!important;letter-spacing:-.025em!important;
}
body.entity-workspace-lock .story-workspace .tsemou-content-heading--workspace .case-workspace-purpose{
  margin:2px 0 0!important;max-width:760px!important;color:#4f5b65!important;font:400 14px/1.45 var(--tsemou-font-sans)!important;
}
body.entity-workspace-lock .story-workspace .tsemou-content-heading--workspace .story-source-line{
  margin:0!important;color:var(--tsemou-muted)!important;font:400 12px/1.4 var(--tsemou-font-sans)!important;
}
@media(max-width:720px){body.entity-workspace-lock .story-workspace .tsemou-content-heading--workspace .case-workspace-title{font-size:24px!important;line-height:1.15!important}}


/* 5.71.1208 — UNIVERSAL CONTENT HEADING / CASE MIGRATION R1
 * Case Workspace now consumes the same ContentHeading contract as Story.
 * Surface variants are tokens, not separate markup/renderers. */
body.entity-workspace-lock .case-workspace .tsemou-content-heading--workspace{
  display:flex!important;flex-direction:column!important;gap:5px!important;margin:0!important;padding:0!important;min-width:0!important;
}
body.entity-workspace-lock .case-workspace .tsemou-content-heading--workspace .workspace-story-type{
  margin:0!important;color:var(--tsemou-muted)!important;font:500 11px/1.35 var(--tsemou-font-sans)!important;letter-spacing:.04em!important;
}
body.entity-workspace-lock .case-workspace .tsemou-content-heading--workspace .case-workspace-title{
  margin:0!important;max-width:760px!important;color:var(--tsemou-text)!important;font:600 clamp(25px,2.35vw,32px)/1.12 var(--tsemou-font-sans)!important;letter-spacing:-.025em!important;
}
body.entity-workspace-lock .case-workspace .tsemou-content-heading--workspace .case-workspace-purpose{
  margin:2px 0 0!important;max-width:760px!important;color:#4f5b65!important;font:400 14px/1.45 var(--tsemou-font-sans)!important;
}
body.entity-workspace-lock .case-workspace .tsemou-content-heading--workspace .story-source-line{
  margin:0!important;color:var(--tsemou-muted)!important;font:400 12px/1.4 var(--tsemou-font-sans)!important;
}
/* Retire the duplicate legacy Case purpose slot: purpose now lives inside ContentHeading. */
body.entity-workspace-lock .case-workspace .case-workspace-purpose--under-title{display:none!important}
@media(max-width:720px){
  body.entity-workspace-lock .case-workspace .tsemou-content-heading--workspace .case-workspace-title{font-size:24px!important;line-height:1.15!important}
}

/* 5.71.1209 — UNIVERSAL ACTION SYSTEM / CASE WORKSPACE MIGRATION R1
 * Case now consumes the same Vote / Comment / Share / Save action-row renderer
 * as Home + Story. Case-only capabilities remain compact extensions.
 */
.case-workspace .case-workspace-universal-actions{
  display:block!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.case-workspace .case-workspace-universal-actions>.tsemou-universal-action-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  width:100%!important;
  min-height:29px!important;
  margin:0!important;
  padding:0!important;
}
.case-workspace .case-workspace-universal-actions .tsemou-action-extension{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 9px!important;
  border:1px solid var(--tsemou-neutral-200)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--tsemou-neutral-700)!important;
  box-shadow:none!important;
  font:500 12px/1 var(--tsemou-font-sans)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.case-workspace .case-workspace-universal-actions .tsemou-action-extension:hover{
  background:var(--tsemou-neutral-100)!important;
  color:var(--tsemou-text)!important;
}
.case-workspace .case-workspace-universal-actions .tsemou-action-extension strong{
  font:600 11px/1 var(--tsemou-font-sans)!important;
}
.case-workspace .case-workspace-universal-actions .case-header-participant-avatars{
  display:inline-flex!important;
  margin-right:1px!important;
}
.case-workspace .case-workspace-universal-actions .case-header-participant-avatar{
  width:18px!important;
  height:18px!important;
  margin-left:-4px!important;
  border:1px solid #fff!important;
}
.case-workspace .case-workspace-universal-actions .case-header-participant-avatar:first-child{margin-left:0!important}
.case-workspace .case-workspace-universal-actions .feed-icon-action,
.case-workspace .case-workspace-universal-actions .tsemou-universal-vote{
  flex:0 0 auto!important;
}
@media(max-width:720px){
  .case-workspace .case-workspace-universal-actions>.tsemou-universal-action-row{gap:7px!important}
  .case-workspace .case-workspace-universal-actions .tsemou-action-extension{padding:0 8px!important}
}


/* 5.71.1210 — UNIVERSAL PRIMARY ACTION / ACTION MENU R1
   One reusable primary CTA + menu contract. Case is the first migrated consumer. */
.tsemou-primary-action-menu{position:relative;display:inline-flex;align-items:center;z-index:20}
.tsemou-primary-action-menu__trigger{height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:12px!important;letter-spacing:0!important}
.tsemou-primary-action-menu__menu{position:absolute;top:calc(100% + 7px);right:0;left:auto;min-width:220px;padding:6px;background:#fff;border:1px solid var(--tsemou-neutral-200);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.14);z-index:50}
.tsemou-primary-action-menu__menu[hidden]{display:none!important}
.tsemou-primary-action-menu__item{appearance:none!important;width:100%!important;min-height:36px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:7px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--tsemou-neutral-700)!important;text-align:left!important;font:500 13px/1.2 var(--tsemou-font-sans)!important;letter-spacing:0!important;cursor:pointer!important;box-shadow:none!important}
.tsemou-primary-action-menu__item:hover,.tsemou-primary-action-menu__item:focus-visible{background:var(--tsemou-neutral-100)!important;color:var(--tsemou-text)!important;outline:none!important}
.tsemou-primary-action-menu__icon{display:inline-grid;width:20px;place-items:center;flex:0 0 20px;font-size:14px;line-height:1}
@media (max-width:700px){.tsemou-primary-action-menu__menu{right:0;min-width:205px;max-width:calc(100vw - 36px)}}

/* 5.71.1212 — UNIVERSAL DISCUSSION / COMPOSER / EMPTY STATE R1
 * Story + Case now share one discussion composer/empty-state component family.
 * Existing data hooks remain intact; this layer owns presentation only. */
.tsemou-discussion-composer{
  width:100%!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid var(--tsemou-neutral-200)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
  font-family:var(--tsemou-font-sans)!important;
}
.tsemou-discussion-composer__head{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:0!important;padding:0!important}
.tsemou-discussion-composer__input-shell{flex:1 1 auto!important;min-width:0!important;width:auto!important}
.tsemou-discussion-composer textarea[data-workspace-compose-input]{
  display:block!important;width:100%!important;min-height:38px!important;margin:0!important;padding:9px 12px!important;
  resize:vertical!important;border:1px solid var(--tsemou-neutral-200)!important;border-radius:999px!important;background:#fff!important;
  color:var(--tsemou-text)!important;font:400 14px/1.35 var(--tsemou-font-sans)!important;letter-spacing:0!important;box-shadow:none!important;
}
.tsemou-discussion-composer textarea[data-workspace-compose-input]:focus{border-color:#8abfb1!important;outline:2px solid rgba(15,138,114,.12)!important;outline-offset:1px!important}
.tsemou-discussion-composer__tools,.tsemou-discussion-composer__actions{display:flex!important;align-items:center!important;gap:8px!important}
.tsemou-discussion-composer__actions{justify-content:flex-end!important;margin-top:8px!important}
.tsemou-discussion-composer__actions [data-workspace-compose-submit]{
  width:auto!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:0 12px!important;
  border:1px solid transparent!important;border-radius:999px!important;background:var(--tsemou-primary,#0f8a72)!important;color:#fff!important;
  font:600 12px/1 var(--tsemou-font-sans)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;
}
.tsemou-discussion-composer__actions [data-workspace-compose-submit]:hover{filter:brightness(.96)!important}
.tsemou-discussion-composer--case .case-media-icon-button{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;border-radius:999px!important}
.tsemou-discussion-feed{margin-top:10px!important}
.tsemou-discussion-empty{
  display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;
  width:100%!important;margin:0!important;padding:14px!important;border:1px dashed var(--tsemou-neutral-200)!important;border-radius:12px!important;
  background:#fff!important;color:var(--tsemou-neutral-700)!important;box-shadow:none!important;
}
.tsemou-discussion-empty__icon{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:999px!important;background:var(--tsemou-neutral-100)!important;color:var(--tsemou-neutral-600)!important;font-size:15px!important;box-shadow:none!important}
.tsemou-discussion-empty__copy strong{display:block!important;margin:0!important;color:var(--tsemou-text)!important;font:600 14px/1.3 var(--tsemou-font-sans)!important;letter-spacing:0!important}
.tsemou-discussion-empty__copy p{margin:3px 0 0!important;color:var(--tsemou-muted)!important;font:400 12.5px/1.4 var(--tsemou-font-sans)!important}
.tsemou-discussion-empty__action{width:auto!important;min-width:0!important;min-height:32px!important;padding:0 11px!important;border-radius:999px!important;background:var(--tsemou-primary,#0f8a72)!important;border:1px solid transparent!important;color:#fff!important;font:600 12px/1 var(--tsemou-font-sans)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important}
.tsemou-discussion-empty__action:hover{filter:brightness(.96)!important;transform:none!important;box-shadow:none!important}
@media(max-width:720px){
  .tsemou-discussion-composer{padding:9px!important}
  .tsemou-discussion-empty{grid-template-columns:30px minmax(0,1fr)!important;padding:12px!important}
  .tsemou-discussion-empty__icon{width:30px!important;height:30px!important}
  .tsemou-discussion-empty__action{grid-column:1/-1!important;justify-self:start!important;width:auto!important}
}
