/* Live Low Velocity settings, verified October 2026. */
:root {
  --space-shell: min(calc(100% - 2rem), 550px);
  --font-body: "IBM Plex Mono", monospace;
  --font-heading: "Fira Sans", sans-serif;
  --body-font-style: italic;
  --navigation-font-weight: 600;
  --color-global-bg: #171717;
  --color-global-text: #e2e2e2;
  --color-accent-2: #e2e2e2;
  --color-accent: #75c2c1;
  --color-link: var(--color-accent);
  --color-quote: var(--color-accent);
}
html[data-theme="dark"] { --color-global-bg:#171717; --color-global-text:#e2e2e2; --color-accent-2:#e2e2e2; --color-accent:#75c2c1; }
html[data-theme="light"] { --color-global-bg:#fff; --color-global-text:#3d4044; --color-accent-2:#3d4044; --color-accent:#d45478; }
.updates-feed { display:grid; gap:2.5rem; }
.update-entry { min-width:0; padding-bottom:2rem; border-bottom:1px dotted var(--color-rule); }
.update-entry .cactus-meta { margin-bottom:1rem; }
.update-title { font-size:1.25rem; margin-bottom:1rem; }
.update-entry .cactus-content { overflow-wrap:anywhere; }
.update-entry .cactus-content > :first-child { margin-top:0; }
html[data-theme] { --color-link:var(--color-accent); --color-quote:var(--color-accent); }
.update-title, .update-title a { color:var(--color-global-text); }

/* Cross-post references and Micro.blog's native conversation markup. */
.post-syndication { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem .75rem; margin-top:2rem; font-size:.8125rem; }
.post-syndication ul { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin:0; padding:0; list-style:none; }
.post-syndication a, .post-conversation a { color:var(--color-accent); text-underline-offset:.2em; }
.post-conversation { min-width:0; overflow-wrap:anywhere; }
.post-conversation .microblog_conversation { margin-top:3rem; padding-top:1.5rem; border-top:1px dotted var(--color-rule); }
.post-conversation .microblog_post { padding:1rem 0; }
.post-conversation .microblog_avatar { width:2.5rem; height:2.5rem; border-radius:50%; vertical-align:middle; object-fit:cover; }
.post-conversation .microblog_time { margin-top:.5rem; font-size:.75rem; }
.post-conversation .microblog_time a { color:var(--color-global-text); }
.post-conversation :is(h1,h2,h3,h4) { color:var(--color-global-text); font-family:var(--font-heading); }
.post-conversation :is(input,textarea,button) { max-width:100%; font:inherit; color:var(--color-global-text); background:var(--color-global-bg); border:1px solid var(--color-rule); border-radius:.25rem; padding:.5rem .75rem; }
.post-conversation textarea { width:100%; min-height:6rem; }
.post-conversation button, .post-conversation input[type="submit"] { cursor:pointer; }
.post-conversation :is(a,button,input,textarea):focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }

/* Uncropped grid fallback; JavaScript packs cards into the shortest column. */
.photo-feed { --photo-columns:3; --photo-gap:10px; display:grid; grid-template-columns:repeat(var(--photo-columns),minmax(0,1fr)); gap:var(--photo-gap); align-items:start; }
.photo-feed .grid-item { width:auto; min-width:0; }
.photo-feed .photo-card { margin:0; }
.photo-feed .post-image { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.photo-feed.is-masonry { display:block; position:relative; }
.photo-feed.is-masonry .grid-item { position:absolute; top:0; left:0; }
.photo-feed .post-caption { pointer-events:none; }
.photo-feed .photo-card:focus-within .post-caption { opacity:1; }
.photo-feed .post-link:focus-visible { display:block; outline:3px solid var(--color-accent); outline-offset:-3px; }
@media (max-width:760px) { .photo-feed { --photo-columns:2; } }
@media (max-width:460px) { .photo-feed { --photo-columns:1; } }
@media (hover:none) { .photo-feed .post-caption { opacity:1; } }
