:root {
  --ss-bg: #f3f2f0;
  --ss-paper: #ffffff;
  --ss-ink: #28231f;
  --ss-muted: #716963;
  --ss-line: #e5ded8;
  --ss-green: #e56717;
  --ss-green-dark: #b94d12;
  --ss-accent: #ff7f32;
  --ss-accent-soft: #fff1e7;
  --ss-wheat: #fde5cb;
  --ss-rust: #c36241;
  --ss-error: #9d2f28;
  --ss-error-bg: #fff0ed;
  --ss-shadow: 0 12px 34px rgba(75, 48, 30, .07);
  --ss-control-bg: #ffffff;
  --ss-control-border: #aaa99f;
  --ss-surface-subtle: #fbfaf6;
  --ss-surface-muted: #f1efe8;
  --ss-surface-code: #edeae1;
  --ss-paper-translucent: rgba(255, 253, 248, .88);
  --ss-paper-translucent-soft: rgba(255, 253, 248, .72);
  --ss-focus-ring: rgba(242, 106, 61, .28);
  --ss-focus-ring-soft: rgba(255, 127, 50, .2);
  --ss-success-border: #e4a57f;
  --ss-success-ink: #87370f;
  --ss-success-bg: #fff1e7;
  --ss-publish-border: #edb38f;
  --ss-publish-bg: #fff7f1;
  --ss-comment-border: #e6a079;
  --ss-tag-ink: #8f3e16;
  --ss-card-hover: #dfbda8;
  --ss-brand-shadow: rgba(229, 103, 23, .2);
  --ss-menu-shadow: rgba(50, 32, 20, .14);
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Feed-backed Follow shortcuts. */
.ss-profile-actions,
.ss-follow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .8rem;
}
.ss-profile-actions { margin-top: .9rem; }
.ss-follow form { display: inline; margin: 0; }
.ss-follow__action,
.ss-follow__feed,
.ss-follow .ss-link-button {
  color: var(--ss-rust);
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.35;
}
.ss-follow__state {
  color: var(--ss-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ss-tag-directory li {
  display: flex;
  align-items: baseline;
  gap: .55rem;
}
.ss-tag-directory .ss-follow {
  display: inline-flex;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.ss-body {
  margin: 0;
  color: var(--ss-ink);
  background: var(--ss-bg);
  font-size: 16px;
  line-height: 1.6;
}

a { color: var(--ss-green); text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { color: var(--ss-green-dark); }

.ss-shell { width: min(1320px, calc(100% - 2rem)); margin-inline: auto; }
.ss-main { min-height: calc(100vh - 13rem); padding: 2.6rem 2.2rem 5rem; }

.ss-skip {
  position: fixed;
  top: .5rem;
  left: .5rem;
  z-index: 100;
  padding: .65rem 1rem;
  background: var(--ss-ink);
  color: white;
  transform: translateY(-150%);
}
.ss-skip:focus { transform: none; }

.ss-header {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid rgba(23, 33, 27, .12);
  background: rgba(248, 246, 240, .92);
  backdrop-filter: blur(14px);
}
.ss-header__inner { min-height: 4.6rem; display: flex; align-items: center; gap: 2rem; }
.ss-brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--ss-ink); font-weight: 800; text-decoration: none; letter-spacing: -.02em; }
.ss-brand__mark { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: white; background: var(--ss-green); font-family: Georgia, serif; }
.ss-header nav { display: flex; gap: .35rem; }
.ss-header nav a { padding: .45rem .75rem; border-radius: 999px; color: var(--ss-muted); text-decoration: none; font-weight: 650; }
.ss-header nav a[aria-current="page"] { color: var(--ss-green-dark); background: var(--ss-accent-soft); }
.ss-status { margin-left: auto; padding: .25rem .65rem; border: 1px solid var(--ss-line); border-radius: 999px; color: var(--ss-muted); font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }

.ss-hero { max-width: 760px; margin: 0 0 3.5rem; }
.ss-hero--compact { margin-bottom: 2rem; }
.ss-hero h1, .ss-publication h1 { margin: .15rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.2rem, 8vw, 6.6rem); font-weight: 500; line-height: .95; letter-spacing: -.055em; }
.ss-hero--compact h1 { font-size: clamp(3rem, 7vw, 5.5rem); }
.ss-hero > p:last-child { max-width: 680px; color: var(--ss-muted); font-size: 1.1rem; }
.ss-kicker { margin: 0; color: var(--ss-accent); font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

.ss-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.ss-card {
  position: relative;
  padding: 1.6rem;
  border: 1px solid var(--ss-line);
  border-radius: 1.2rem;
  background: var(--ss-paper-translucent);
  box-shadow: var(--ss-shadow);
}
.ss-card__context { margin: 0 0 .55rem; color: var(--ss-accent); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-card h2 { margin: 0 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 500; line-height: 1.12; }
.ss-card h2 a { color: var(--ss-ink); text-decoration: none; }
.ss-card h2 a::after { position: absolute; inset: 0; content: ""; border-radius: inherit; }
.ss-card h2 a:focus-visible::after { outline: 3px solid var(--ss-accent); outline-offset: 3px; }
.ss-card__excerpt { color: var(--ss-ink); }
.ss-card__open { position: relative; display: inline-block; margin-top: .7rem; font-weight: 750; }

.ss-meta { display: flex; flex-wrap: wrap; gap: .3rem .85rem; margin: .5rem 0 1rem; color: var(--ss-muted); font-size: .86rem; }
.ss-meta span + span::before, .ss-meta time::before { margin-right: .85rem; color: #aaa89f; content: "·"; }
.ss-tags { position: relative; display: flex; flex-wrap: wrap; gap: .35rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.ss-tags li { padding: .2rem .55rem; border-radius: 999px; color: var(--ss-green-dark); background: var(--ss-accent-soft); font-size: .78rem; font-weight: 700; }

.ss-empty, .ss-error {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--ss-line);
  border-radius: 1.2rem;
  background: var(--ss-paper);
}
.ss-empty h1, .ss-empty h2, .ss-error h2 { margin: 0 0 .45rem; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 500; }
.ss-empty p, .ss-error p { max-width: 700px; color: var(--ss-muted); }
.ss-empty--instruction { margin-top: 1.2rem; border-style: dashed; background: transparent; }
.ss-error { margin: 0 0 1.25rem; border-color: rgba(157, 47, 40, .35); background: var(--ss-error-bg); }
.ss-error h2 { color: var(--ss-error); }

.ss-search-form, .ss-account-form { margin: 0 0 2rem; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--ss-line); border-radius: 1.35rem; background: var(--ss-paper); box-shadow: var(--ss-shadow); }
.ss-account-form { display: grid; gap: 1.1rem; max-width: 680px; }
.ss-form-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; }
.ss-form-intro h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 500; }
.ss-form-intro p { margin: .2rem 0 0; color: var(--ss-muted); }
.ss-positive-rule { max-width: 18rem; padding: .65rem .8rem; border-left: 3px solid var(--ss-accent); background: var(--ss-accent-soft); font-size: .86rem; }
.ss-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.ss-field { min-width: 0; }
.ss-field label, .ss-share > label { display: block; margin-bottom: .35rem; font-weight: 750; }
.ss-field textarea, .ss-field > input, .ss-share input, .ss-min input {
  width: 100%;
  border: 1px solid var(--ss-control-border);
  border-radius: .65rem;
  color: var(--ss-ink);
  background: var(--ss-control-bg);
  font: inherit;
}
.ss-field textarea { min-height: 5.4rem; padding: .7rem .8rem; resize: vertical; }
.ss-field > input { min-height: 2.9rem; padding: .65rem .8rem; }
.ss-field textarea:focus, .ss-field > input:focus, .ss-share input:focus, .ss-min input:focus { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-field p { margin: .3rem 0 0; color: var(--ss-muted); font-size: .78rem; line-height: 1.4; }
.ss-field--invalid textarea { border-color: var(--ss-error); }
.ss-checkbox { display: flex; align-items: flex-start; gap: .55rem; color: var(--ss-muted); font-size: .9rem; }
.ss-checkbox input { margin-top: .18rem; accent-color: var(--ss-green); }

.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ss-reaction-details { margin-top: 1.7rem; border: 1px solid var(--ss-line); border-radius: .8rem; background: var(--ss-surface-subtle); }
.ss-reaction-details summary { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; font-weight: 800; cursor: pointer; }
.ss-reaction-details summary span { color: var(--ss-muted); font-size: .78rem; font-weight: 600; }
.ss-reaction-details[open] summary { border-bottom: 1px solid var(--ss-line); }
.ss-reactions { margin: 0; padding: 1rem; border: 0; }
.ss-reactions legend { font-weight: 800; }
.ss-reactions > p { margin: .15rem 0 1rem; color: var(--ss-muted); font-size: .85rem; }
.ss-reaction-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .45rem; }
.ss-reaction { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .3rem .5rem; padding: .55rem; border: 1px solid var(--ss-line); border-radius: .65rem; background: var(--ss-surface-subtle); font-size: .76rem; }
.ss-reaction > span { grid-row: 1 / 4; font-size: 1.35rem; }
.ss-reaction label { display: flex; align-items: center; gap: .25rem; }
.ss-min input { width: 4.5rem; height: 1.8rem; padding-inline: .35rem; }

.ss-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1.6rem; }
.ss-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: .65rem 1.1rem;
  border: 1px solid var(--ss-green);
  border-radius: 999px;
  color: white;
  background: var(--ss-green);
  font: inherit;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}
