@charset "utf-8"; body { line-height: 1.4; max-width: 100%; height: 100%; } body, h1, h2, h3, h4, h5, p, table { font-size: 1rem; font-family: var(--font-family-code-alt); } h1, h2 { font-weight: bold; color: var(--color-fg-highlight-tertiary); } h1 { padding: 0.125rem; margin-top: 2rem; text-transform: uppercase; } h2 { margin-left: 1rem; } h3 { margin-left: 2rem; color: var(--color-fg-highlight-secondary); } h4 { font-weight: normal; text-decoration: underline; margin-left: 3rem; } h5 { margin-left: 4rem; } h6 { margin-left: 5rem; } h2::after { margin-left: 0.5rem; display: inline-block; width: 16px; height: 16px; background-size: 16px 16px; vertical-align: text-bottom; } h2#unparalleled-autonomy:after { background-image: url(/assets/images/radicle.svg); filter: brightness(200%) hue-rotate(160deg); content: ""; } h2#modular-by-design:after { background-image: url(/assets/images/puzzle.svg); content: ""; } h2#local-first::after { background-image: url(/assets/images/cabin.svg); filter: brightness(130%); content: ""; } h2#your-data-forever-and-secure::after { background-image: url(/assets/images/key.svg); content: ""; } h2#evolvable--extensible::after { background-image: url(/assets/images/p2p.svg); content: ""; } p, ul, nav, pre.diagram, #install { margin-left: 2rem; } hr { border: none; border-bottom: 1px solid var(--color-border-hint); margin: 2rem 0; } ul { list-style-position: outside; padding-left: 2rem; } ul li { margin-left: 0; } ul li::marker { content: "* "; } blockquote { padding: 0 1rem; margin-left: 2rem; border-left: 1px solid var(--color-border-hint); } blockquote p { margin: 0; } code { font-family: var(--font-family-code-alt); color: var(--color-fg-highlight-tertiary); } pre { margin-left: 4rem; font-family: var(--font-family-code-alt); overflow-x: auto; } pre code { color: var(--color-fg-highlight-tertiary); } pre.diagram { line-height: 1; color: var(--color-fg-dim); } th { font-weight: bold; } td, th { padding: 0.5rem 1rem; text-align: left; text-overflow: ellipsis; white-space: nowrap; overflow-x: hidden; } thead { border-bottom: 1px solid var(--color-border-default); } tbody tr:nth-child(even) td { background-color: var(--color-bg-highlight); } table { margin-left: 2rem; margin-bottom: 2rem; width: 100%; border-collapse: collapse; border: 1px dashed var(--color-border-hint); } strong.highlight { color: var(--color-pink); } h2 em { color: var(--color-fg-contrast); font-weight: normal; } a { color: var(--color-fg-low-contrast); text-decoration: none; border-bottom: 1px dashed var(--color-border-default); } a:hover { color: var(--color-fg-contrast); border-color: var(--color-fg-contrast); } .button { display: inline-block; color: light-dark(var(--color-bg-default), var(--color-pink)); background: none; background-color: light-dark(var(--color-pink), transparent); border: 1px dashed var(--color-pink); margin: 0.5rem 0; padding: 0.5rem 0.75rem; cursor: pointer; } .button:hover { border-color: var(--color-pink); background-color: light-dark(var(--color-fg-low-contrast), var(--color-pink)); color: var(--color-bg-default); } .button.secondary { color: light-dark(var(--color-bg-default), var(--color-secondary)); border: 1px dashed var(--color-secondary); background-color: light-dark(var(--color-secondary), transparent); } .button.secondary:hover { border-color: var(--color-secondary); background-color: light-dark(var(--color-fg-low-contrast), var(--color-secondary)); color: var(--color-bg-default); } .button.small { padding: 0.25rem 0.75rem; margin: 0; } .button.filled { border-style: none; border-color: var(--color-pink); background-color: var(--color-pink); color: var(--color-bg-default); } .button.secondary.filled { border-color: var(--color-secondary); background-color: var(--color-secondary); } .button.filled:hover { background-color: var(--color-fg-low-contrast) !important; color: var(--color-bg-default) !important; } .date { color: var(--color-fg-dim); } .dim { color: var(--color-fg-dim); } li::marker { content: "- "; } body > main, body > aside { margin: 0 auto; padding: 2rem; max-width: 96ch; } body.wide > main { max-width: 112ch; } body > main > header { display: flex; justify-content: space-between; margin-bottom: 1rem; } body > main > header > h1 { margin: 0; } body > header { position: relative; color: var(--color-fg-low-contrast); border-bottom: 1px solid var(--color-border-hint); font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: hidden; flex-wrap: nowrap; width: 100%; height: 1.75rem; min-height: 1.5rem; line-height: 1.5rem; } body > footer { display: flex; color: var(--color-fg-dim); padding: 0 0.5rem; white-space: nowrap; width: 100%; height: 2rem; } footer { position: fixed; background-color: var(--color-bg-default); bottom: 0; } body > footer > * { flex: 1; display: flex; justify-content: center; } body > footer > span { align-items: center; } body > footer :first-child > * { margin-right: auto; } body > footer :last-child > * { margin-left: auto; } body > footer a { border-bottom: none; } main > footer { position: initial; padding-bottom: 1em; } nav { display: flex; align-items: center; gap: 1rem; } nav .cta { display: flex; gap: 1rem; align-items: center; } #ribbon { position: absolute; float: right; top: 0; right: 0; z-index: 99; } #definition { color: var(--color-fg-dim); } .links { display: inline-flex; flex-wrap: wrap; margin-left: 1rem; gap: 2rem; } .links a { line-height: 1rem; } a.screenshot { border: none; } a.screenshot:hover img { filter: grayscale(0%); } a.screenshot img { margin-bottom: 0; } .caption { color: var(--color-fg-dim); } p.notice { border: 1px solid var(--color-fg-dim); padding: 1rem; color: var(--color-fg-dim); } p img { max-width: 100%; } img.screenshot { margin-top: 1rem; margin-bottom: 1rem; border: 1px dashed var(--color-secondary); width: 100%; filter: grayscale(100%); } img.banner { width: 100%; height: 10rem; padding-left: 2rem; border-radius: 4px; object-fit: cover; object-position: 50%; } @media (max-width: 800px) { body > main { padding: 1rem; padding-top: 2.5rem; /* Make space for #logo */ } nav { display: block; } p, ul, nav, pre.diagram, pre.highlight, #install, table { margin-left: 1rem !important; } pre.diagram { overflow: hidden; } .links { gap: 1.25rem !important; } .desktop { display: none; } .links { display: flex; margin-left: 0; margin-top: 1rem; gap: 1.5rem; } }