/* Formatted innovation descriptions (written with the admin text editor). .nd-rt--hero = on the dark top banner */
.nd-rt { --rt-fg: inherit; --rt-mute: rgba(26, 26, 28, .62); --rt-line: rgba(26, 26, 28, .12); --rt-soft: rgba(134, 79, 254, .07); --rt-acc: #864ffe;
  color: var(--rt-fg); font-family: var(--font-inter-tight, 'Inter Tight', system-ui, sans-serif); font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.nd-rt--hero { --rt-fg: rgba(255, 255, 255, .78); --rt-mute: rgba(255, 255, 255, .55); --rt-line: rgba(255, 255, 255, .16); --rt-soft: rgba(255, 255, 255, .06); --rt-acc: #c1b1f9; font-size: 16px; }
.nd-rt::after { content: ""; display: block; clear: both; }
.nd-rt > :first-child { margin-top: 0 !important; }
.nd-rt > :last-child { margin-bottom: 0 !important; }
.nd-rt p { margin: 0 0 1em; font-size: inherit; line-height: inherit; }
.nd-rt h2, .nd-rt h3, .nd-rt h4 { color: inherit; font-weight: 600; letter-spacing: -.01em; }
.nd-rt h2 { margin: 1.6em 0 .55em; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; }
.nd-rt h3 { margin: 1.4em 0 .5em; font-size: clamp(20px, 2.4vw, 25px); line-height: 1.25; }
.nd-rt h4 { margin: 1.2em 0 .45em; font-size: 19px; line-height: 1.3; }
.nd-rt--hero h2, .nd-rt--hero h3, .nd-rt--hero h4 { color: #fff; }
.nd-rt strong, .nd-rt b { font-weight: 600; }
.nd-rt a { color: var(--rt-acc); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: opacity .2s; }
.nd-rt a:hover { opacity: .8; }
.nd-rt ul, .nd-rt ol { margin: 0 0 1.1em; padding-left: 1.5em; }
.nd-rt ul { list-style: disc; }
.nd-rt ol { list-style: decimal; }
.nd-rt li { margin: .3em 0; padding-left: .2em; }
.nd-rt li::marker { color: var(--rt-acc); }
.nd-rt ul.nd-rt-check { list-style: none; padding-left: 0; }
.nd-rt ul.nd-rt-check > li { position: relative; padding-left: 30px; }
.nd-rt ul.nd-rt-check > li::before { content: ""; position: absolute; left: 0; top: .32em; width: 18px; height: 18px; border: 2px solid var(--rt-line); border-radius: 5px; }
.nd-rt ul.nd-rt-check > li.nd-rt-checked::before { border-color: #10b981; background: #10b981 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; }
.nd-rt blockquote { margin: 1.4em 0; padding: .9em 1.2em; border-left: 4px solid var(--rt-acc); border-radius: 0 14px 14px 0; background: var(--rt-soft); font-size: 1.05em; font-style: italic; }
.nd-rt blockquote > :last-child { margin-bottom: 0; }
.nd-rt pre { margin: 1.3em 0; padding: 16px 18px; border-radius: 14px; background: #0f1117; color: #e6edf3; font: 14px/1.65 ui-monospace, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-x: auto; }
.nd-rt code { padding: .12em .42em; border-radius: 6px; background: rgba(134, 79, 254, .12); font: .88em ui-monospace, Menlo, Consolas, monospace; }
.nd-rt pre code { padding: 0; background: none; font-size: inherit; }
.nd-rt hr { margin: 2em 0; border: 0; border-top: 1px solid var(--rt-line); }
.nd-rt mark { padding: 0 .2em; border-radius: 4px; color: inherit; }
.nd-rt sub, .nd-rt sup { font-size: .75em; }
.nd-rt figure { margin: 1.5em 0; }
.nd-rt img { display: inline-block; max-width: 100%; height: auto; border-radius: 16px; }
.nd-rt .nd-rt-img-center { text-align: center; }
.nd-rt .nd-rt-img-left { float: left; max-width: 48%; margin: .3em 1.5em 1em 0; }
.nd-rt .nd-rt-img-right { float: right; max-width: 48%; margin: .3em 0 1em 1.5em; }
.nd-rt figcaption { margin-top: .5em; font-size: .85em; color: var(--rt-mute); text-align: center; }
.nd-rt .nd-rt-video { position: relative; margin: 1.5em 0; padding-top: 56.25%; border-radius: 18px; overflow: hidden; background: #000; }
.nd-rt .nd-rt-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nd-rt table { display: block; width: 100%; max-width: 100%; margin: 1.4em 0; overflow-x: auto; border-collapse: collapse; font-size: .92em; }
.nd-rt th, .nd-rt td { padding: 10px 14px; border: 1px solid var(--rt-line); text-align: left; vertical-align: top; }
.nd-rt th { background: var(--rt-soft); font-weight: 600; }
.nd-rt .nd-rt-note, .nd-rt .nd-rt-tip, .nd-rt .nd-rt-warn { position: relative; margin: 1.4em 0; padding: 14px 18px 14px 48px; border-radius: 14px; }
.nd-rt .nd-rt-note { background: rgba(59, 130, 246, .09); border: 1px solid rgba(59, 130, 246, .28); }
.nd-rt .nd-rt-tip { background: rgba(16, 185, 129, .09); border: 1px solid rgba(16, 185, 129, .28); }
.nd-rt .nd-rt-warn { background: rgba(245, 158, 11, .11); border: 1px solid rgba(245, 158, 11, .32); }
.nd-rt .nd-rt-note::before { content: "ℹ️"; } .nd-rt .nd-rt-tip::before { content: "✅"; } .nd-rt .nd-rt-warn::before { content: "⚠️"; }
.nd-rt .nd-rt-note::before, .nd-rt .nd-rt-tip::before, .nd-rt .nd-rt-warn::before { position: absolute; left: 16px; top: 14px; }
.nd-rt .nd-rt-note > :last-child, .nd-rt .nd-rt-tip > :last-child, .nd-rt .nd-rt-warn > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .nd-rt { font-size: 16px; }
  .nd-rt .nd-rt-img-left, .nd-rt .nd-rt-img-right { float: none; max-width: 100%; margin: 1em 0; }
}

/* the project page theme styles every list/paragraph inside .team-details-markdown: keep the editor's look */
.team-details-markdown .nd-rt p, .team-details-markdown .nd-rt li { font-size: inherit; line-height: inherit; font-weight: inherit; }
.team-details-markdown .nd-rt ul > li, .team-details-markdown .nd-rt ol > li { display: list-item; column-gap: 0; color: inherit; font-family: inherit; }
.team-details-markdown .nd-rt ul > li::before { content: none; display: none; }
.team-details-markdown .nd-rt h2, .team-details-markdown .nd-rt h3, .team-details-markdown .nd-rt h4 { font-weight: 600; }
.team-details-markdown .nd-rt h3 { margin-top: 1.4em; font-size: clamp(20px, 2.4vw, 25px); line-height: 1.25; }
.team-details-markdown .nd-rt h4 { margin-top: 1.2em; font-size: 19px; }
.team-details-markdown .nd-rt h3 + p, .team-details-markdown .nd-rt h4 + p, .team-details-markdown .nd-rt h3 + ul { margin-top: 0; }
.team-details-markdown .nd-rt hr { margin: 2em 0; }
.team-details-markdown .nd-rt ul.nd-rt-check > li { display: block; }
.team-details-markdown .nd-rt ul.nd-rt-check > li::before, .nd-rt ul.nd-rt-check > li::before { content: ""; display: block; position: absolute; left: 0; top: .32em; width: 18px; height: 18px; border: 2px solid var(--rt-line); border-radius: 5px; background-color: transparent; }
.team-details-markdown .nd-rt ul.nd-rt-check > li.nd-rt-checked::before, .nd-rt ul.nd-rt-check > li.nd-rt-checked::before { border-color: #10b981; background: #10b981 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; }
@media (min-width: 641px) { .nd-rt table { display: table; } }

/* top banner of the project page: always white text (the theme colours every <p> dark, which overrode the block's colour).
   Colours picked in the text editor are on inline spans, so they still apply. */
.nd-rt--hero { color: #fff !important; --rt-fg: #fff; --rt-acc: #fff; }
.nd-rt--hero p, .nd-rt--hero li, .nd-rt--hero h2, .nd-rt--hero h3, .nd-rt--hero h4, .nd-rt--hero blockquote, .nd-rt--hero td, .nd-rt--hero th, .nd-rt--hero strong, .nd-rt--hero b, .nd-rt--hero em, .nd-rt--hero i, .nd-rt--hero u, .nd-rt--hero s, .nd-rt--hero a, .nd-rt--hero figcaption { color: #fff !important; }
.nd-rt--hero li::marker { color: #fff; }
.nd-rt--hero mark { color: #1a1a1c; } /* highlighted words sit on a light background */
.nd-rt--hero code { background: rgba(255, 255, 255, .16); color: #fff; }