.ss-button:hover { color: white; background: var(--ss-green-dark); }
.ss-button:disabled { cursor: not-allowed; opacity: .48; }
.ss-button--quiet { color: var(--ss-green); background: transparent; }
.ss-button--quiet:hover { color: white; }
.ss-button--danger { border-color: var(--ss-error); background: var(--ss-error); }
.ss-button--danger:hover { background: #731f1b; }

.ss-section-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: 1.25rem 0 2rem; }
.ss-section-actions form { margin: 0; }
.ss-feed-list { display: grid; gap: 1rem; }
.ss-feed-card { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.3rem 1.45rem; border: 1px solid var(--ss-line); border-radius: 1rem; background: var(--ss-paper); box-shadow: var(--ss-shadow); }
.ss-feed-card h2 { margin: .2rem 0 .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; }
.ss-feed-card p { margin: .3rem 0; overflow-wrap: anywhere; }
.ss-feed-actions { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: .65rem; flex: 0 0 auto; }
.ss-feed-actions form { margin: 0; }
.ss-state-row { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .75rem; }
.ss-state { display: inline-flex; padding: .28rem .58rem; border: 1px solid var(--ss-control-border); border-radius: 999px; background: var(--ss-surface-muted); color: var(--ss-muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ss-state--enabled, .ss-state--healthy, .ss-state--ready { border-color: var(--ss-success-border); background: var(--ss-success-bg); color: var(--ss-success-ink); }
.ss-state--disabled, .ss-state--no_sources { border-color: var(--ss-control-border); background: var(--ss-surface-muted); }
.ss-state--quarantined, .ss-state--degraded { border-color: #c56d64; background: #f9e5e2; color: var(--ss-error); }
.ss-state--incomplete { border-color: #c29a4e; background: #f8edd5; color: #725016; }
.ss-inline-form { margin: 1rem 0 2rem; }
.ss-save-feed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .85fr); gap: 1.5rem; align-items: end; margin: 1.2rem 0 2rem; padding: 1.25rem; border: 1px solid var(--ss-line); border-left: 4px solid var(--ss-accent); border-radius: 1rem; background: var(--ss-paper); }
.ss-save-feed h2 { margin: .2rem 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; font-weight: 500; }
.ss-save-feed p { margin: .35rem 0; }
.ss-save-feed label { display: block; margin-bottom: .35rem; font-weight: 750; }
.ss-save-row { display: flex; gap: .55rem; }
.ss-save-row input { min-width: 0; width: 100%; padding: .65rem .75rem; border: 1px solid var(--ss-control-border); border-radius: .65rem; color: var(--ss-ink); background: var(--ss-control-bg); font: inherit; }
.ss-save-row input:focus { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-small { color: var(--ss-muted); font-size: .78rem; }
.ss-warning { margin: 1.2rem 0; padding: 1.2rem; border: 1px solid #c29a4e; border-radius: 1rem; background: #fff8e8; }
.ss-danger { margin: 1.2rem 0; padding: 1.2rem; border: 1px solid #c56d64; border-radius: 1rem; background: #fff2f0; }
.ss-definition { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1rem; margin: 1.2rem 0; }
.ss-definition dt { font-weight: 800; }
.ss-definition dd { margin: 0; overflow-wrap: anywhere; }
.ss-edit-label { margin-bottom: 1.4rem; }
.ss-edit-label label { display: block; margin-bottom: .35rem; font-weight: 750; }
.ss-edit-label input { width: min(100%, 38rem); padding: .65rem .75rem; border: 1px solid var(--ss-control-border); border-radius: .65rem; color: var(--ss-ink); background: var(--ss-control-bg); font: inherit; }
.ss-edit-label input:focus { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-edit-label.ss-field--invalid input { border-color: var(--ss-error); }
.ss-stored-object { max-height: 18rem; overflow: auto; padding: .8rem; border-radius: .65rem; background: var(--ss-surface-code); white-space: pre-wrap; overflow-wrap: anywhere; font-size: .78rem; }
.ss-composer { margin: 1.25rem 0 2rem; padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid var(--ss-line); border-radius: 1.2rem; background: var(--ss-paper); box-shadow: var(--ss-shadow); }
.ss-composer > label, .ss-publish-panel label { display: block; margin: 1rem 0 .35rem; font-weight: 800; }
.ss-composer > label:first-of-type { margin-top: 0; }
.ss-composer input, .ss-composer textarea, .ss-composer select, .ss-publish-panel select { width: 100%; padding: .7rem .8rem; border: 1px solid var(--ss-control-border); border-radius: .65rem; color: var(--ss-ink); background: var(--ss-control-bg); font: inherit; }
.ss-composer textarea { min-height: 20rem; resize: vertical; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; line-height: 1.55; }
.ss-composer input:focus, .ss-composer textarea:focus, .ss-composer select:focus, .ss-publish-panel select:focus { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-autosave-status { min-height: 1.4em; margin: 1rem 0 0; color: var(--ss-muted); font-size: .8rem; }
.ss-autosave-status[data-state="saving"] { color: var(--ss-rust); }
.ss-autosave-status[data-state="error"] { color: var(--ss-error); }
.ss-composer--readonly pre { overflow: auto; padding: 1rem; border-radius: .65rem; background: var(--ss-surface-code); white-space: pre-wrap; overflow-wrap: anywhere; }
.ss-publish-panel { margin: 1.25rem 0 2rem; padding: 1.25rem; border: 1px solid var(--ss-publish-border); border-radius: 1rem; background: var(--ss-publish-bg); }
.ss-publish-panel h2 { margin: .2rem 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; font-weight: 500; }
.ss-publish-panel form { display: grid; grid-template-columns: minmax(12rem, 1fr) auto; gap: .55rem; align-items: end; margin-top: 1rem; }
.ss-publish-panel form label { grid-column: 1 / -1; }
.ss-reaction-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, auto); gap: 1.25rem; align-items: center; margin-top: 2rem; padding: 1.1rem; border-top: 1px solid var(--ss-line); border-bottom: 1px solid var(--ss-line); }
.ss-reaction-panel h2 { margin: .15rem 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 500; }
.ss-reaction-panel form { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; margin: .35rem 0; }
.ss-reaction-panel form label { flex-basis: 100%; font-weight: 750; }
.ss-reaction-panel select { min-width: 7rem; padding: .65rem .75rem; border: 1px solid var(--ss-control-border); border-radius: .65rem; background: var(--ss-control-bg); font: inherit; }
.ss-reaction-counts { display: flex; flex-wrap: wrap; gap: .45rem; }
.ss-reaction-counts > span { padding: .25rem .5rem; border-radius: 999px; background: #f1efe8; }
.ss-link-button { padding: 0; border: 0; color: var(--ss-green); background: transparent; font: inherit; font-weight: 750; text-decoration: underline; cursor: pointer; }
.ss-link-button:hover { color: var(--ss-green-dark); }
.ss-link-button--danger { color: var(--ss-error); }

.ss-search-state { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: 2rem; align-items: start; margin: 3rem 0 1.25rem; }
.ss-search-state h2 { margin: .2rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 3vw, 2.6rem); font-weight: 500; line-height: 1.15; overflow-wrap: anywhere; }
.ss-share { padding: 1rem; border: 1px solid var(--ss-line); border-radius: .9rem; background: var(--ss-paper-translucent); }
.ss-share-row { display: flex; gap: .45rem; }
.ss-share input { min-width: 0; padding: .6rem .7rem; }
.ss-share .ss-button { min-height: 2.5rem; padding: .45rem .8rem; white-space: nowrap; }
.ss-share p { margin: .55rem 0 0; color: var(--ss-muted); font-size: .76rem; line-height: 1.4; }

.ss-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-top: 2rem; padding: 1rem 0; border-top: 1px solid var(--ss-line); color: var(--ss-muted); }
.ss-pagination a { font-weight: 750; }
.ss-pagination a:last-child { text-align: right; }

.ss-publication { max-width: 820px; margin-inline: auto; padding: clamp(1.4rem, 5vw, 3.8rem); border: 1px solid var(--ss-line); border-radius: 1.4rem; background: var(--ss-paper); box-shadow: var(--ss-shadow); }
.ss-publication h1 { margin-top: .6rem; font-size: clamp(2.6rem, 7vw, 5rem); }
.ss-prose { margin-top: 2rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; line-height: 1.75; }
.ss-prose :first-child { margin-top: 0; }
.ss-prose pre, .ss-prose code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .9em; }
.ss-prose pre { overflow-x: auto; padding: 1rem; border-radius: .65rem; background: var(--ss-surface-code); }
.ss-prose table { width: 100%; border-collapse: collapse; }
.ss-prose th, .ss-prose td { padding: .55rem; border: 1px solid var(--ss-line); text-align: left; }

.ss-discussion { max-width: 820px; margin: 2rem auto 0; padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid var(--ss-line); border-radius: 1.25rem; background: var(--ss-paper-translucent-soft); }
.ss-discussion-error { max-width: 820px; margin: 2rem auto 0; }
.ss-discussion__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.ss-discussion__heading h2 { margin: .15rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 500; }
.ss-discussion__access { padding: .8rem 0; }
.ss-comment-form { margin: 1rem 0 1.5rem; padding: 1rem; border: 1px solid var(--ss-line); border-radius: .85rem; background: var(--ss-paper); }
.ss-comment-form label { display: block; margin-bottom: .4rem; font-weight: 800; }
.ss-comment-form textarea { width: 100%; padding: .7rem .8rem; border: 1px solid var(--ss-control-border); border-radius: .65rem; color: var(--ss-ink); background: var(--ss-control-bg); font: inherit; line-height: 1.5; resize: vertical; }
.ss-comment-form textarea:focus { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-comment-form .ss-button { margin-top: .55rem; }
.ss-comment-list { display: grid; gap: .75rem; margin-top: 1.25rem; }
.ss-comment { margin-inline-start: min(calc(var(--ss-comment-depth) * 1.35rem), 8rem); padding: 1rem; border: 1px solid var(--ss-line); border-left: 3px solid var(--ss-comment-border); border-radius: .8rem; background: var(--ss-paper); scroll-margin-top: 1rem; }
.ss-comment:target { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-comment__meta { display: flex; flex-wrap: wrap; gap: .35rem .8rem; margin: 0; color: var(--ss-muted); font-size: .8rem; }
.ss-comment__body { margin-top: .75rem; font-size: 1rem; }
.ss-comment__edited { font-style: italic; }
.ss-comment__placeholder { margin: 0; color: var(--ss-muted); font-style: italic; }
.ss-comment__manage { margin: .65rem 0 0; font-size: .8rem; }
.ss-comment--withdrawn, .ss-comment--safety_hidden, .ss-comment--unavailable, .ss-comment--deleted { border-left-color: #aaa99f; background: #f1efe8; }
.ss-reply { margin-top: .8rem; }
.ss-reply summary { width: max-content; color: var(--ss-green); font-weight: 750; cursor: pointer; }
.ss-reply .ss-comment-form { margin-bottom: 0; }
.ss-discussion__empty { margin-top: 1rem; padding: 1.25rem; }
.ss-comment-reaction { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .75rem; padding-top: .65rem; border-top: 1px solid var(--ss-line); }
.ss-comment-reaction__control summary { color: var(--ss-green); font-size: .8rem; font-weight: 750; cursor: pointer; }
.ss-comment-reaction__control form { display: flex; flex-wrap: wrap; align-items: end; gap: .4rem; margin-top: .55rem; }
.ss-comment-reaction__control label { flex-basis: 100%; font-size: .76rem; font-weight: 750; }
.ss-comment-reaction__control select { min-width: 6rem; padding: .5rem .6rem; border: 1px solid var(--ss-control-border); border-radius: .6rem; background: var(--ss-control-bg); font: inherit; }
.ss-comment-reaction__control .ss-button { min-height: 2.35rem; padding: .4rem .75rem; }
.ss-comment-editor textarea { min-height: 14rem; }

.ss-header {
  position: relative;
  border-bottom: 1px solid var(--ss-line);
  background: var(--ss-paper);
  backdrop-filter: none;
}
.ss-header__inner { min-height: 4.25rem; gap: 1.8rem; }
.ss-brand { gap: .62rem; font-size: .96rem; letter-spacing: -.025em; white-space: nowrap; }
.ss-brand__mark {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: .55rem;
  background: linear-gradient(145deg, var(--ss-accent), var(--ss-green-dark));
  font-family: inherit;
  font-size: .86rem;
  box-shadow: 0 5px 12px var(--ss-brand-shadow);
}
.ss-nav { display: flex; align-items: center; gap: .15rem; }
.ss-header .ss-nav a,
.ss-account-menu summary {
  padding: .48rem .66rem;
  border-radius: .45rem;
  color: var(--ss-muted);
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}
.ss-header .ss-nav a:hover,
.ss-account-menu summary:hover { color: var(--ss-ink); background: var(--ss-accent-soft); }
.ss-header .ss-nav a[aria-current="page"] { color: var(--ss-green-dark); background: var(--ss-accent-soft); }
.ss-nav--account { position: relative; margin-left: auto; }
.ss-header .ss-nav__join { color: var(--ss-green-dark); }
.ss-header .ss-nav__login { margin-left: .25rem; border: 1px solid var(--ss-green); color: var(--ss-green-dark); }
.ss-header .ss-nav__login:hover { color: #fff; background: var(--ss-green); }
.ss-account-menu { position: relative; }
.ss-account-menu summary { list-style: none; cursor: pointer; }
.ss-account-menu summary::-webkit-details-marker { display: none; }
.ss-account-menu summary::after { margin-left: .4rem; content: "⌄"; }
.ss-account-menu[open] summary { color: var(--ss-green-dark); background: var(--ss-accent-soft); }
.ss-account-menu__panel {
  position: absolute;
  top: calc(100% + .55rem);
  right: 0;
  z-index: 20;
  display: grid;
  min-width: 12.5rem;
  padding: .45rem;
  border: 1px solid var(--ss-line);
  border-radius: .7rem;
  background: var(--ss-paper);
  box-shadow: 0 18px 44px var(--ss-menu-shadow);
}
.ss-account-menu__panel a { white-space: nowrap; }

.ss-site-layout {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr) 218px;
  align-items: stretch;
  min-height: calc(100vh - 4.25rem);
  border-inline: 1px solid var(--ss-line);
  background: var(--ss-paper);
}
.ss-site-layout > .ss-main {
  width: auto;
  min-width: 0;
  margin: 0;
  border-inline: 1px solid var(--ss-line);
}
.ss-rail { min-width: 0; padding: 2rem 1rem; color: var(--ss-muted); font-size: .8rem; }
.ss-rail--left { grid-column: 1; grid-row: 1; }
.ss-site-layout > .ss-main { grid-column: 2; grid-row: 1; }
.ss-rail--right { grid-column: 3; grid-row: 1; }
.ss-rail__block { display: grid; gap: .34rem; margin: 0 0 2rem; }
.ss-rail__block h2,
.ss-rail-search > label {
  margin: 0 0 .45rem;
  color: var(--ss-ink);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ss-rail__block a { width: fit-content; color: var(--ss-muted); text-decoration: none; }
.ss-rail__block a:hover { color: var(--ss-green-dark); }
.ss-rail__note { margin-top: 2.4rem; padding-top: 1rem; border-top: 1px solid var(--ss-line); }
.ss-rail__note span { color: var(--ss-accent); font-size: .65rem; font-weight: 850; letter-spacing: .08em; }
.ss-rail__note p { margin: .45rem 0 0; line-height: 1.5; }
.ss-rail-search { margin: 0 0 2rem; }
.ss-rail-search > label { display: block; }
.ss-rail-search > div { display: grid; grid-template-columns: minmax(0, 1fr) 2.1rem; }
.ss-rail-search input {
  min-width: 0;
  width: 100%;
  height: 2.15rem;
  padding: .45rem .55rem;
  border: 1px solid var(--ss-line);
  border-right: 0;
  border-radius: .45rem 0 0 .45rem;
  color: var(--ss-ink);
  background: var(--ss-control-bg);
  font: inherit;
}
.ss-rail-search button {
  border: 1px solid var(--ss-green);
  border-radius: 0 .45rem .45rem 0;
  color: #fff;
  background: var(--ss-green);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.ss-rail-search input:focus { position: relative; z-index: 1; outline: 3px solid var(--ss-focus-ring-soft); border-color: var(--ss-accent); }
.ss-rail__steps { display: grid; gap: .6rem; margin: 0; padding: 0 0 0 1.25rem; }
.ss-rail__steps li::marker { color: var(--ss-accent); font-weight: 850; }
.ss-rail__more { margin-top: .4rem; font-weight: 750; }
.ss-rail__principle { padding-top: 1rem; border-top: 1px solid var(--ss-line); }
.ss-rail__principle p { margin: 0; line-height: 1.55; }

.ss-hero { max-width: 690px; margin: 0 0 2rem; }
.ss-hero--compact { margin-bottom: 1.6rem; }
.ss-hero h1,
.ss-publication h1,
.ss-static-page h1 {
  margin: .25rem 0 .75rem;
  font-family: inherit;
  font-size: clamp(2.25rem, 5vw, 3.8rem);
  font-weight: 760;
  line-height: 1.02;
  letter-spacing: -.048em;
}
.ss-hero--compact h1 { font-size: clamp(2.1rem, 4vw, 3.25rem); }
.ss-hero > p:last-child { max-width: 620px; font-size: 1rem; }
.ss-kicker { color: var(--ss-rust); font-size: .68rem; letter-spacing: .1em; }
.ss-results { grid-template-columns: 1fr; gap: .8rem; }
.ss-card {
  padding: 1.35rem 1.45rem;
  border-radius: .7rem;
  background: var(--ss-paper);
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ss-card:hover { border-color: var(--ss-card-hover); box-shadow: var(--ss-shadow); transform: translateY(-1px); }
.ss-card h2 { margin-bottom: .55rem; font-family: inherit; font-size: clamp(1.35rem, 3vw, 1.85rem); font-weight: 750; letter-spacing: -.028em; }
.ss-card__excerpt { max-width: 62ch; }
.ss-tags li { color: var(--ss-tag-ink); background: var(--ss-accent-soft); }
.ss-meta { font-size: .79rem; }
.ss-empty,
.ss-error,
.ss-search-form,
.ss-account-form,
.ss-composer,
.ss-publication,
.ss-discussion,
.ss-feed-card { border-radius: .75rem; box-shadow: none; }
.ss-empty { padding: 1.7rem; }
.ss-empty--featured { position: relative; overflow: hidden; padding-left: 2rem; }
.ss-empty--featured::before { position: absolute; inset: 0 auto 0 0; width: .28rem; background: linear-gradient(var(--ss-accent), var(--ss-rust)); content: ""; }
.ss-empty__actions { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.2rem 0 0; }
.ss-empty h1,
.ss-empty h2,
.ss-error h2,
.ss-form-intro h2,
.ss-feed-card h2,
.ss-save-feed h2,
.ss-publish-panel h2,
.ss-reaction-panel h2,
.ss-search-state h2,
.ss-discussion__heading h2 { font-family: inherit; font-weight: 740; letter-spacing: -.025em; }
.ss-search-form,
.ss-account-form { padding: clamp(1.1rem, 3vw, 1.55rem); }
.ss-button { border-radius: .5rem; }
.ss-button--quiet { color: var(--ss-green-dark); }
.ss-positive-rule { background: var(--ss-accent-soft); }
.ss-checkbox input { accent-color: var(--ss-green); }
.ss-state--enabled,
.ss-state--healthy,
.ss-state--ready { border-color: var(--ss-success-border); color: var(--ss-success-ink); background: var(--ss-success-bg); }
.ss-publish-panel { border-color: var(--ss-publish-border); background: var(--ss-publish-bg); }
.ss-comment { border-left-color: var(--ss-comment-border); }
.ss-publication { max-width: 760px; padding: clamp(1.3rem, 4vw, 2.6rem); }
.ss-publication h1 { font-size: clamp(2.2rem, 5vw, 3.7rem); }

.ss-static-page { max-width: 760px; }
.ss-static-page__intro { margin-bottom: 2.2rem; }
.ss-static-page__intro > p:last-child { max-width: 65ch; color: var(--ss-muted); font-size: 1.05rem; }
.ss-principle-list { display: grid; gap: 0; border-top: 1px solid var(--ss-line); }
.ss-principle-list section { display: grid; grid-template-columns: minmax(10rem, .75fr) 1.4fr; gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--ss-line); }
.ss-principle-list h2 { margin: 0; font-size: 1rem; letter-spacing: -.015em; }
.ss-principle-list p { margin: 0; color: var(--ss-muted); }
.ss-static-page__action { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }

.ss-footer { padding: 2.7rem 0 1rem; border-top: 1px solid var(--ss-line); color: var(--ss-muted); background: var(--ss-paper); font-size: .82rem; }
.ss-footer__grid { display: grid; grid-template-columns: minmax(16rem, 1.6fr) repeat(3, minmax(8rem, 1fr)); gap: 2.5rem; }
.ss-footer__brand p { max-width: 22rem; margin: .85rem 0 0; line-height: 1.55; }
.ss-footer__links { display: grid; align-content: start; gap: .35rem; }
.ss-footer__links h2 { margin: 0 0 .45rem; color: var(--ss-ink); font-size: .69rem; letter-spacing: .08em; text-transform: uppercase; }
.ss-footer__links a { width: fit-content; color: var(--ss-muted); text-decoration: none; }
.ss-footer__links a:hover { color: var(--ss-green-dark); }
.ss-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 2.3rem; padding-top: 1rem; border-top: 1px solid var(--ss-line); font-size: .72rem; }
.ss-footer__bottom p { margin: 0; }

@media (max-width: 1080px) {
  .ss-site-layout { grid-template-columns: minmax(0, 1fr) 210px; }
  .ss-rail--left { display: none; }
  .ss-site-layout > .ss-main { grid-column: 1; border-left: 0; }
  .ss-rail--right { grid-column: 2; }
  .ss-nav--primary { overflow-x: auto; scrollbar-width: none; }
}

@media (max-width: 850px) {
  .ss-site-layout { display: block; }
  .ss-rail { display: none; }
  .ss-site-layout > .ss-main { border-inline: 0; }
  .ss-results, .ss-field-grid, .ss-search-state, .ss-save-feed { grid-template-columns: 1fr; }
  .ss-reaction-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ss-main { padding: 2.2rem 1.5rem 4rem; }
  .ss-header__inner { gap: 1rem; }
  .ss-nav--primary { order: 3; flex-basis: 100%; padding-bottom: .55rem; }
  .ss-header__inner { flex-wrap: wrap; padding-top: .55rem; }
  .ss-nav--account { margin-left: auto; }
  .ss-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ss-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 590px) {
  .ss-shell { width: min(100% - 1.1rem, 1320px); }
  .ss-header__inner { min-height: 4rem; gap: .55rem; }
  .ss-header .ss-nav a, .ss-account-menu summary { padding: .42rem .5rem; font-size: .76rem; }
  .ss-main { padding: 1.8rem .8rem 3.5rem; }
  .ss-hero h1 { font-size: 2.45rem; }
  .ss-form-intro { display: block; }
  .ss-positive-rule { max-width: none; }
  .ss-reaction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ss-share-row { display: block; }
  .ss-save-row, .ss-feed-card { display: block; }
  .ss-reaction-panel { grid-template-columns: 1fr; }
  .ss-publish-panel form { grid-template-columns: 1fr; }
  .ss-save-row .ss-button { width: 100%; margin-top: .55rem; }
  .ss-feed-actions { flex-direction: row; align-items: center; justify-content: flex-start; margin-top: 1rem; }
  .ss-share .ss-button { width: 100%; margin-top: .45rem; }
  .ss-comment { margin-inline-start: min(calc(var(--ss-comment-depth) * .45rem), 2.5rem); }
  .ss-principle-list section { grid-template-columns: 1fr; gap: .45rem; }
  .ss-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.7rem 1rem; }
  .ss-footer__bottom { display: block; }
  .ss-footer__bottom p + p { margin-top: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Wave 28 — free editorial shell, post-first Home, and compact navigation. */
body.ss-body {
  color: var(--ss-ink);
  background: var(--ss-bg);
  font-size: 15px;
  line-height: 1.55;
}

.ss-shell { width: min(1240px, calc(100% - 3rem)); }
.ss-header {
  position: relative;
  border-bottom: 1px solid color-mix(in srgb, var(--ss-line) 70%, transparent);
  background: var(--ss-paper);
}
.ss-header__inner { min-height: 5rem; gap: clamp(1.2rem, 3vw, 3.4rem); }
.ss-brand { gap: .72rem; font-size: 1.15rem; font-weight: 760; }
.ss-brand__mark {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 58% 42% 62% 38% / 40% 55% 45% 60%;
  color: var(--ss-paper);
  background: var(--ss-rust);
  box-shadow: none;
}
.ss-nav { gap: clamp(.15rem, 1vw, .7rem); }
.ss-header .ss-nav a,
.ss-account-menu summary {
  position: relative;
  padding: .35rem .28rem;
  border: 0;
  border-radius: 0;
  color: var(--ss-ink);
  background: transparent;
  font-size: .9rem;
  font-weight: 590;
}
.ss-header .ss-nav a:hover,
.ss-account-menu summary:hover,
.ss-account-menu[open] summary { color: var(--ss-rust); background: transparent; }
.ss-header .ss-nav a[aria-current="page"] { color: var(--ss-rust); background: transparent; }
.ss-header .ss-nav a[aria-current="page"]::after {
  position: absolute;
  right: .28rem;
  bottom: -.45rem;
  left: .28rem;
  height: 1px;
  background: var(--ss-accent);
  content: "";
}
.ss-header .ss-nav--primary a:last-child { color: var(--ss-rust); }
.ss-nav--account { gap: .8rem; }
.ss-header .ss-nav__join,
.ss-header .ss-nav__login { margin: 0; border: 0; color: var(--ss-ink); }
.ss-header .ss-nav__login { color: var(--ss-rust); }
.ss-header .ss-nav__login:hover { color: var(--ss-rust); background: transparent; }
.ss-notifications-link {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  font-size: 1.35rem !important;
  line-height: 1;
  position: relative;
}
.ss-notifications-link__count {
  position: absolute;
  top: -.2rem;
  right: -.35rem;
  display: grid;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 .25rem;
  place-items: center;
  border: 2px solid var(--ss-paper);
  border-radius: 999px;
  color: #fff;
  background: var(--ss-rust);
  font-size: .6rem;
  font-weight: 800;
  line-height: 1;
}
.ss-notifications-read-all { margin: .65rem 0 0; }
.ss-notification-list { border-top: 1px solid var(--ss-line); }
.ss-notification {
  display: grid;
  grid-template-columns: .55rem minmax(0, 1fr) auto;
  gap: .8rem 1rem;
  align-items: start;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--ss-line);
}
.ss-notification__dot {
  width: .45rem;
  height: .45rem;
  margin-top: .5rem;
  border-radius: 50%;
  background: transparent;
}
.ss-notification.is-unread .ss-notification__dot { background: var(--ss-rust); }
.ss-notification__body h2 { margin: 0; font-family: inherit; font-size: 1rem; line-height: 1.35; }
.ss-notification__body h2 a { color: var(--ss-ink); text-decoration: none; }
.ss-notification__body p { margin: .3rem 0; color: var(--ss-muted); }
.ss-notification__body time { color: var(--ss-muted); font-size: .72rem; }
.ss-notification.is-read { opacity: .7; }
.ss-notification > form { margin: .1rem 0 0; }
@media (max-width: 650px) {
  .ss-notification { grid-template-columns: .5rem minmax(0, 1fr); }
  .ss-notification > form { grid-column: 2; }
}
.ss-account-menu summary { display: grid; place-items: center; list-style: none; cursor: pointer; }
.ss-account-menu summary::after { display: none; content: none; }
.ss-account-menu__avatar {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--ss-line);
  border-radius: 50%;
  color: var(--ss-paper);
  background: var(--ss-rust);
  font-size: .82rem;
  font-weight: 760;
}
.ss-account-menu__panel {
  top: calc(100% + .75rem);
  min-width: 13rem;
  padding: .7rem;
  border-color: var(--ss-line);
  border-radius: .6rem;
  box-shadow: 0 18px 40px var(--ss-menu-shadow);
}
.ss-account-menu__panel a { padding: .5rem .55rem !important; }

.ss-site-layout {
  display: block;
  min-height: calc(100vh - 5rem);
  border: 0;
  background: transparent;
}
.ss-site-layout > .ss-main {
  width: min(100%, 980px);
  min-height: calc(100vh - 13rem);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5rem) 0 6rem;
  border: 0;
}
.ss-site-layout--home:has(.ss-home-context) {
  display: grid;
  grid-template-columns: minmax(0, 820px) minmax(210px, 250px);
  justify-content: space-between;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}
.ss-site-layout--home:has(.ss-home-context) > .ss-main {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  margin: 0;
}
.ss-home-context {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: 3.4rem;
  padding-top: clamp(3rem, 6vw, 5.35rem);
}
.ss-home-context section { display: grid; gap: .65rem; }
.ss-home-context h2 { margin: 0 0 .35rem; font-size: .92rem; }
.ss-home-context a { width: fit-content; color: var(--ss-muted); text-decoration-color: color-mix(in srgb, var(--ss-muted) 45%, transparent); }
.ss-home-context a:hover { color: var(--ss-rust); }
.ss-home-context__more { margin-top: .45rem; color: var(--ss-rust) !important; }
.ss-home-context__space { display: grid; text-decoration: none !important; }
.ss-home-context__space span { text-decoration: underline; text-underline-offset: .2em; }
.ss-home-context__space small { color: var(--ss-muted); }

.ss-hero,
.ss-directory-heading { max-width: 720px; margin: 0 0 3rem; }
.ss-hero h1,
.ss-publication h1,
.ss-static-page h1,
.ss-directory-heading h1 {
  margin: .3rem 0 .8rem;
  font-size: clamp(2.6rem, 7vw, 5rem);
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.055em;
}
.ss-hero--compact h1 { font-size: clamp(2.6rem, 6vw, 4.3rem); }
.ss-hero > p:last-child,
.ss-directory-heading > p:last-child { max-width: 640px; color: var(--ss-muted); font-size: 1.02rem; }
.ss-kicker { color: var(--ss-accent); font-size: .68rem; }

.ss-results { display: block; }
.ss-card {
  padding: 1.65rem 0 1.8rem;
  border: 0;
  border-bottom: 1px solid var(--ss-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}
.ss-card:first-child { border-top: 1px solid var(--ss-line); }
.ss-card:hover { border-color: var(--ss-line); box-shadow: none; transform: none; }
.ss-card h2 { margin: 0 0 .35rem; font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.2; }
.ss-card h2 a::after { display: none; }
.ss-card__excerpt { max-width: 64ch; margin: .65rem 0; color: var(--ss-ink); }
.ss-meta { margin: .3rem 0 .75rem; gap: .25rem .65rem; font-size: .79rem; }
.ss-meta span + span::before,
.ss-meta time::before { margin-right: .65rem; color: var(--ss-line); }
.ss-meta a { color: var(--ss-muted); }
.ss-tags { margin: .8rem 0 0; gap: .75rem; }
.ss-tags li { padding: 0; border-radius: 0; color: var(--ss-muted); background: transparent; font-weight: 520; }
.ss-tags a { color: var(--ss-muted); }
.ss-card__actions {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  align-items: center;
  margin: .9rem 0 0;
  font-size: .82rem;
}
.ss-card__actions a { color: var(--ss-muted); }

.ss-publication-reactions {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ss-line);
}
.ss-publication-reaction {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
}
.ss-publication-reaction .ss-reaction-counts { gap: .35rem; }
.ss-publication-reaction .ss-reaction-counts > span {
  padding: .18rem .42rem;
  color: var(--ss-muted);
  background: var(--ss-surface-subtle);
  font-size: .8rem;
}
.ss-reaction-picker {
  position: relative;
  display: inline-flex;
}
.ss-reaction-trigger-form { display: inline-flex; margin: 0; }
.ss-reaction-trigger {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--ss-rust) !important;
  background: transparent;
  font: inherit;
  font-size: 1.55rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.ss-reaction-trigger:hover,
.ss-reaction-trigger:focus-visible,
.ss-reaction-trigger--active {
  color: var(--ss-accent) !important;
  background: var(--ss-accent-soft);
  outline: none;
}
.ss-reaction-trigger:focus-visible { box-shadow: 0 0 0 3px var(--ss-focus-ring); }
.ss-reaction-trigger:disabled { color: var(--ss-muted) !important; cursor: not-allowed; opacity: .55; }
.ss-reaction-popover {
  position: absolute;
  bottom: calc(100% + .3rem);
  left: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: repeat(5, 2.35rem);
  gap: .2rem;
  width: max-content;
  max-width: calc(100vw - 2rem);
  padding: .5rem;
  border: 1px solid var(--ss-line);
  border-radius: .8rem;
  background: var(--ss-paper);
  box-shadow: 0 .8rem 2rem var(--ss-menu-shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(.25rem);
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
}
.ss-reaction-popover[hidden] { display: none; }
.ss-reaction-picker.is-open .ss-reaction-popover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.ss-reaction-popover form { margin: 0; }
.ss-reaction-choice {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  border: 0;
  border-radius: .55rem;
  background: transparent;
  font: inherit;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}
.ss-reaction-choice:hover,
.ss-reaction-choice:focus-visible,
.ss-reaction-choice--current {
  background: var(--ss-accent-soft);
  outline: none;
}
.ss-reaction-choice:focus-visible { box-shadow: inset 0 0 0 2px var(--ss-accent); }
.ss-form-actions > .ss-button { align-self: baseline; }

.ss-directory-list { border-top: 1px solid var(--ss-line); }
.ss-directory-row {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--ss-line);
}
.ss-directory-row h2 { margin: 0; font-size: 1.35rem; }
.ss-directory-row h2 a { color: var(--ss-ink); text-decoration: none; }
.ss-directory-row p { margin: .25rem 0 0; color: var(--ss-muted); }
.ss-directory-row__open { flex: 0 0 auto; }
.ss-directory-row__description { max-width: 58ch; color: var(--ss-ink) !important; }
.ss-tag-directory { display: flex; flex-wrap: wrap; gap: .75rem 1.6rem; margin: 0; padding: 0; list-style: none; }
.ss-tag-directory a { display: inline-flex; gap: .45rem; align-items: baseline; color: var(--ss-ink); }
.ss-tag-directory small { color: var(--ss-muted); }

.ss-search-form,
.ss-account-form,
.ss-composer,
.ss-publication,
.ss-discussion,
.ss-feed-card,
.ss-empty,
.ss-error {
  border-radius: 0;
  box-shadow: none;
}
.ss-search-form { padding: 0 0 2rem; border: 0; border-bottom: 1px solid var(--ss-line); background: transparent; }
.ss-search-primary .ss-field textarea {
  min-height: 3.4rem;
  padding: .75rem 0;
  border: 0;
  border-bottom: 1px solid var(--ss-control-border);
  border-radius: 0;
  background: transparent;
  font-size: 1.3rem;
}
.ss-advanced-search { margin-top: 1.5rem; border: 0; }
.ss-advanced-search > summary,
.ss-reaction-details summary { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--ss-line); cursor: pointer; font-weight: 680; }
.ss-advanced-search > summary span,
.ss-reaction-details summary span { color: var(--ss-muted); font-size: .78rem; font-weight: 450; }
.ss-advanced-search > .ss-field-grid { padding: 1.25rem 0; }
.ss-reaction-details { margin-top: .6rem; border: 0; border-radius: 0; background: transparent; }
.ss-reaction-details[open] summary { border-bottom: 0; }
.ss-reactions { padding: 1rem 0; }
.ss-form-actions { gap: 1.2rem; }
.ss-button,
.ss-link-button {
  min-height: 0;
  padding: .2rem 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  color: var(--ss-rust);
  background: transparent;
  font-weight: 620;
  text-decoration: none;
}
.ss-button:hover,
.ss-button--quiet:hover,
.ss-link-button:hover { color: var(--ss-accent); background: transparent; }
.ss-button--quiet { color: var(--ss-muted); }
.ss-button--danger { color: var(--ss-error); background: transparent; }
.ss-text-action { color: var(--ss-rust); font-weight: 620; }
.ss-account-form,
.ss-composer { padding: 1.5rem 0; border: 0; border-top: 1px solid var(--ss-line); border-bottom: 1px solid var(--ss-line); background: transparent; }
.ss-community-form { max-width: 760px; }
.ss-community-handle { margin-top: -.35rem; color: var(--ss-muted); }
.ss-community-description { max-width: 64ch; color: var(--ss-ink) !important; white-space: normal; }
.ss-community-settings { max-width: 800px; margin: 0 0 3.5rem; }
.ss-community-settings > h2 { margin: 0 0 .55rem; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.ss-community-settings > p { max-width: 68ch; color: var(--ss-muted); }
.ss-community-grant-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, .45fr) auto;
  gap: 1rem;
  align-items: end;
  margin: 1.5rem 0;
  padding: 1.25rem 0;
  border-top: 1px solid var(--ss-line);
  border-bottom: 1px solid var(--ss-line);
}
.ss-community-grant-form input,
.ss-community-grant-form select {
  width: 100%;
  min-height: 2.9rem;
  padding: .65rem .8rem;
  border: 1px solid var(--ss-control-border);
  border-radius: .65rem;
  color: var(--ss-ink);
  background: var(--ss-control-bg);
  font: inherit;
}
.ss-community-grant-form input:focus,
.ss-community-grant-form select:focus { outline: 3px solid var(--ss-focus-ring); border-color: var(--ss-accent); }
.ss-community-grant-form .ss-button { margin-bottom: .72rem; }
.ss-community-grants { border-top: 1px solid var(--ss-line); }
.ss-community-grants article { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--ss-line); }
.ss-community-grants article > div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.ss-community-grants span { color: var(--ss-muted); }
.ss-community-state { padding-top: 1.5rem; border-top: 1px solid var(--ss-line); }
.ss-publication { max-width: 800px; padding: 0; border: 0; background: transparent; }
.ss-discussion { max-width: 800px; padding: 2rem 0 0; border: 0; border-top: 1px solid var(--ss-line); background: transparent; }
.ss-comment-form { padding: 1rem 0; border: 0; border-bottom: 1px solid var(--ss-line); background: transparent; }
.ss-comment { padding: 1rem 0 1rem 1rem; border: 0; border-left: 2px solid var(--ss-comment-border); border-radius: 0; background: transparent; }
.ss-empty { padding: 1.4rem 0; border: 0; border-top: 1px solid var(--ss-line); border-bottom: 1px solid var(--ss-line); background: transparent; }

.ss-footer { padding: 1.6rem 0; border-top: 1px solid var(--ss-line); background: var(--ss-paper); }
.ss-footer__inner { display: flex; justify-content: space-between; gap: 1.5rem 3rem; align-items: center; }
.ss-footer__links { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; }
.ss-footer__links a { color: var(--ss-muted); text-decoration: underline; text-decoration-color: transparent; }
.ss-footer__links a:hover { color: var(--ss-rust); text-decoration-color: currentColor; }
.ss-footer__inner p { flex: 0 0 auto; margin: 0; color: var(--ss-muted); font-size: .76rem; }

@media (max-width: 900px) {
  .ss-site-layout--home:has(.ss-home-context) { display: block; }
  .ss-home-context { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 0 4rem; border-top: 1px solid var(--ss-line); }
  .ss-home-context section { padding-top: 1.5rem; }
  .ss-header__inner { flex-wrap: wrap; padding-block: .7rem; }
  .ss-nav--primary { order: 3; flex-basis: 100%; overflow-x: auto; padding-bottom: .25rem; }
  .ss-footer__inner { display: block; }
  .ss-footer__inner p { margin-top: 1.2rem; }
  .ss-community-grant-form { grid-template-columns: 1fr 1fr; }
  .ss-community-grant-form .ss-button { width: fit-content; }
}

@media (max-width: 590px) {
  .ss-shell { width: min(100% - 1.4rem, 1240px); }
  .ss-header__inner { gap: .7rem 1.2rem; }
  .ss-brand { font-size: 1rem; }
  .ss-header .ss-nav a,
  .ss-account-menu summary { padding: .35rem .25rem; font-size: .8rem; }
  .ss-site-layout > .ss-main { padding: 2.4rem 0 4.5rem; }
  .ss-home-context { grid-template-columns: 1fr; gap: .8rem; }
  .ss-directory-row { display: block; }
  .ss-directory-row__open { display: inline-block; margin-top: .8rem; }
  .ss-field-grid { grid-template-columns: 1fr; }
  .ss-advanced-search > summary span { display: none; }
  .ss-reaction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ss-footer__links { gap: .5rem 1rem; }
  .ss-community-grant-form { grid-template-columns: 1fr; }
}

/* Wave 33 — command-canvas UI: compact search, posts and conversation. */
body.ss-body {
  background: var(--ss-paper);
  font-size: 15px;
  line-height: 1.5;
}

.ss-shell { width: min(1180px, calc(100% - 3rem)); }
.ss-header__inner { min-height: 4.75rem; }
.ss-brand {
  color: var(--ss-rust);
  font-size: 1.34rem;
  font-weight: 780;
  letter-spacing: -.035em;
}
.ss-brand:hover { color: var(--ss-accent); }
.ss-brand__mark { display: none; }
.ss-header .ss-nav a,
.ss-account-menu summary { font-size: .88rem; }
.ss-header .ss-nav--primary a:last-child { font-weight: 700; }
.ss-site-layout > .ss-main {
  width: min(100%, 1040px);
  padding: clamp(2.2rem, 5vw, 4.25rem) 0 5.5rem;
}

.ss-hero h1,
.ss-publication h1,
.ss-static-page h1,
.ss-directory-heading h1 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.ss-hero--compact h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
.ss-directory-heading { margin-bottom: 2.25rem; }

.ss-search-page { width: min(100%, 1040px) !important; }
.ss-search-form-disclosure {
  margin: 0 0 1.7rem;
  border-bottom: 1px solid var(--ss-line);
}
.ss-search-form-disclosure > summary {
    padding: .7rem 0 1rem;
    color: var(--ss-green-dark);
    font-size: .88rem;
    font-weight: 620;
    list-style: none;
    cursor: pointer;
}

.ss-search-form-disclosure > summary::-webkit-details-marker {
    display: none;
}
.ss-search-form-disclosure > summary::before { margin-right: .55rem; content: "+"; font-size: 1.15rem; font-weight: 400; }
.ss-search-form-disclosure[open] > summary::before { content: "−"; }
.ss-search-form-disclosure > .ss-search-form { margin: 0; border-bottom: 0; }
.ss-search-form {
  position: relative;
  margin: 0 0 1.7rem;
  padding: 0 0 1.2rem;
  border-bottom: 1px solid var(--ss-line);
}
.ss-search-command {
  display: grid;
  grid-template-columns: max-content minmax(15rem, 1fr);
  gap: .55rem 1rem;
  align-items: start;
  padding: .55rem 0 1.15rem;
  border-bottom: 1px solid var(--ss-line);
}
.ss-search-command > label {
  padding-top: .55rem;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 560;
  letter-spacing: -.035em;
  line-height: 1.25;
}
.ss-search-command__control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: start;
}
.ss-search-command textarea {
  width: 100%;
  min-height: 2.65rem;
  max-height: 9rem;
  padding: .48rem .72rem;
  border: 1px solid var(--ss-rust);
  border-radius: .45rem;
  color: var(--ss-rust);
  background: var(--ss-paper);
  font: inherit;
  font-size: 1.08rem;
  line-height: 1.55;
  resize: none;
}
.ss-search-command textarea::placeholder { color: color-mix(in srgb, var(--ss-muted) 72%, transparent); }
.ss-search-command textarea:focus {
  border-color: var(--ss-accent);
  outline: 3px solid var(--ss-focus-ring);
}
.ss-search-command.ss-field--invalid textarea { border-color: var(--ss-error); }
.ss-search-command__submit {
  min-height: 2.65rem;
  padding: .5rem 1rem;
  border: 1px solid var(--ss-rust);
  border-radius: .45rem;
  color: var(--ss-paper);
  background: var(--ss-rust);
  font: inherit;
  font-weight: 680;
  cursor: pointer;
}
.ss-search-command__submit:hover { background: var(--ss-accent); border-color: var(--ss-accent); }
.ss-search-command > p {
  grid-column: 2;
  margin: 0;
  color: var(--ss-muted);
  font-size: .76rem;
}
.ss-search-command__rule {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.ss-search-form__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: .65rem;
}
.ss-search-form__footer .ss-button { font-size: .82rem; }
.ss-advanced-search { margin-top: .8rem; }
.ss-advanced-search > summary {
  justify-content: flex-start;
  align-items: center;
  gap: .7rem;
  border-top: 0;
  color: var(--ss-rust);
  font-weight: 620;
}
.ss-advanced-search > summary::before { content: "+"; font-size: 1.35rem; font-weight: 400; line-height: 1; }
.ss-advanced-search[open] > summary::before { content: "−"; }
.ss-advanced-search > summary span { margin-left: auto; }
.ss-advanced-search > .ss-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.5rem;
  padding: .35rem 0 1rem;
  border-top: 1px solid var(--ss-line);
}
.ss-advanced-search .ss-field {
  display: grid;
  grid-template-columns: minmax(8.5rem, .45fr) minmax(0, 1fr);
  gap: .22rem .8rem;
  align-items: center;
  min-height: 4.35rem;
  padding: .65rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ss-line) 72%, transparent);
}
.ss-advanced-search .ss-field label {
  margin: 0;
  font-size: .84rem;
  font-weight: 680;
}
.ss-advanced-search .ss-field textarea {
  min-height: 2.35rem;
  max-height: 6.5rem;
  padding: .42rem .58rem;
  border-color: var(--ss-line);
  border-radius: .38rem;
  line-height: 1.35;
  resize: vertical;
}
.ss-advanced-search .ss-field p {
  grid-column: 2;
  margin: 0;
  font-size: .7rem;
}
.ss-reaction-details { grid-column: 1 / -1; }
.ss-reaction-details summary { padding: .75rem 0; }
.ss-reactions { padding: .65rem 0 0; }
.ss-reaction-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ss-reaction { padding: .42rem; border-radius: .4rem; }

