/* Theme rows: the same row on the campaign page map and on the full theme list. */
.theme-map-status{font-size:13px;color:var(--muted);margin:0 0 4px}
.theme-map.is-empty .theme-map-status{color:var(--ink)}
.theme-rows{list-style:none;margin:0;padding:0}
.theme-row{display:grid;grid-template-columns:36px minmax(0,1fr) 190px;grid-template-areas:"rank name count" ". status count" ". bar count" ". advice count" ". quote count" ". cite count" ". . count";gap:0 24px;padding:20px 0;border-top:1px solid var(--line);align-items:start}
.theme-row>.kind-bar{grid-area:bar}.theme-row>.quote{grid-area:quote}.theme-row>.cite{grid-area:cite}.theme-row>.theme-meta{grid-area:status}.theme-row>.theme-advice{grid-area:advice}
.theme-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px}
.theme-row .kind-bar{transform-origin:left center}
.theme-count .theme-join{display:inline-block;margin-top:6px;padding:6px 0;font-size:14px}
.theme-count .theme-join[aria-pressed=true]{color:var(--amber);text-decoration-color:var(--amber)}
.theme-count .theme-join:disabled{cursor:default;opacity:1}
.theme-join-status{font-size:12px;margin:2px 0 0}
.theme-join-status:empty{display:none}
.theme-count .source-link{display:block;margin-top:6px}
.theme-row:first-child{border-top:0}
.theme-rank{grid-area:rank;font:500 13px/1.9 var(--mono);color:var(--faint);font-variant-numeric:tabular-nums}
.theme-name{grid-area:name;display:block;font:600 18px/1.35 var(--display);letter-spacing:-.015em;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.theme-name:hover{color:var(--amber)}
.kind-bar{display:flex;gap:2px;height:8px;margin:10px 0 0;min-width:8px;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.kind-seg{flex:1 1 0;min-width:3px;border-radius:2px;transition:flex-grow .4s}
.kind-seg.kind-win{background:var(--kind-win)}.kind-seg.kind-problem{background:var(--kind-problem)}.kind-seg.kind-idea{background:var(--kind-idea)}.kind-seg.kind-mixed{background:var(--kind-mixed)}
.theme-row>.quote{margin-top:12px;font-size:15px;color:#d8cdc2}
.theme-row>.cite{margin-top:4px}
.theme-count{grid-area:count;text-align:right}
.theme-count p{margin:0}
.theme-count .n{font-size:20px}
.theme-count>p:first-child{color:var(--muted);font-size:14px}
.theme-sources{font-size:13px;color:var(--muted);margin:0}
.theme-count .source-link{font-size:13px;margin-top:4px}
.theme-row.is-mine .theme-name:after{content:' ●';color:var(--amber);font-size:12px}
.theme-row.is-joined{box-shadow:inset 3px 0 0 var(--amber);padding-left:12px;margin-left:-12px;transition:box-shadow .3s}
.theme-all{margin-top:12px}
.coverage-line{font-size:13px;line-height:1.55;color:var(--muted);margin:16px 0 0;max-width:var(--measure)}
.theme-map .update-evidence{margin-top:12px}

/* Theme page */
.theme-people{margin:4px 0 0;font:500 18px var(--display);color:var(--muted)}
.theme-people .n{font-size:30px;margin-right:2px}
.theme-hero .kind-bar{max-width:480px;margin-top:14px}
.theme-hero .meta-line{margin-top:10px}
.theme-hero .lede{margin-top:14px;font-size:14px}
.theme-page>.coverage-line{padding:20px 0;margin:0;border-top:1px solid var(--line);max-width:none}
.theme-page>.source-link{margin:0 0 20px}
.quote-rows .row .kind-dot{margin-bottom:4px}
.share-text{font:600 16px/1.45 var(--display);color:var(--ink);margin:0;max-width:var(--measure)}

@media(prefers-reduced-motion:no-preference){
  .theme-row.is-arriving{animation:theme-arrive .4s ease both}
  .theme-row.is-arriving .kind-bar{animation:bar-grow .7s cubic-bezier(.2,.8,.2,1) .1s both}
  .theme-status.is-fresh{animation:chip-in .4s ease both}
  .theme-join.is-landed{animation:land .5s cubic-bezier(.2,1.4,.4,1)}
  .theme-row.is-joined{animation:theme-glow 1.6s ease 2}
  .theme-count .n.bump,#theme-people.bump{animation:theme-bump .5s ease}
  .theme-position:not([hidden]){animation:theme-arrive .3s ease both}
}
@keyframes theme-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes theme-glow{50%{box-shadow:inset 6px 0 0 var(--amber)}}
@keyframes theme-bump{40%{color:var(--amber)}}
@keyframes bar-grow{from{transform:scaleX(0)}to{transform:none}}

@media(max-width:600px){
  .theme-row{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"rank name" ". status" ". count" ". bar" ". advice" ". quote" ". cite";gap:0 12px;padding:16px 0}
  .theme-count .theme-join{margin-top:0}
  .theme-count .source-link{display:inline-flex;margin:0 0 0 auto}
  .theme-row>.theme-count{margin-top:4px}
  .theme-name{font-size:17px}
  .theme-count{text-align:left;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
  .theme-count .n{font-size:17px}
  .theme-count .source-link{margin:0 0 0 auto;min-height:32px}
  .theme-people .n{font-size:26px}
}

/* Themes as tiles: the people count is the hero number */
.theme-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.theme-row,.theme-row:first-child{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "name" "count" "sources" "bar" "advice" "quote" "cite" "status" "actions";gap:0;padding:22px 22px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);position:relative;transition:border-color .25s,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.theme-row:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 18px 40px -24px #000}
.theme-row>.theme-rank{grid-area:top;justify-self:start;font-size:12px;color:var(--faint)}
.theme-row>.theme-meta{grid-area:top;justify-self:end;margin:0}
.theme-row>.theme-name{grid-area:name;font-size:21px;margin-top:14px;padding-right:0}
.theme-row>.kind-bar{grid-area:bar;width:100%!important;margin:16px 0 0;height:6px}
.theme-row>.theme-advice{grid-area:advice;margin-top:16px}
.theme-row>.quote{grid-area:quote;margin-top:16px;font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.theme-row>.quote:before,.theme-row>.quote:after{content:none}
.theme-row>.cite{grid-area:cite;font-size:12px}
.theme-row>.theme-count{display:contents}
.theme-count>p:first-child{grid-area:count;margin:10px 0 0;display:flex;align-items:baseline;gap:8px}
.theme-count .n{font-size:40px;line-height:1;letter-spacing:-.04em}
.theme-people-label{font-size:14px;color:var(--muted)}
.theme-count>.theme-sources{grid-area:sources;margin:2px 0 0;font-size:12px}
.theme-count>.theme-join{grid-area:actions;justify-self:start;margin:18px 0 0;padding:8px 0;font-size:14px}
.theme-count>.theme-join-status{grid-area:status;margin:14px 0 -8px}
.theme-count>.source-link{grid-area:actions;justify-self:end;margin:18px 0 0;font-size:13px}
.theme-row.is-joined{box-shadow:inset 0 0 0 1px var(--amber);padding-left:22px;margin-left:0}
.theme-row.is-mine .theme-name:after{content:none}
.theme-row.is-mine{border-color:#5a4a35}
@media(prefers-reduced-motion:no-preference){
  .theme-row.is-arriving{animation:tile-arrive .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
  .theme-row.is-arriving .kind-bar{animation-delay:calc(var(--i,0)*70ms + .25s)}
}
@keyframes tile-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.theme-map .section-head{margin-bottom:10px}
.theme-map .lede{font-size:14px}
.theme-map .kind-tabs{margin-top:16px}

@media(max-width:900px){.theme-rows{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.theme-row,.theme-row:first-child{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "name" "count" "sources" "bar" "advice" "quote" "cite" "status" "actions";padding:18px 16px 16px}.theme-count .n{font-size:34px}.theme-count{display:contents}.theme-count .source-link{margin:18px 0 0}}

/* Theme page: the count and the standing first, then the words, then your own. */
.theme-hero{padding:36px 0 40px}
.theme-hero h1{font:700 clamp(36px,5vw,64px)/1 var(--display);letter-spacing:-.04em;margin:0 0 28px;max-width:18ch}
.theme-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:stretch}
.theme-hero-count .theme-people{display:flex;align-items:baseline;gap:12px;margin:0;font:500 18px var(--body);color:var(--muted)}
.theme-hero-count .theme-people .n{font:700 clamp(64px,8vw,104px)/.9 var(--display);letter-spacing:-.05em;color:var(--ink);margin:0}
.theme-hero-count .theme-sources{margin:10px 0 0;font-size:14px}
.theme-hero-count .kind-bar{max-width:none;height:6px;margin-top:20px}
.theme-hero-count .meta-line{margin-top:10px}
.theme-hero-count .actions{margin-top:26px;gap:12px 20px}
.theme-same-here{min-height:52px;padding:0 24px;font-size:16px;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .2s}
.theme-same-here:not(:disabled):hover{transform:translateY(-2px)}
.theme-same-here[aria-pressed=true]{background:transparent;color:var(--amber);border-color:var(--amber)}
.theme-same-here[aria-pressed=true]:after{content:none}
.theme-hero-standing{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:14px;align-self:start}
.theme-hero-standing .eyebrow{margin:0}
.theme-hero-standing .theme-status{align-self:flex-start}
.theme-standing-source{margin:0;font:600 16px/1.4 var(--display);color:var(--ink);text-decoration:none}
a.theme-standing-source:hover{color:var(--amber)}
p.theme-standing-source{font:400 14px/1.5 var(--body);color:var(--muted)}
.theme-hero-standing .theme-advice{margin:0;font-size:15px}
.theme-quotes .quote-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.theme-quotes .quote-rows .row,.theme-quotes .quote-rows .row:first-child{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.theme-quotes .quote{font-size:15px;line-height:1.55}
.theme-quotes .quote:before,.theme-quotes .quote:after{content:none}
.stage.stage-inline{min-height:0;display:block;padding:48px 0;border-top:1px solid var(--line)}
.stage.stage-inline .section-head{margin-bottom:22px}
.theme-page .theme-standing{display:none}
@media(prefers-reduced-motion:no-preference){
  .theme-hero h1,.theme-hero-count,.theme-hero-standing{animation:reveal .55s cubic-bezier(.2,.8,.2,1) both}
  .theme-hero-count{animation-delay:.08s}.theme-hero-standing{animation-delay:.16s}
  .theme-hero-count .kind-bar{transform-origin:left;animation:bar-grow .8s cubic-bezier(.2,.8,.2,1) .25s both}
  .theme-quotes .quote-rows .row{animation:tile-arrive .5s cubic-bezier(.2,.8,.2,1) both}
  .theme-quotes .quote-rows .row:nth-child(2){animation-delay:.06s}.theme-quotes .quote-rows .row:nth-child(3){animation-delay:.12s}.theme-quotes .quote-rows .row:nth-child(4){animation-delay:.18s}
}
@media(max-width:800px){
  .theme-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .theme-quotes .quote-rows{grid-template-columns:minmax(0,1fr)}
  .theme-same-here{width:100%}
}
.theme-hero-note{margin:14px 0 0;font-size:12px;color:var(--faint);max-width:56ch}