.ss-search-state {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .6fr);
  gap: 2rem;
  margin: 1.5rem 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ss-line);
}
.ss-search-state h2 { margin: .1rem 0 0; font-size: 1.05rem; font-weight: 520; line-height: 1.4; }
.ss-search-state .ss-kicker { color: var(--ss-ink); font-size: .9rem; letter-spacing: 0; text-transform: none; }
.ss-share { padding: .7rem 0; border: 0; background: transparent; }
.ss-save-feed { margin: .8rem 0 1.6rem; padding: .9rem 0; border: 0; border-bottom: 1px solid var(--ss-line); border-radius: 0; background: transparent; }

.ss-publication {
  max-width: 800px;
  padding: 0;
}
.ss-publication .ss-kicker { margin-bottom: .6rem; }
.ss-publication h1 { max-width: 24ch; margin: .25rem 0 .75rem; font-size: clamp(2rem, 4vw, 2.75rem); }
.ss-publication .ss-meta { margin-bottom: 1.1rem; }
.ss-publication .ss-tags { margin: .9rem 0; }
.ss-publication .ss-prose {
  max-width: 68ch;
  margin-top: 1.45rem;
  font-family: inherit;
  font-size: 1.02rem;
  line-height: 1.68;
}
.ss-publication-reactions { margin-top: 1.25rem; }

.ss-discussion {
  max-width: 800px;
  margin-top: 2.2rem;
  padding-top: 1.2rem;
}
.ss-discussion__heading { align-items: center; justify-content: flex-end; }
.ss-discussion__heading h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 720;
  letter-spacing: -.02em;
}
.ss-comment-form {
  margin: .85rem 0 1rem;
  padding: 0;
  border: 0;
}
.ss-comment-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  border: 1px solid var(--ss-line);
  border-radius: .5rem;
  background: var(--ss-paper);
}
.ss-comment-form textarea {
  min-height: 2.65rem;
  max-height: 10rem;
  padding: .6rem .72rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  line-height: 1.45;
  resize: none;
}
.ss-comment-form textarea:focus { outline: none; border-color: transparent; box-shadow: inset 0 0 0 2px var(--ss-focus-ring); }
.ss-comment-form__submit {
  min-height: 2.65rem;
  padding: .5rem .85rem;
  border: 0;
  color: var(--ss-rust);
  background: transparent;
  font: inherit;
  font-weight: 680;
  cursor: pointer;
}
.ss-comment-form__submit:hover { color: var(--ss-accent); }
.ss-comment-form__help { margin: .35rem 0 0; font-size: .69rem; }
.ss-comment-list { gap: 0; margin-top: .55rem; }
.ss-comment {
  position: relative;
  margin-inline-start: min(calc(var(--ss-comment-depth) * 1.4rem), 7rem);
  padding: 1rem 0 1rem 2.9rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--ss-line) 72%, transparent);
}
.ss-comment::before {
  position: absolute;
  top: 3.2rem;
  bottom: -.05rem;
  left: 1rem;
  width: 1px;
  background: var(--ss-line);
  content: "";
}
.ss-comment__header { display: flex; align-items: center; min-height: 2rem; }
.ss-comment__avatar {
  position: absolute;
  top: .85rem;
  left: 0;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  color: var(--ss-paper);
  background: var(--ss-rust);
  font-size: .72rem;
  font-weight: 760;
}
.ss-comment__meta { font-size: .76rem; }
.ss-comment__body { margin-top: .3rem; font-family: inherit; font-size: .94rem; line-height: 1.55; }
.ss-comment-reaction { margin-top: .45rem; padding-top: 0; border-top: 0; }
.ss-comment-reaction .ss-reaction-counts { gap: .3rem; }
.ss-comment-reaction .ss-reaction-counts > span {
  padding: .12rem .34rem;
  color: var(--ss-muted);
  background: var(--ss-surface-subtle);
  font-size: .75rem;
}
.ss-comment-reaction .ss-reaction-trigger { width: 1.9rem; height: 1.9rem; font-size: 1.3rem; }
.ss-home-context__start { padding-bottom: .4rem; }
.ss-home-context__start .ss-kicker { margin: 0; color: var(--ss-rust); font-size: .66rem; }
.ss-home-context__start p { margin: 0 0 .35rem; line-height: 1.55; }
.ss-reply { margin-top: .45rem; }
.ss-reply summary { font-size: .78rem; }
.ss-reply .ss-comment-form { margin: .6rem 0 0; }
.ss-discussion__empty { padding: 1rem 0; }

@media (max-width: 760px) {
  .ss-search-command { grid-template-columns: 1fr; }
  .ss-search-command > label { padding-top: 0; }
  .ss-search-command > p { grid-column: 1; }
  .ss-search-state { grid-template-columns: 1fr; gap: .6rem; }
  .ss-advanced-search > .ss-field-grid { grid-template-columns: 1fr; }
  .ss-reaction-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 590px) {
  .ss-shell { width: min(100% - 1.35rem, 1180px); }
  .ss-search-command__control { grid-template-columns: minmax(0, 1fr); }
  .ss-search-command__submit { width: 100%; }
  .ss-advanced-search .ss-field { grid-template-columns: 1fr; }
  .ss-advanced-search .ss-field p { grid-column: 1; }
  .ss-comment { margin-inline-start: min(calc(var(--ss-comment-depth) * .65rem), 2.6rem); }
  .ss-comment-form__help { display: none; }
}

/* Wave 34 — quiet timeline: the approved social stream across every product surface. */
html { color-scheme: light; }
body.ss-body {
  color: var(--ss-ink);
  background: #fcfafc;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.56;
}

.ss-shell { width: min(1450px, calc(100% - 5rem)); }
.ss-header {
  position: relative;
  z-index: 80;
  border-bottom: 1px solid color-mix(in srgb, var(--ss-line) 72%, transparent);
  background: #fcfafc;
}
.ss-header__inner { min-height: 5.6rem; gap: clamp(2rem, 4vw, 5.2rem); }
.ss-brand {
  color: var(--ss-ink);
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-weight: 550;
  letter-spacing: -.045em;
}
.ss-brand:hover { color: var(--ss-green-dark); }
.ss-brand__mark { display: none; }
.ss-header .ss-nav { gap: clamp(.55rem, 1.7vw, 1.8rem); }
.ss-header .ss-nav a,
.ss-account-menu summary {
  padding: .35rem 0;
  color: var(--ss-ink);
  font-size: .94rem;
  font-weight: 480;
}
.ss-header .ss-nav a:hover,
.ss-account-menu summary:hover,
.ss-account-menu[open] summary,
.ss-header .ss-nav a[aria-current="page"] { color: var(--ss-green-dark); background: transparent; }
.ss-header .ss-nav a[aria-current="page"]::after { right: 0; bottom: -.35rem; left: 0; background: var(--ss-green); }
.ss-header .ss-nav--primary a:last-child { color: var(--ss-ink); font-weight: 560; }
.ss-header .ss-nav--primary a:last-child:hover { color: var(--ss-accent); }
.ss-nav--account { gap: 1.35rem !important; }
.ss-header .ss-nav__join,
.ss-header .ss-nav__login { color: var(--ss-ink); }
.ss-header .ss-nav__login { margin-left: .15rem; padding-left: 1.35rem; border-left: 1px solid var(--ss-line); }
.ss-header .ss-nav__login:hover { color: var(--ss-green-dark); background: transparent; }
.ss-account-menu__avatar { background: var(--ss-green-dark); }
.ss-account-menu__panel { border-radius: .35rem; background: #fcfafc; box-shadow: 0 18px 50px var(--ss-menu-shadow); }
.ss-account-menu__panel a { padding: .5rem .6rem !important; }

.ss-site-layout { min-height: calc(100vh - 5.6rem); }
.ss-site-layout > .ss-main {
  width: min(100%, 1080px);
  min-height: calc(100vh - 14rem);
  padding: clamp(2.7rem, 5vw, 4.5rem) 0 6rem;
}
.ss-site-layout--home:has(.ss-home-context) {
  grid-template-columns: minmax(0, 1080px) minmax(220px, 260px);
  gap: clamp(3rem, 5vw, 5.5rem);
}
.ss-site-layout--home:has(.ss-home-context) > .ss-main { width: 100%; }
.ss-home-context {
  align-content: start;
  gap: 1.9rem;
  min-height: calc(100vh - 5.6rem);
  padding: clamp(3.2rem, 5vw, 4.75rem) 0 4rem clamp(2.4rem, 4vw, 3.4rem);
  border-left: 1px solid var(--ss-line);
}
.ss-home-context section { align-content: start; gap: .42rem; }
.ss-home-context h2 { margin: 0 0 .45rem; font-size: 1rem; font-weight: 600; }
.ss-home-context a { color: var(--ss-ink); font-size: .92rem; text-decoration: none; }
.ss-home-context a:hover { color: var(--ss-green-dark); }
.ss-home-context__more { margin-top: .28rem; color: var(--ss-green-dark) !important; font-size: .84rem !important; }
.ss-home-context__space-row { display: flex; gap: .7rem; align-items: center; }
.ss-home-context__space span { text-decoration: none; }
.ss-home-context__space small { display: block; margin-top: .08rem; font-size: .7rem; }
.ss-home-context section + section { padding-top: 1.45rem; border-top: 1px solid var(--ss-line); }

.ss-community-mark {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ss-line) 72%, transparent);
  border-radius: 50%;
  color: #fff;
  background: var(--ss-green);
  font-size: .82rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
}
.ss-community-mark:hover { color: #fff; filter: brightness(.96); }
.ss-community-mark img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}
.ss-community-mark--small { width: 1.9rem; height: 1.9rem; font-size: .68rem; }
.ss-community-mark--large { width: 4.6rem; height: 4.6rem; font-size: 1.2rem; }
.ss-community-mark--personal { color: var(--ss-green-dark); background: #ece9df; }

.ss-results { display: block; overflow: visible; }
.ss-card.ss-stream-card {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  min-height: 12.5rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.ss-card.ss-stream-card:first-child { border-top: 0; }
.ss-card.ss-stream-card:hover { border-color: transparent; box-shadow: none; transform: none; }
.ss-card__community {
  display: flex;
  gap: .85rem;
  align-items: center;
  align-self: start;
  min-width: 0;
  padding: 2rem 2rem 2rem 0;
}
.ss-card__community-name {
  min-width: 0;
  overflow: hidden;
  color: var(--ss-ink);
  font-size: .88rem;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ss-card__community-name:hover { color: var(--ss-green-dark); }
.ss-card__body {
  position: relative;
  min-width: 0;
  padding: 1.9rem 0 3.35rem 3.25rem;
  border-left: 1px solid var(--ss-line);
}
.ss-card__body::before {
  position: absolute;
  top: 2.05rem;
  left: -.36rem;
  width: .66rem;
  height: .66rem;
  border: 2px solid #fcfafc;
  border-radius: 50%;
  background: var(--ss-green);
  content: "";
}
.ss-stream-card .ss-meta--stream {
  display: flex;
  gap: .55rem 1rem;
  margin: 0 0 1.7rem;
  color: var(--ss-muted);
  font-size: .8rem;
}
.ss-meta--stream a { color: var(--ss-ink); text-decoration: none; }
.ss-meta--stream a:hover { color: var(--ss-green-dark); }
.ss-meta--stream time::before { margin-right: 1rem; color: var(--ss-muted); content: "·"; }
.ss-stream-card h2 { max-width: 29ch; margin: 0 0 .9rem; font-size: clamp(1.45rem, 2.4vw, 1.9rem); font-weight: 450; letter-spacing: -.04em; line-height: 1.2; }
.ss-stream-card h2 a { color: var(--ss-ink); }
.ss-card__excerpt-shell { margin: 0 0 1.35rem; }
.ss-stream-card .ss-card__excerpt { width: 100%; max-width: none; margin: 0; color: #3e423d; line-height: 1.7; white-space: pre-line; }
.ss-card__excerpt-shell.is-collapsible:not(.is-expanded) .ss-card__excerpt { max-height: 6.8em; overflow: hidden; }
.ss-card__excerpt-toggle {
  display: inline-block;
  margin-top: .25rem;
  padding: 0;
  border: 0;
  color: var(--ss-rust);
  background: transparent;
  font: inherit;
  font-size: .82rem;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 55%, transparent);
  text-underline-offset: .22em;
  cursor: pointer;
}
.ss-card__excerpt-toggle:hover { color: var(--ss-accent); }
.ss-card__excerpt-toggle:focus-visible { outline: 2px solid var(--ss-focus-ring); outline-offset: .2rem; }
.ss-card__image { display: block; max-width: 720px; margin: 1.15rem 0; }
.ss-card__image img { display: block; width: 100%; max-height: 30rem; border-radius: .5rem; object-fit: cover; object-position: center; }
.ss-stream-card .ss-tags {
  position: relative;
  z-index: 3;
  gap: .8rem 1.25rem;
  margin: .75rem 0 0;
}
.ss-stream-card .ss-tags li { color: var(--ss-green-dark); font-size: .82rem; }
.ss-stream-card .ss-tags a {
  position: relative;
  z-index: 4;
  color: var(--ss-green-dark);
  text-decoration: none;
  cursor: pointer;
}
.ss-stream-card .ss-tags a:hover,
.ss-stream-card .ss-tags a:focus-visible {
  color: var(--ss-accent);
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .2em;
}
.ss-stream-card .ss-card__actions { justify-content: flex-end; gap: 1rem; margin-top: -1.5rem; }
.ss-stream-card .ss-card__actions > a { color: var(--ss-ink); text-decoration: none; }
.ss-stream-card .ss-card__actions > a:hover { color: var(--ss-accent); }
.ss-stream-card .ss-reaction-trigger { color: var(--ss-accent) !important; }

.ss-hero,
.ss-directory-heading { max-width: 820px; margin-bottom: 2.6rem; }
.ss-hero h1,
.ss-publication h1,
.ss-static-page h1,
.ss-directory-heading h1 {
  font-size: clamp(2.1rem, 4vw, 3.15rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.08;
}
.ss-hero--compact h1 { font-size: clamp(2rem, 3.5vw, 2.75rem); }
.ss-kicker { color: var(--ss-green-dark); font-size: .68rem; letter-spacing: .11em; }
.ss-community-hero > .ss-community-mark { float: left; margin: 0 1.25rem 1rem 0; }
.ss-community-hero::after { display: block; clear: both; content: ""; }

.ss-directory-list { max-width: 920px; }
.ss-directory-row { padding: 1.4rem 0; }
.ss-directory-row__identity { display: flex; gap: 1rem; align-items: flex-start; min-width: 0; }
.ss-directory-row h2 { font-size: 1.2rem; font-weight: 560; }
.ss-directory-row__open { color: var(--ss-green-dark); font-size: .84rem; text-decoration: none; }
.ss-tag-directory a { color: var(--ss-green-dark); text-decoration: none; }

.ss-search-page { width: min(100%, 1040px) !important; }
.ss-search-command textarea,
.ss-field textarea,
.ss-field > input,
.ss-composer input,
.ss-composer textarea,
.ss-composer select,
.ss-community-grant-form input,
.ss-community-grant-form select,
.ss-share input,
.ss-save-row input {
  border-color: var(--ss-control-border);
  border-radius: .42rem;
  background: #fffefe;
}
.ss-search-command textarea { color: var(--ss-ink); border-color: var(--ss-green); }
.ss-search-command__submit {
  border-color: var(--ss-green-dark);
  border-radius: .42rem;
  color: #fff;
  background: var(--ss-green-dark);
}
.ss-search-command__submit:hover { border-color: var(--ss-green); background: var(--ss-green); }
.ss-advanced-search > summary { color: var(--ss-green-dark); }
.ss-advanced-search .ss-field textarea { background: #fffefe; }
.ss-search-form,
.ss-account-form,
.ss-composer { background: transparent; }
.ss-account-form { gap: 1rem; }
.ss-composer textarea { min-height: 18rem; font-family: inherit; }
.ss-autosave-status[data-state="recovered"] { color: var(--ss-green-dark); }
.ss-tag-suggestions,
.ss-composer-tools {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1rem;
  align-items: baseline;
  margin: .7rem 0 1.2rem;
  color: var(--ss-muted);
  font-size: .8rem;
}
.ss-tag-suggestions .ss-link-button,
.ss-composer-tools .ss-link-button { font-size: .8rem; font-weight: 580; }
.ss-markdown-preview {
  margin: 1.25rem 0;
  padding: 1.4rem 0;
  border-top: 1px solid var(--ss-line);
  border-bottom: 1px solid var(--ss-line);
}
.ss-markdown-preview[hidden] { display: none; }
.ss-markdown-preview > header { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.ss-markdown-preview h2 { max-width: 28ch; margin: .65rem 0 1rem; font-size: 1.65rem; font-weight: 520; }
.ss-markdown-preview .ss-prose { max-width: 67ch; }
.ss-space-picker { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: .35rem 1rem; align-items: end; margin-top: 1.25rem; }
.ss-space-picker label { margin: 0; font-weight: 700; }
.ss-space-picker > label:last-of-type { grid-column: 2; grid-row: 1; }
.ss-space-picker > input { grid-column: 1; grid-row: 2; }
.ss-space-picker > select { grid-column: 2; grid-row: 2; }
.ss-space-picker > .ss-small { grid-column: 1 / -1; min-height: 1.2em; margin: 0; }
.ss-publish-panel form { display: block; }
.ss-publish-panel form > .ss-button { margin-top: 1rem; }
.ss-draft-delete { margin: 1.5rem 0 2.5rem; }
.ss-image-editor { margin: 1.5rem 0; padding: 1.2rem 0; border: 0; border-top: 1px solid var(--ss-line); border-bottom: 1px solid var(--ss-line); }
.ss-image-editor legend { padding-right: 1rem; font-size: .95rem; font-weight: 700; }
.ss-image-editor > label:not(.ss-checkbox):not(.ss-file-field) { display: block; margin: 1rem 0 .35rem; font-weight: 700; }
.ss-image-editor > input[type="text"],
.ss-image-editor > input:not([type]) { width: 100%; padding: .7rem .8rem; border: 1px solid var(--ss-control-border); border-radius: .42rem; background: #fffefe; font: inherit; }
.ss-image-editor .ss-file-field { margin: .35rem 0 .8rem; }
.ss-image-editor__current { max-width: 28rem; margin: .5rem 0 1rem; }
.ss-image-editor__current img { display: block; width: 100%; max-height: 18rem; border-radius: .5rem; object-fit: cover; }
.ss-image-editor__current figcaption { margin-top: .35rem; color: var(--ss-muted); font-size: .75rem; }
.ss-image-editor__remove { margin-top: .7rem; color: var(--ss-error); }
.ss-image-editor [data-image-status][data-state="error"] { color: var(--ss-error); }

.ss-moderation-form { max-width: 44rem; }
.ss-moderation-form textarea { min-height: 7rem; }
.ss-moderation-form select { max-width: 24rem; }
.ss-moderation-form--dismiss { margin-top: 2.5rem; }
.ss-button,
.ss-link-button { color: var(--ss-green-dark); }
.ss-button:hover,
.ss-button--quiet:hover,
.ss-link-button:hover { color: var(--ss-accent); }
.ss-button--danger { color: var(--ss-error); }
.ss-closure-status,
.ss-closure-form { max-width: 46rem; }
.ss-closure-status { margin-top: 1.4rem; }

.ss-publication {
  position: relative;
  max-width: 860px;
  margin-inline: auto;
}
.ss-publication__community { display: flex; gap: .65rem; align-items: center; margin: 0 3.2rem 1.35rem 0; }
.ss-publication__community > a:last-child { color: var(--ss-green-dark); font-size: .84rem; text-decoration: none; }
.ss-publication-menu { position: absolute; top: -.15rem; right: 0; z-index: 30; }
.ss-publication-menu summary {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  color: var(--ss-muted);
  font-size: 1.45rem;
  line-height: 1;
  list-style: none;
  cursor: pointer;
}
.ss-publication-menu summary::-webkit-details-marker { display: none; }
.ss-publication-menu summary:hover,
.ss-publication-menu[open] summary { color: var(--ss-ink); background: color-mix(in srgb, var(--ss-line) 42%, transparent); }
.ss-publication-menu summary:focus-visible { outline: 3px solid var(--ss-focus-ring-soft); outline-offset: 2px; }
.ss-publication-menu nav {
  position: absolute;
  top: calc(100% + .35rem);
  right: 0;
  min-width: 9.5rem;
  padding: .35rem;
  border: 1px solid var(--ss-line);
  border-radius: .45rem;
  background: #fcfafc;
  box-shadow: 0 14px 36px var(--ss-menu-shadow);
}
.ss-publication-menu nav a { display: block; padding: .55rem .7rem; border-radius: .28rem; color: var(--ss-ink); font-size: .84rem; text-decoration: none; }
.ss-publication-menu nav a:hover { color: var(--ss-accent); background: color-mix(in srgb, var(--ss-line) 30%, transparent); }
.ss-publication h1 { max-width: 26ch; font-size: clamp(2.15rem, 4vw, 3.15rem); font-weight: 480; }
.ss-publication .ss-prose { max-width: 67ch; font-size: 1rem; line-height: 1.75; }
.ss-publication__image { max-width: 860px; margin: 1.6rem 0 2rem; }
.ss-publication__image img { display: block; width: 100%; max-height: 44rem; border-radius: .55rem; object-fit: contain; object-position: left center; }
.ss-discussion { max-width: 860px; }
.ss-discussion__heading h2 { font-size: 1.15rem; font-weight: 620; }
.ss-comment__avatar { background: var(--ss-green); }

.ss-static-page { max-width: 900px; }
.ss-static-page__intro > p:last-child { max-width: 70ch; }
.ss-principle-list section { grid-template-columns: minmax(11rem, .65fr) 1.5fr; padding: 1.55rem 0; }
.ss-principle-list h2 { font-size: 1rem; font-weight: 600; }

.ss-feed-list { max-width: 900px; gap: 0; border-top: 1px solid var(--ss-line); }
.ss-feed-card { padding: 1.45rem 0; border: 0; border-bottom: 1px solid var(--ss-line); border-radius: 0; background: transparent; }
.ss-feed-card h2 { font-size: 1.22rem; font-weight: 560; }
.ss-state { border-radius: .25rem; font-size: .64rem; }

.ss-community-icon-setting {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.2rem;
  align-items: start;
  margin: 1.2rem 0 1.8rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--ss-line);
  border-bottom: 1px solid var(--ss-line);
}
.ss-community-icon-setting h3 { margin: 0 0 .25rem; font-size: .95rem; }
.ss-community-icon-setting p { margin: 0 0 .75rem; color: var(--ss-muted); font-size: .8rem; }
.ss-community-icon-form { display: flex; flex-wrap: wrap; gap: .7rem 1rem; align-items: center; }
.ss-file-field { display: inline-flex; gap: .65rem; align-items: center; color: var(--ss-green-dark); font-size: .82rem; cursor: pointer; }
.ss-file-field > span { border-bottom: 1px solid currentColor; }
.ss-file-field input { max-width: 18rem; color: var(--ss-muted); font: inherit; font-size: .76rem; }

.ss-empty,
.ss-error,
.ss-warning,
.ss-danger { border-radius: 0; }
.ss-empty { padding: 1.4rem 0; }
.ss-empty h1,
.ss-empty h2,
.ss-error h2 { font-family: inherit; font-size: 1.35rem; font-weight: 550; }

.ss-footer { padding: 1.8rem 0; background: #fcfafc; }
.ss-footer__inner { align-items: flex-start; }
.ss-footer__links { gap: .6rem 1.4rem; }
.ss-footer__links a { color: var(--ss-muted); font-size: .78rem; }

@media (max-width: 1120px) {
  .ss-shell { width: min(100% - 3rem, 1450px); }
  .ss-site-layout--home:has(.ss-home-context) { grid-template-columns: minmax(0, 1fr) 220px; gap: 2.5rem; }
  .ss-card.ss-stream-card { grid-template-columns: 170px minmax(0, 1fr); }
  .ss-card__body { padding-left: 2.5rem; }
}

@media (max-width: 900px) {
  .ss-site-layout--home:has(.ss-home-context) { display: block; }
  .ss-home-context {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
    padding: 2rem 0 4rem;
    border-top: 1px solid var(--ss-line);
    border-left: 0;
  }
  .ss-home-context section + section { padding-top: 0; padding-left: 2rem; border-top: 0; border-left: 1px solid var(--ss-line); }
  .ss-card.ss-stream-card { grid-template-columns: 150px minmax(0, 1fr); }
  .ss-card__community { padding-right: 1rem; }
  .ss-card__body { padding-left: 2rem; }
  .ss-header__inner { flex-wrap: wrap; padding-block: .8rem; }
  .ss-nav--primary { order: 3; flex-basis: 100%; overflow-x: auto; }
}

@media (max-width: 650px) {
  .ss-shell { width: min(100% - 1.5rem, 1450px); }
  .ss-header__inner { gap: .7rem 1.25rem; }
  .ss-brand { font-size: 1.25rem; }
  .ss-header .ss-nav { gap: 1rem; }
  .ss-header .ss-nav a,
  .ss-account-menu summary { font-size: .82rem; white-space: nowrap; }
  .ss-site-layout > .ss-main { padding: 2.2rem 0 4.5rem; }
  .ss-card.ss-stream-card { display: block; min-height: 0; padding: 1.4rem 0 2.2rem; border-bottom: 1px solid var(--ss-line); }
  .ss-card__community { padding: 0 0 1rem; }
  .ss-card__body { padding: 0; border-left: 0; }
  .ss-card__body::before { display: none; }
  .ss-stream-card .ss-meta--stream { margin-bottom: 1rem; }
  .ss-meta--stream time::before { margin-right: .55rem; }
  .ss-stream-card .ss-card__actions { justify-content: flex-start; margin-top: .9rem; }
  .ss-home-context { grid-template-columns: 1fr; gap: 1.5rem; }
  .ss-home-context section + section { padding-top: 1.5rem; padding-left: 0; border-top: 1px solid var(--ss-line); border-left: 0; }
  .ss-principle-list section { grid-template-columns: 1fr; gap: .45rem; }
  .ss-community-icon-setting { grid-template-columns: 1fr; }
  .ss-community-icon-form { display: grid; }
  .ss-file-field { display: grid; }
  .ss-directory-row__identity { align-items: center; }
  .ss-space-picker { grid-template-columns: 1fr; }
  .ss-space-picker > label,
  .ss-space-picker > label:last-of-type,
  .ss-space-picker > input,
  .ss-space-picker > select,
  .ss-space-picker > .ss-small { grid-column: 1; grid-row: auto; }
  .ss-footer__inner { display: block; }
  .ss-footer__inner p { margin-top: 1.2rem; }
}

@media (min-width: 651px) and (max-width: 900px) {
  .ss-home-context:has(.ss-home-context__start) { grid-template-columns: 1fr; }
  .ss-home-context:has(.ss-home-context__start) section + section {
    padding-top: 1.5rem;
    padding-left: 0;
    border-top: 1px solid var(--ss-line);
    border-left: 0;
  }
}
