@import url(https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css);
:root {
--bracket-color: hsl(288, 30%, 70%);
--op-color: hsl(288, 30%, 70%);
--function-signature-color: hsl(133, 33%, 80%);
--function-name-color: hsl(133, 33%, 80%);
--function-bracket-color: hsl(133, 33%, 70%);
--function-arrow-color: hsl(133, 33%, 60%);
--literal-color: hsl(210, 78%, 78%);
--contrast-color-high: hsl(288, 30%, 80%);
--contrast-color-mid: hsl(288, 30%, 70%);
--contrast-color-low: hsl(288, 30%, 60%);
--main-color-high: hsl(42, 89%, 80%);
--main-color-mid: hsl(42, 89%, 70%);
--main-color-low: hsl(42, 89%, 60%);
--out-bracket-color: hsl(288, 30%, 85%);
--sidebar-width: 300px;
--text-color-light: hsl(40, 100%, 95%);
--text-color: hsl(41, 49%, 90%);
--text-color-dark: hsl(41, 49%, 25%);
--code-border-color: #4d5257;
--inline-code-border-color: #4d5257;
--code-background-color: #090d11;
--code-output-background-color: #020303;
--var-name-color: hsl(290, 45%, 90%);
--field-name-color: #efd8aa;
--kind-annotation-color: #f09fca;
--kind-annotation-color-dark: #d574a8;
--body-background-color: hsl(216, 28%, 7%);
--abstract-background-color: #171c26;
--mechdown-table-odd-row-background-color: hsl(222, 25%, 9%);
--mechdown-table-even-row-background-color: #171c26;
--mechdown-table-row-hover-background-color: hsl(222, 25%, 17%);
--h2-underline-color: #343b46;
--toc-heading-number-color: rgba(255, 255, 255, 0.55);
--title-underline-color: hsl(42, 89%, 70%);
--callout-background-color: #1f2533;
--warning-color: hsl(20, 100%, 75%);
--error-color: hsl(350, 100%, 75%);
--info-color: hsl(230, 100%, 75%);
--success-color: hsl(130, 100%, 75%);
--idea-color: hsl(271, 100%, 75%);
--question-color: hsl(191, 100%, 75%);
--code-namespace-label-color: #f5a7d3;
--pattern-color: hsl(133, 33%, 70%);
--pattern-parent-color: hsl(133, 33%, 70%);
}
html {
scroll-behavior: auto;
}
body {
font-family: 'Lato', sans-serif;
background-color: var(--body-background-color);
font-weight:300;
margin: 0;
padding: 0;
font-size: 1rem;
}
.mech-document {
display: flex;
flex-direction: row;
align-items: center;
margin: 0;
padding: 0;
scrollbar-width: none;
-ms-overflow-style: none;
}
.mech-root {
width: 100%;
display: flex;
flex-direction: row;
}
.mech-content {
counter-reset: h2 equation;
margin-top: 50px;
}
.mech-toc.hidden {
display: none;
}
.mech-toc.hidden ~ .mech-content {
margin-left: 0;
}
.super.compact .mech-content {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none;
}
.mech-toc {
max-width: 250px;
position: absolute;
counter-reset: h2;
color: var(--text-color);
overflow-y: auto;
overflow-x: hidden;
top: 150px;
margin-left: calc(50% - 350px - 250px - 150px);
overflow: auto;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
height: calc(100vh - 60px);
}
.mech-program {
max-width: 700px;
margin: auto;
}
#mech-output {
}
.compact .mech-program h1 {
width: 100%;
margin-left: 0px;
}
.compact .mech-program h2 {
width: 100%;
margin-left: 0px;
}
.compact .mech-program h3 {
margin-left: 0px;
}
.super.compact .mech-content {
max-width: 100%;
min-width: 300px;
margin: 10px;
}
.super.compact .mech-program {
max-width: 100%;
min-width: 0px;
}
.super.compact .mech-program h1 {
width: 100%;
margin-left: 0px;
}
.super.compact .mech-program h2 {
width: 100%;
margin-left: 0px;
}
.super.compact .mech-program h3 {
margin-left: 0px;
}
.super.compact .mech-program-section {
padding-left: 0px;
padding-right: 0px;
}
.super.compact .mech-table {
max-width: 100%;
overflow-x: auto;
}
.super.compact .mech-statement {
min-width: fit-content;
}
#mech-output::-webkit-scrollbar {
display: none; /* Chrome, Safari, Edge */
}
.repl-line {
margin-top: 10px;
}
.repl-prompt {
color: var(--main-color-mid);
width: 20px;
}
.repl-result .mech-output-value {
margin-top: 10px;
}
.repl-result .mech-output-value {
overflow-x: auto;
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE 10+ */
}
.repl-result .mech-output-value::-webkit-scrollbar {
display: none; /* Chrome, Safari, Edge */
}
.repl-result {
margin-top: 10px;
}
.repl-input,
.repl-code {
display: block;
font-family: 'FiraCodeLight', monospace;
font-size: 1em;
min-height: 1.2em;
line-height: 1.2em;
color: var(--text-color);
padding: 0;
margin: 0;
padding-left: 25px;
border: none;
outline: none;
position: relative;
background: transparent;
width: calc(100% - 25px);
white-space: pre-wrap; /* preserve spacing and wrap */
word-wrap: break-word; /* break long words */
overflow-wrap: break-word;
resize: none; /* prevent user resizing */
}
.repl-code::before,
.repl-input::before {
content: ">:";
color: var(--main-color-mid);
margin-left: -25px;
position: absolute;
pointer-events: none;
}
.mech-toc-sections {
}
.mech-toc h2 {
line-height: 23px;
}
.mech-toc::-webkit-scrollbar {
display: none; /* Chrome, Safari, Edge */
}
.mech-toc h1 {
visibility: hidden;
font-size: 1rem;
}
.mech-toc h2 {
font-size: 1rem;
padding-left: 13px;
}
h2.toc::before {
padding-right: 3px;
}
.mech-toc h2 a {
color: var(--text-color);
text-decoration: none;
}
.mech-toc h2:hover::before {
color: var(--contrast-color-low);
}
.mech-toc h2 a:hover {
color: var(--contrast-color-low);
text-decoration: none;
}
h3.toc::before {
font-size: 1rem;
padding-right: 3px;
color: var(--toc-heading-number-color);
}
.mech-toc h3 {
line-height: 23px;
}
.mech-toc h3 {
font-size: 1rem;
padding-left: 30px;
}
.mech-toc h3 a {
color: var(--text-color);
text-decoration: none;
}
.mech-toc h3:hover::before {
color: var(--contrast-color-low);
}
.mech-toc h3 a:hover {
color: var(--contrast-color-low);
text-decoration: none;
}
h4.toc::before {
font-size: 1rem;
padding-right: 3px;
color: var(--toc-heading-number-color);
}
.mech-toc h4 {
line-height: 23px;
font-size: 1rem;
padding-left: 60px;
margin: 10px;
}
.mech-toc h4 a {
color: var(--text-color);
text-decoration: none;
}
.mech-toc h4:hover::before {
color: var(--contrast-color-low);
}
.mech-toc h4 a:hover {
color: var(--contrast-color-low);
text-decoration: none;
}
h5.toc::before {
font-size: 1rem;
padding-right: 3px;
color: var(--toc-heading-number-color);
}
.mech-toc h5 {
line-height: 23px;
font-size: 1rem;
padding-left: 90px;
margin: 10px;
}
.mech-toc h5 a {
color: var(--text-color);
text-decoration: none;
}
.mech-toc h5:hover::before {
color: var(--contrast-color-low);
}
.mech-toc h5 a:hover {
color: var(--contrast-color-low);
text-decoration: none;
}
.mech-map {
color: var(--op-color);
}
.mech-set {
color: var(--op-color);
}
.mech-set-comprehension {
color: var(--op-color);
}
.mech-set-open {
color: var(--bracket-color);
}
.mech-set-close {
color: var(--bracket-color);
}
.mech-set-bar {
color: var(--op-color);
}
.mech-matrix {
display: inline-flex;
}
.mech-bracket.end {
align-self: flex-end;
margin-left: -10px;
}
.mech-slice-ref {
display: inline-flex;
}
.mech-matrix-column {
display: flex;
flex-direction: column;
padding-right: 10px;
}
.mech-variable-assign-op {
padding-left: 6px;
padding-right: 6px;
color: var(--op-color);
}
.mech-variable-assign {
display: flex;
flex-direction: row;
gap: 6px;
}
.mech-enum-name {
color: var(--kind-annotation-color);
}
.mech-enum-define {
display: inline-flex;
gap: 6px;
color: var(--op-color);
}
.mech-enum-variant {
color: var(--literal-color);
}
.mech-kind-define-op {
padding-left: 6px;
padding-right: 6px;
color: var(--op-color);
}
.mech-range-operator {
color: var(--op-color);
}
.mech-assign-op {
color: var(--op-color);
}
.mech-transition-statement {
color: var(--op-color);
}
.mech-transition-output {
color: var(--op-color);
}
.mech-fsm-arm-last {
color: var(--op-color);
}
.mech-term {
display: inline-flex;
}
.mech-formula-operator {
padding-left: 6px;
padding-right: 6px;
}
.mech-program h1 {
width: 900px;
font-family: 'FiraCodeRegular', monospace;
padding-bottom: 10px;
color: var(--text-color);
letter-spacing: 2px;
font-size: 1.83rem;
font-weight: bold;
text-align: center;
margin-bottom: 16px;
margin-left: -100px;
position: relative;
}
.mech-program h1::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
height: 2px;
width: 100%;
background: linear-gradient(to right, var(--body-background-color), var(--title-underline-color), var(--title-underline-color), var(--title-underline-color), var(--body-background-color));
border-radius: 2px;
}
.mech-program-byline {
font-size: 1em;
font-weight: normal;
color: #666; /* subtle, secondary color */
margin-top: 0;
margin-bottom: 1em;
line-height: 1.2;
font-style: italic;
text-align: center;
}
.mech-program h2 a {
color: var(--text-color);
text-decoration: none;
}
.mech-program h2 {
width: 850px;
font-family: 'FiraCodeRegular', monospace;
padding-bottom: 10px;
border-bottom: 1px solid var(--h2-underline-color);
font-size: 1.33rem;
font-weight: bold;
letter-spacing: 2px;
margin-bottom: 30px;
margin-top: 80px;
margin-left: -73px;
}
.mech-program h3 a {
color: var(--text-color);
text-decoration: none;
}
.mech-program h3 {
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-size: 1.17rem;
font-weight: bold;
margin-top: 50px;
margin-bottom: 20px;
letter-spacing: 1px;
margin-left: -48px;
}
.mech-program h4 a {
color: var(--text-color);
text-decoration: none;
}
.mech-program h4 {
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-size: 1rem;
font-weight: bold;
margin-bottom: 10px;
letter-spacing: 1px;
}
.mech-program h5 a {
color: var(--text-color);
text-decoration: none;
}
.mech-program h5 {
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-size: 1rem;
font-weight: bold;
margin-bottom: 10px;
letter-spacing: 1px;
}
h4.toc {
display: none;
}
h5.toc {
display: none;
}
.mech-variable-mutable {
color: var(--op-color);
}
.mech-section-element {
}
.mech-fsm-specification
.mech-fsm-sigil{
display: inline-flex;
}
.mech-modal {
display: block;
background-color: var(--code-output-background-color);
color: #e6dac2;
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
line-height: 18px;
padding: 20px;
border-radius: 10px;
border: 1px solid var(--code-border-color);
margin-bottom: 20px;
overflow-x: auto;
box-shadow: 0 1px 20px rgba(0, 0, 0, 1);
z-index:1000;
}
.mech-code-block {
display: block;
background-color: var(--code-background-color);
color: #e6dac2;
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
line-height: 18px;
padding: 20px;
border-radius: 10px;
border: 1px solid var(--code-border-color);
margin-bottom: 20px;
overflow-x: auto;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.7);
}
.mech-code-block::-webkit-scrollbar {
height: 8px; /* Horizontal scrollbar height */
}
.mech-code-block::-webkit-scrollbar-track {
background: transparent;
}
.mech-code-block::-webkit-scrollbar-thumb {
background: rgba(128, 128, 128, 0.7);
border-radius: 10px;
}
.mech-code-block::-webkit-scrollbar-thumb:hover {
background: rgba(128, 128, 128, 0.9);
}
/* Firefox */
.mech-code-block {
scrollbar-color: rgba(128, 128, 128, 0.7) transparent;
scrollbar-width: thin;
}
.mech-grammar {
display: block;
background-color: var(--code-background-color);
color: var(--text-color);
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
line-height: 18px;
padding: 20px;
border-radius: 10px;
border: 1px solid var(--code-border-color);
margin-bottom: 20px;
overflow-x: auto;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.7);
}
.mech-grammar::-webkit-scrollbar {
height: 8px; /* Horizontal scrollbar height */
}
.mech-grammar::-webkit-scrollbar-track {
background: transparent;
}
.mech-grammar::-webkit-scrollbar-thumb {
background: rgba(128, 128, 128, 0.7);
border-radius: 10px;
}
.mech-grammar::-webkit-scrollbar-thumb:hover {
background: rgba(128, 128, 128, 0.9);
}
/* Firefox */
.mech-grammar {
scrollbar-color: rgba(128, 128, 128, 0.7) transparent;
scrollbar-width: thin;
}
.mech-grammar-identifier {
color: var(--var-name-color);
}
.mech-grammar-definition {
color: var(--var-name-color);
}
.mech-grammar-definition a {
color: var(--var-name-color);
text-decoration: none;
}
.mech-grammar-definition a:hover {
color: var(--var-name-color);
text-decoration: underline;
}
.mech-grammar-choice {
margin-left: 20px;
}
.mech-grammar-sequence {
margin-left: 20px;
}
.mech-grammar-terminal {
color: var(--literal-color);
}
.mech-grammar-rule {
color: var(--op-color);
}
.mech-code {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
line-height: 24px;
}
.mech-code .mech-comment {
margin: 0px;
padding: 0px;
}
.mech-code .mech-comment p {
line-height: inherit;
}
.mech-statement {
min-width: 225px;
}
.mech-inline-mech-code-formatted .mech-statement {
min-width:fit-content;
}
.mech-variable-define {
display: flex;
}
.mech-fsm-specification-header {
display: inline-flex;
}
.mech-variable-mutable {
color: var(--op-color);
}
.mech-var-name {
color: var(--var-name-color);
font-style: bold;
white-space: nowrap;
}
.mech-output-kind {
margin-bottom: 10px;
}
.mech-boolean {
color: var(--literal-color);
}
.mech-atom {
color: var(--literal-color);
}
.mech-empty {
color: var(--literal-color);
}
.mech-grammar-define-op {
padding-right: 12px;
color: var(--op-color);
}
.mech-grammar-choice-op {
color: var(--op-color);
}
.mech-grammar-repeat1-op {
color: var(--op-color);
}
.mech-grammar-repeat0-op {
color: var(--op-color);
}
.mech-grammar-not-op {
color: var(--op-color);
}
.mech-grammar-optional-op {
color: var(--op-color);
}
.mech-literal {
}
.mech-matrix .mech-number {
text-align: right;
}
.mech-number {
color: var(--literal-color);
}
.mech-factor {
display: inline-flex;
}
.mech-term {
}
code {
margin: 0px;
padding: 0px;
}
.mech-inline-code {
background-color: var(--code-background-color);
border: 1px solid var(--inline-code-border-color);
color: var(--var-name-color);
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
padding: 0px 6px 0px 6px;
margin: 0px 2px 0px 2px;
border-radius: 3px;
box-shadow: 0 0px 2px rgba(0, 0, 0, 0.7);
white-space: nowrap;
}
.mech-inline-mech-code-formatted .mech-code-block {
display: inline-flex;
vertical-align: middle;
background-color: var(--code-background-color);
border: 1px solid var(--inline-code-border-color);
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
padding: 0px 6px 0px 6px;
margin: 0px 2px 0px 2px;
border-radius: 3px;
box-shadow: 0 0px 2px rgba(0, 0, 0, 0.7);
}
.mech-fenced-mech-block .mech-code-block {
background-color: var(--code-background-color);
border-radius: 10px 10px 0px 0px;
border-bottom: 0px solid var(--code-border-color);
margin-bottom: 0px;
box-shadow: none;
}
.mech-inline-mech-code {
background-color: var(--code-background-color);
border: 1px solid var(--inline-code-border-color);
color: var(--literal-color);
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
padding: 0px 6px 0px 6px;
margin: 0px 2px 0px 2px;
border-radius: 3px;
box-shadow: 0 0px 2px rgba(0, 0, 0, 0.7);
}
.mech-formula-operator {
color: var(--op-color);
}
.mech-not-op {
color: var(--op-color);
}
.mech-op-assign-op {
padding-left: 6px;
padding-right: 6px;
color: var(--op-color);
}
.mech-paragraph {
color: var(--text-color-light);
line-height: 25px;
}
.mech-paragraph a {
color: var(--main-color-mid);
text-decoration: underline dotted;
text-underline-offset: 3px;
}
.mech-paragraph a:hover {
color: var(--main-color-high);
text-decoration: underline dotted;
text-underline-offset: 3px;
}
.mech-program-subtitle:hover {
color: var(--contrast-color-low);
cursor: pointer;
}
a.mech-hyperlink .mech-inline-code {
display: inline-block; /* isolates from parent text-decoration */
text-decoration: none !important; /* remove inherited underline */
border: 1px dashed var(--main-color-mid); /* yellow dotted border */
padding: 0 3px; /* optional spacing */
border-radius: 3px; /* optional rounded corners */
color: var(--main-color-mid); /* match link color */
}
a.mech-hyperlink:hover .mech-inline-code {
color: var(--main-color-high);
border-color: var(--main-color-high);
}
.mech-all {
color: var(--op-color);
}
.mech-transpose-op {
color: var(--op-color);
}
.mech-negate-op {
color: var(--op-color);
}
.mech-record {
color: var(--op-color);
display: flex;
}
.mech-binding {
display: inline-flex;
}
.mech-function-call {
display: inline-flex;
}
.mech-function-call .mech-argument-list {
color: var(--function-bracket-color);
}
.mech-function-call .mech-left-paren, .mech-function-call .mech-right-paren {
color: var(--function-bracket-color);
}
.mech-slice {
display: inline-flex;
}
.mech-subscript {
display: inline-flex;
}
.mech-bracket {
display: inline-flex;
color: var(--bracket-color);
}
.mech-start-brace {
color: var(--bracket-color);
}
.mech-start-paren {
color: var(--bracket-color);
}
.mech-end-paren {
color: var(--bracket-color);
}
.mech-clickable:hover {
background-color: #2a2b34;
cursor: pointer;
}
.mech-end-brace {
color: var(--bracket-color);
}
.mech-subscript {
color: var(--op-color);
}
.mech-dot {
color: var(--field-name-color);
}
.mech-binding-colon-op {
padding-right: 6px;
}
.mech-right-paren {
color: var(--bracket-color);
}
.mech-left-paren {
color: var(--bracket-color);
}
.mech-binding-name {
color: var(--field-name-color);
padding-left: 6px;
}
.mech-parenthetical {
color: var(--bracket-color);
}
.mech-function-name {
color: var(--function-name-color);
}
.mech-kind-annotation {
display: inline-flex;
}
.mech-kind {
color: var(--kind-annotation-color);
display: inline-flex;
}
.mech-fsm-define-op {
padding-left: 6px;
}
.mech-fsm-output {
padding-left: 6px;
color: var(--op-color);
}
.mech-fsm-input {
color: #ccbbc2;
display: inline-flex;
}
.mech-fsm-name {
color: #d8a5e4;
}
.mech-kind-annotation {
color: var(--kind-annotation-color-dark);
}
.mech-kind .mech-literal .mech-number {
color: var(--kind-annotation-color);
}
.mech-kind-annotation .mech-empty {
color: var(--kind-annotation-color);
}
.mech-fsm-state {
display: inline-flex;
}
.mech-fsm-states {
display: flex;
flex-direction: column;
margin-left: 20px;
}
.mech-state-definition {
display: inline-flex;
}
.mech-fsm-arms {
margin-left: 20px;
display: flex;
flex-direction: column;
}
.mech-fsm-arm {
display: inline-flex;
}
.mech-fsm-implementation-header {
display: inline-flex;
}
.mech-tuple-struct {
display: inline-flex;
color: var(--op-color);
}
.mech-fsm-sigil {
color: var(--op-color);
}
.mech-fsm-state {
color: var(--op-color);
}
.mech-tuple-struct-patterns {
display: inline-flex;
}
.mech-fsm-define-op {
padding-right: 6px;
color: var(--op-color);
}
.mech-matrix.empty .end {
margin-left: 0px;
}
.mech-fsm-implementation {
margin-top: 20px;
}
.mech-fsm-guards {
display: flex;
flex-direction: column;
margin-left: 20px;
}
.mech-fsm-guard-arm {
color: var(--op-color);
display: inline-flex;
}
.mech-guard-condition {
padding-left: 6px;
}
.mech-transition-output {
padding-left: 0px;
}
.mech-state-variables {
display: inline-flex;
}
.mech-transition-next {
padding-left: 0px;
color: var(--op-color);
}
.mech-guard-condition {
display: inline-flex;
margin: 0px;
}
.mech-pattern-wildcard {
display: inline-flex;
color: var(--pattern-color);
}
.mech-tuple-struct {
margin-right: 6px;
}
.mech-tuple {
color: var(--op-color);
}
.mech-tuple-destructure {
display: flex;
gap: 6px;
color: var(--op-color);
}
.mech-state-name {
color: #dbc3a5;
}
.mech-tuple-struct-name {
color: #dbc3a5;
}
.mech-code-block .mech-code:first-child .mech-comment {
margin-top: 0px;
padding-top: 0px;
}
.mech-comment {
color: #5c6467;
font-style: italic;
padding-top: 20px;
display: flex; /* align contents horizontally */
gap: 4px;
}
.mech-comment p {
margin: 0;
color: #939a9e;
display: inline;
}
.mech-comment-sigil {
white-space: nowrap;
}
.mech-string {
white-space: pre;
color: var(--literal-color);
}
ul {
color: var(--main-color-mid);
}
ol {
color: var(--main-color-mid);
}
.mech-check-list {
list-style: none;
padding-left: 9px;
margin-top: 0.5em;
}
.mech-check-list-item {
display: flex;
align-items: flex-start;
gap: 0.5em;
margin: 0;
color: #dcd4c9;
}
.mech-check-list-item input[type="checkbox"] {
appearance: none;
width: 16px;
height: 16px;
margin-top: 3px;
border: 2px solid #777;
border-radius: 3px;
background-color: #171D21;
cursor: pointer;
position: relative;
}
.mech-check-list-item input[type="checkbox"]:checked {
background-color: #171D21;
border-color: var(--main-color-mid);
}
.mech-check-list-item input[type="checkbox"]:checked::after {
content: "✓";
color: var(--main-color-mid);
position: absolute;
top: 0px;
left: 1px;
font-size: 12px;
line-height: 1;
}
.mech-list-item-emoji {
list-style-type: none;
color: #ee6262;
}
.mech-list-item-emoji {
line-height: 0px;
color: #ee6262;
}
.mech-list-item-emoji::before {
content: attr(data-bullet);
position: relative;
font-size: 1rem;
color: #ee6262;;
right: 30px;
top: 13px;
}
.mech-figure {
display: flex;
flex-direction: column;
align-items: center;
margin: 20px auto;
}
.mech-image {
max-width: 110%;
}
.mech-figure-label {
color: var(--main-color-mid);
font-size: 1rem;
min-width: 60px;
text-align: right;
}
.mech-figure-caption {
width: 110%;
}
.mech-float .mech-figure-caption {
width: 350px;
}
.mech-figure-caption {
margin-top: 1em;
color: #eadec2;
font-size: 1rem;
text-align: left;
line-height: 1.4;
font-style: italic;
display: flex;
flex-direction: row;
gap: 0.5em;
}
.mech-float .mech-figure {
margin-top: 10px;
margin-bottom: 10px;
}
.mech-figure-caption p {
margin: 0;
}
li {
padding-left: 3px;
}
li p {
margin-top: 2px;
margin-bottom: 2px;
}
.mech-field-name {
color: var(--field-name-color);
}
.mech-table-header {
color: #dbc3a5;
text-align: center;
font-weight: bold;
border-bottom: 1px solid var(--code-border-color);
}
.mech-table-cell.left {
text-align: left;
}
.mech-table-cell.right {
text-align: right;
}
.mech-table-cell.center {
text-align: center;
}
.mech-table .mech-table-header-cell {
text-align: center;
}
.mech-table-rows {
}
.mech-table-row {
}
.mech-table {
background-color: var(--mechdown-table-even-row-background-color);
color: var(--text-color);
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
padding: 0px;
border-collapse: collapse;
border: 1px solid var(--code-border-color);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
.mech-output-value .mech-table:last-child {
margin-bottom: 0;
}
.mech-code-block .mech-table:last-child {
margin-bottom: 0;
}
.mech-table th,
.mech-table td {
padding: 5px;
}
.mech-table thead {
background-color: var(--mechdown-table-odd-row-background-color);
}
.mech-table .mech-table-header-cell {
padding: 10px;
}
.mech-table .mech-table-row-even {
background-color: var(--mechdown-table-even-row-background-color);
}
.mech-table .mech-table-row-odd {
background-color: var(--mechdown-table-odd-row-background-color);
}
.mech-table .mech-table-cell {
padding: 20px 10px 20px 10px;
border-bottom: 1px solid var(--code-border-color);
}
.mech-table tbody tr:hover {
background-color: var(--mechdown-table-row-hover-background-color);
}
.mech-table a {
color: var(--main-color-high);
text-decoration: underline;
}
.mech-table a:hover {
color: #f18181;
}
.mech-block-quote {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--main-color-mid);
padding: 40px 30px;
margin: 40px auto;
color: var(--text-color);
border-radius: 3px;
font-style: italic;
font-family: 'Georgia', serif;
position: relative;
}
.mech-block-quote::before,
.mech-block-quote::after {
color: var(--main-color-mid);
font-size: 32pt;
font-family: 'Georgia', serif;
position: absolute;
}
.mech-block-quote::before {
content: "“";
left: 15px;
top: 5px;
}
.mech-block-quote::after {
content: "”";
right: 15px;
bottom: -17px;
}
.mech-block-quote p {
margin: 0;
line-height: 1.6;
font-size: 14pt;
}
.mech-info-block {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--info-color);
padding: 20px 20px 20px 50px;
margin: 20px auto;
color: var(--text-color);
border-radius: 3px;
font-family: 'Georgia', serif;
position: relative;
font-style: normal;
}
.mech-info-block::before {
content: " ";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
background-color: var(--info-color);
border-radius: 50%;
mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWluZm8taWNvbiBsdWNpZGUtaW5mbyI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNMTIgMTZ2LTQiLz48cGF0aCBkPSJNMTIgOGguMDEiLz48L3N2Zz4=") center/70% no-repeat;
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWluZm8taWNvbiBsdWNpZGUtaW5mbyI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNMTIgMTZ2LTQiLz48cGF0aCBkPSJNMTIgOGguMDEiLz48L3N2Zz4=") center/70% no-repeat;
}
.mech-info-block p {
margin: 0;
line-height: 1.5;
font-size: 12pt;
}
.mech-warning-block {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--warning-color);
padding: 20px 20px 20px 50px;
margin: 20px auto;
color: var(--text-color);
border-radius: 3px;
font-family: 'Georgia', serif;
position: relative;
font-style: normal;
}
.mech-warning-block::before {
content: " ";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
background-color: var(--warning-color);
border-radius: 50%;
mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXRyaWFuZ2xlLWFsZXJ0LWljb24gbHVjaWRlLXRyaWFuZ2xlLWFsZXJ0Ij48cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiLz48cGF0aCBkPSJNMTIgOXY0Ii8+PHBhdGggZD0iTTEyIDE3aC4wMSIvPjwvc3ZnPg==") center/70% no-repeat;
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXRyaWFuZ2xlLWFsZXJ0LWljb24gbHVjaWRlLXRyaWFuZ2xlLWFsZXJ0Ij48cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiLz48cGF0aCBkPSJNMTIgOXY0Ii8+PHBhdGggZD0iTTEyIDE3aC4wMSIvPjwvc3ZnPg==") center/70% no-repeat;
}
.mech-warning-block p {
margin: 0;
line-height: 1.5;
font-size: 12pt;
}
.mech-question-block {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--question-color);
padding: 20px 20px 20px 50px;
margin: 20px auto;
color: var(--text-color);
border-radius: 3px;
font-family: 'Georgia', serif;
position: relative;
font-style: normal;
}
.mech-question-block::before {
content: " ";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
background-color: var(--question-color);
border-radius: 50%;
mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNpcmNsZS1xdWVzdGlvbi1tYXJrLWljb24gbHVjaWRlLWNpcmNsZS1xdWVzdGlvbi1tYXJrIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyIvPjxwYXRoIGQ9Ik0xMiAxN2guMDEiLz48L3N2Zz4=") center/70% no-repeat;
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNpcmNsZS1xdWVzdGlvbi1tYXJrLWljb24gbHVjaWRlLWNpcmNsZS1xdWVzdGlvbi1tYXJrIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyIvPjxwYXRoIGQ9Ik0xMiAxN2guMDEiLz48L3N2Zz4=") center/70% no-repeat;
}
.mech-question-block p {
margin: 0;
line-height: 1.5;
font-size: 12pt;
}
.mech-error-block {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--error-color);
padding: 20px 20px 20px 50px;
margin: 20px auto;
color: var(--text-color);
border-radius: 3px;
font-family: 'Georgia', serif;
position: relative;
font-style: normal;
}
.mech-error-block::before {
content: " ";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
background-color: var(--error-color);
border-radius: 50%;
mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLW9jdGFnb24tYWxlcnQtaWNvbiBsdWNpZGUtb2N0YWdvbi1hbGVydCI+PHBhdGggZD0iTTEyIDE2aC4wMSIvPjxwYXRoIGQ9Ik0xMiA4djQiLz48cGF0aCBkPSJNMTUuMzEyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTQuNjg4LTQuNjg4QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMnoiLz48L3N2Zz4=") center/70% no-repeat;
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLW9jdGFnb24tYWxlcnQtaWNvbiBsdWNpZGUtb2N0YWdvbi1hbGVydCI+PHBhdGggZD0iTTEyIDE2aC4wMSIvPjxwYXRoIGQ9Ik0xMiA4djQiLz48cGF0aCBkPSJNMTUuMzEyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTQuNjg4LTQuNjg4QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMnoiLz48L3N2Zz4=") center/70% no-repeat;
}
.mech-error-block p {
margin: 0;
line-height: 1.5;
font-size: 12pt;
}
.mech-success-block {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--success-color);
padding: 20px 20px 20px 50px;
margin: 20px auto;
color: var(--text-color);
border-radius: 3px;
font-family: 'Georgia', serif;
position: relative;
font-style: normal;
}
.mech-success-block::before {
content: " ";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
background-color: var(--success-color);
border-radius: 50%;
mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNpcmNsZS1jaGVjay1pY29uIGx1Y2lkZS1jaXJjbGUtY2hlY2siPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBhdGggZD0ibTkgMTIgMiAyIDQtNCIvPjwvc3ZnPg==") center/70% no-repeat;
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNpcmNsZS1jaGVjay1pY29uIGx1Y2lkZS1jaXJjbGUtY2hlY2siPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBhdGggZD0ibTkgMTIgMiAyIDQtNCIvPjwvc3ZnPg==") center/70% no-repeat;
}
.mech-success-block p {
margin: 0;
line-height: 1.5;
font-size: 12pt;
}
.mech-idea-block {
width: 80%;
background-color: var(--callout-background-color);
border-left: 4px solid var(--idea-color);
padding: 20px 20px 20px 50px;
margin: 20px auto;
color: var(--text-color);
border-radius: 3px;
font-family: 'Georgia', serif;
position: relative;
font-style: normal;
}
.mech-idea-block::before {
content: " ";
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
width: 30px;
height: 30px;
background-color: var(--idea-color);
border-radius: 50%;
mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWxpZ2h0YnVsYi1pY29uIGx1Y2lkZS1saWdodGJ1bGIiPjxwYXRoIGQ9Ik0xNSAxNGMuMi0xIC43LTEuNyAxLjUtMi41IDEtLjkgMS41LTIuMiAxLjUtMy41QTYgNiAwIDAgMCA2IDhjMCAxIC4yIDIuMiAxLjUgMy41LjcuNyAxLjMgMS41IDEuNSAyLjUiLz48cGF0aCBkPSJNOSAxOGg2Ii8+PHBhdGggZD0iTTEwIDIyaDQiLz48L3N2Zz4=") center/70% no-repeat;
-webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWxpZ2h0YnVsYi1pY29uIGx1Y2lkZS1saWdodGJ1bGIiPjxwYXRoIGQ9Ik0xNSAxNGMuMi0xIC43LTEuNyAxLjUtMi41IDEtLjkgMS41LTIuMiAxLjUtMy41QTYgNiAwIDAgMCA2IDhjMCAxIC4yIDIuMiAxLjUgMy41LjcuNyAxLjMgMS41IDEuNSAyLjUiLz48cGF0aCBkPSJNOSAxOGg2Ii8+PHBhdGggZD0iTTEwIDIyaDQiLz48L3N2Zz4=") center/70% no-repeat;
}
.mech-idea-block p {
margin: 0;
line-height: 1.5;
font-size: 12pt;
}
.mech-thematic-break {
border: 0;
border-top: 2px dotted #7e8892;
margin: 30px 0;
width: 100%;
opacity: 0.7;
}
.mech-fenced-mech-block {
border-radius: 10px;
margin-bottom: 20px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.7);
}
.mech-code-block.hidden {
display: none;
}
.mech-fenced-mech-block {
position: relative; /* makes this the anchor for absolute positioning */
}
.mech-code-block-namespace {
color: var(--code-namespace-label-color);
position: absolute;
top: -10px;
right: 15px;
background: rgb(13 17 23);
padding: 2px 10px;
border-radius: 10px;
font-size: 0.7rem;
border: 1px solid var(--code-namespace-label-color);
}
.mech-code-block-namespace a {
color: var(--code-namespace-label-color);
text-decoration: none;
}
.mech-block-output {
margin-top: 0px;
background-color: var(--code-output-background-color);
color: var(--text-color);
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
padding: 20px;
border: 1px solid var(--code-border-color);
border-radius: 0px 0px 10px 10px; /* Only bottom corners rounded */
overflow-x: auto;
}
.mech-block-output::-webkit-scrollbar {
height: 8px; /* Horizontal scrollbar height */
}
.mech-block-output::-webkit-scrollbar-track {
background: transparent;
}
.mech-block-output::-webkit-scrollbar-thumb {
background: rgba(128, 128, 128, 0.7);
border-radius: 10px;
}
.mech-block-output::-webkit-scrollbar-thumb:hover {
background: rgba(128, 128, 128, 0.9);
}
/* Firefox */
.mech-block-output {
scrollbar-color: rgba(128, 128, 128, 0.7) transparent;
scrollbar-width: thin;
}
.mech-footnote {
display: flex;
align-items: flex-start;
gap: 0.75em;
margin-top: 1em;
font-size: 0.9em;
color: #ada594;
}
.mech-footnote-id {
color: var(--main-color-mid);
font-weight: bold;
min-width: 2em;
text-align: right;
font-family: monospace;
}
.mech-footnote .mech-paragraph {
margin: 0;
line-height: 1.6;
color: var(--text-color);
}
a.mech-footnote-reference {
text-decoration: none;
font-size: 0.7em;
vertical-align: super;
margin-left: 0.1em;
color: var(--main-color-high);
font-weight: bold;
min-width: 2em;
text-align: right;
cursor: pointer;
font-family: monospace;
transition: color 0.2s;
}
.mech-footnote-reference:hover {
color: #f18181;
text-decoration: underline;
}
.mech-abstract {
background-color: var(--abstract-background-color);
border: 1px solid var(--main-color-mid);
padding: 2em 2em;
margin: 2em 2em;
border-radius: 8px;
color: #dcd4c9;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.7);
}
.mech-abstract p {
line-height: 25pt;
margin: 0px;
text-align: justify;
}
#mech-output {
counter-reset: h2;
}
#mech-output h2 {
counter-reset: h3;
}
#mech-output h2 {
counter-reset: h3;
}
.mech-content h2 {
counter-reset: h3;
}
.mech-content h3 {
counter-reset: h4;
}
.mech-content h4 {
counter-reset: h5;
}
.mech-toc h2 {
counter-reset: h3;
}
.mech-toc h3 {
counter-reset: h4;
}
.mech-toc h4 {
counter-reset: h5;
}
h2::before {
color: var(--main-color-mid);
counter-increment: h2;
content: counter(h2) ". ";
}
h3::before {
color: var(--main-color-mid);
counter-increment: h3;
content: counter(h2) "." counter(h3) " ";
}
h4::before {
color: var(--main-color-mid);
counter-increment: h4;
content: counter(h2) "." counter(h3) "." counter(h4) " ";
}
h5::before {
color: var(--main-color-mid);
counter-increment: h5;
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " ";
}
.mech-program-subtitle.toc.active::before{
color: var(--contrast-color-low);
}
.mech-program-subtitle.toc.active a:hover {
color: var(--contrast-color-low);
}
.mech-program-subtitle.toc.active a {
color: var(--contrast-color-high);
}
.mech-program-section.toc.active{
padding-top: 10px;
padding-bottom: 10px;
border-left: 4px solid var(--contrast-color-high);
}
h2:hover a {
color: var(--main-color-low);
}
.toc h2:hover a {
color: var(--contrast-color-low);
}
h3:hover a {
color: var(--main-color-low);
}
.toc h3:hover a {
color: var(--contrast-color-low);
}
h4:hover a {
color: var(--main-color-low);
}
.toc h4:hover a {
color: var(--contrast-color-low);
}
h5:hover a {
color: var(--main-color-low);
}
.toc h5:hover a {
color: var(--contrast-color-low);
}
h6:hover a {
color: var(--main-color-low);
}
.toc h6:hover a {
color: var(--contrast-color-low);
}
.mech-program-section {
padding-left: 10px;
padding-right: 10px;
}
.mech-program-subtitle.toc.visible {
display: block;
visibility: visible;
}
.mech-equation {
counter-increment: equation;
text-align: center;
color: #efd5cd;
}
.mech-equation::after {
content: "Eq. " counter(equation);
font-style: italic;
float: right;
color: var(--main-color-high);
font-size: 10pt;
line-height: 1.4;
font-style: italic;
gap: 0.5em;
}
.mech-inline-equation {
font-size: 10pt;
color: #efd5cd;
}
mark {
background-color: var(--main-color-low);
border: 1px solid var(--main-color-high);
color: var(--text-color-dark);
font-weight: 400;
padding: 0.2em 0.4em;
border-radius: 4px;
margin: 0px 7px 0px 3px;
box-shadow: 0 0px 2px rgba(0, 0, 0, 0.7);
}
.mech-works-cited {
width: 100%;
}
.mech-citation {
display: flex;
align-items: baseline;
color: var(--text-color);
}
.mech-citation p {
margin-top: 0px;
margin-bottom: 10px;
}
.mech-citation-id {
color: var(--main-color-mid);
font-family: 'FiraCodeRegular', monospace;
flex-shrink: 0;
padding: 3px 10px 3px 10px;
}
.mech-citation-link {
color: var(--main-color-high);
text-decoration: none;
word-break: break-all;
transition: color 0.2s ease;
}
.mech-citation-link:hover {
color: var(--main-color-low);
text-decoration: underline;
}
.mech-repl {
background-color: var(--code-output-background-color);
}
.mech-reference {
font-family: 'FiraCodeRegular', monospace;
align-items: baseline;
color: var(--main-color-high);
}
.mech-reference a:hover {
color: #f18181;
}
.mech-reference a {
color: var(--main-color-high);
text-decoration: none;
}
.mech-float.left {
float: left;
margin-right: 20px;
margin-left: -73px;
}
.mech-float.right {
float: right;
margin-left: 20px;
margin-right: -73px;
}
.mech-output-value .mech-matrix {
margin: 5px;
}
.mech-output-value .mech-matrix td {
max-width: 150px;
overflow: hidden;
padding: 5px 10px 5px 10px;
}
.mech-output-value {
padding-left: 10px;
}
.mech-matrix-element {
text-align: right;
}
.mech-matrix-outer{
width: fit-content;
position:relative;
border-left: 3px solid var(--out-bracket-color);
border-right: 3px solid var(--out-bracket-color);
}
.mech-matrix-outer:after{
content:'';
position:absolute;
height:3px;
width: 3px;
right:0;
border-top: 3px solid var(--out-bracket-color);
}
.mech-matrix-outer:before{
content:'';
position:absolute;
height:3px;
width: 3px;
border-top: 3px solid var(--out-bracket-color);
}
.mech-matrix-inner:before{
content:'';
position:absolute;
height:3px;
width: 3px;
bottom:0;
border-bottom: 3px solid var(--out-bracket-color);
}
.mech-matrix-inner:after {
content:'';
position:absolute;
height:3px;
width: 3px;
bottom:0; right:0;
border-bottom: 3px solid var(--out-bracket-color);
}
.mech-output-kind {
color: var(--kind-annotation-color);
font-weight: bold;
font-family: 'FiraCodeRegular', monospace;
margin-bottom: 10px;
}
.mech-table-cell .mech-paragraph {
margin: 0;
padding: 0;
}
#mech-output li {
color: var(--text-color);
}
#mech-output li::marker {
color: var(--main-color-mid);
font-weight: bold;
}
.mech-help th {
text-align: left;
padding-top: 10px;
padding-bottom: 10px;
padding-right: 10px;
}
.mech-help tr {
vertical-align: top;
}
.mech-help td {
padding-bottom: 10px;
}
.repl-result .mech-table td {
padding: 10px;
}
.repl-result .mech-table th {
padding: 10px;
}
.mech-text-logo {
white-space: pre;
color: rgb(246,192,78);
text-align: center;
margin: 20px auto;
}
#mech-output a {
color: var(--main-color-high);
text-decoration: underline;
}
#mech-output a:hover {
color: #f18181;
text-decoration: underline;
}
#mech-output.hidden {
display: none;
width: 0px;
}
#resizer.hidden {
display: none;
width: 0px;
}
.mech-command {
background-color: #171D21;
border: 1px solid #777;
color: var(--var-name-color);
font-family: 'FiraCodeLight', monospace;
font-size: 1rem;
padding: 0px 6px 0px 6px;
margin: 0px 2px 0px 2px;
border-radius: 3px;
box-shadow: 0 0px 2px rgba(0, 0, 0, 0.7);
}
.mech-version {
text-align: center;
}
#mech-output .mech-content {
max-width: 100%;
min-width: 300px;
margin: 10px;
}
#mech-output .mech-abstract {
margin: 10px auto;
padding: 10px;
}
#mech-output .mech-abstract p {
line-height: 25pt;
margin: 0px;
text-align: justify;
}
#mech-output h1 {
width: 100%;
margin: auto;
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-weight: bold;
border-bottom: none;
font-size: 1rem;
}
#mech-output h2 {
width: 100%;
margin: auto;
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-weight: bold;
border-bottom: none;
font-size: 1rem;
}
#mech-output h3 {
width: 100%;
margin: auto;
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-weight: bold;
font-size: 1rem;
margin-bottom: 10px;
}
#mech-output h4 {
width: 100%;
margin: auto;
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-weight: bold;
border-bottom: none;
font-size: 1rem;
}
#mech-output h5 {
width: 100%;
margin: auto;
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-weight: bold;
border-bottom: none;
font-size: 1rem;
}
#mech-output h6 {
width: 100%;
margin: auto;
font-family: 'FiraCodeRegular', monospace;
color: var(--text-color);
font-weight: bold;
border-bottom: none;
font-size: 1rem;
}
#mech-output h2 a {
text-decoration: none;
}
#mech-output h3 a {
text-decoration: none;
}
#mech-output h4 a {
text-decoration: none;
}
#mech-output h5 a {
text-decoration: none;
}
#mech-output h6 a {
text-decoration: none;
}
#mech-output p {
margin-top: 0px;
margin-bottom: 10px;
}
#mech-output .mech-code-block {
padding: 10px;
}
#mech-output td {
padding: 10px;
}
#mech-output .mech-equation {
margin-bottom: 10px;
}
#mech-output th p {
margin-bottom: 0px;
}
.mech-float.right .mech-figure-caption {
text-align: left;
}
@media (max-width: 1650px) {
.mech-program h1 {
width: 700px;
margin-left: 0px;
}
.mech-program h2 {
width: 700px;
margin-left: -10px;
}
.mech-program h3 {
margin-left: 0px;
}
}
@media (max-width: 1150px) {
.mech-toc {
display: none;
}
.mech-content {
margin: auto;
}
#mech-output {
display: none;
}
.mech-figure {
margin: 0px auto;
}
.mech-image {
max-width: 100%;
}
.mech-float .mech-figure-caption {
width: 100%;
}
.mech-figure-label {
color: var(--main-color-mid);
font-size: 1rem;
min-width: 60px;
text-align: right;
}
.mech-float.left {
float: left;
margin-right: 20px;
margin-left: 0px;
}
.mech-float.right {
float: right;
margin-left: 20px;
margin-right: 0px;
}
}
@media (max-width: 900px) {
.mech-content {
max-width: 100%;
min-width: 300px;
margin: 10px;
}
.mech-program {
max-width: 100%;
min-width: 0px;
}
.mech-program h1 {
width: 100%;
margin-left: 0px;
}
.mech-program h2 {
width: 100%;
margin-left: 0px;
}
.mech-program h3 {
margin-left: 0px;
}
.mech-program-section {
padding-left: 0px;
padding-right: 0px;
}
.mech-table {
max-width: 100%;
overflow-x: auto;
}
.mech-statement {
min-width: fit-content;
}
}
.mech-strong {
font-weight: 900;
color: var(--text-color);
}
.mech-diagram {
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.mech-diagram .node rect {
fill: #ef5f90 !important;
stroke: #ef5f90 !important;
}
.mech-diagram .edgePath path {
stroke: #0077cc !important;
stroke-width: 2px !important;
}
.mech-diagram .edgePath marker,
.mech-diagram marker {
fill: #34c510 !important;
}
.mech-diagram .edgeLabel {
background-color: transparent !important;
color: #ebdede !important;
fill: #dc9f9f !important;
font-size: 14px !important;
}
.mech-diagram .edgeLabel p {
background-color: transparent !important;
}
.mech-diagram .edgeLabel rect {
fill: transparent !important;
fill-opacity: 0 !important;
stroke: none !important;
}
.mech-diagram .labelBkg {
text-shadow: 0px 0px 4px #000000 !important;
background-color: transparent !important;
padding: 0 !important;
margin: 0 !important;
}
.mech-diagram .edgePath path {
stroke: #00bfa5 !important;
stroke-width: 2.5px !important;
fill: none !important;
}
.mech-diagram .edgePath marker,
.mech-diagram marker {
fill: #00bfa5 !important;
stroke: #00bfa5 !important;
}
.mech-diagram .flowchart-link {
stroke: #00bfa5 !important;
stroke-width: 2.5px !important;
}
/* Style the nodes (bars) */
.mermaid .node rect {
}
/* Style the links (paths) */
.mermaid .link path {
stroke-opacity: 1 !important;
stroke: #37252e !important; /* Default link stroke color */
}
.mermaid .link {
mix-blend-mode: normal !important;
}
/* Style labels */
.mermaid text {
font-weight: 600;
fill: #ffffff;
opacity: 1 !important;
}
/* Change colors per node by their position or content */
.mermaid .node:nth-child(6) rect { fill: #44d627 !important; stroke: #44d627 !important; } /* Site Visit Qualified */
.mermaid .node:nth-child(7) rect { fill: #d62728 !important; stroke: #d62728 !important; } /* Semifinalists */
.mermaid .link:nth-child(8) path { fill: #44d627 !important; stroke: #44d627 !important; } /* Semifinalists */
.mech-breadcrumb {
display: flex;
align-items: center;
gap: 0.45rem;
font-weight: 700;
font-size: 16px;
line-height: 1;
margin: 2rem 10px 1.25rem;
color: var(--contrast-color-low);
}
/* Links */
.mech-breadcrumb a {
display: inline-flex;
align-items: center;
gap: 0.25rem;
color: var(--contrast-color-mid);
text-decoration: none;
transition: color 120ms ease;
}
.mech-breadcrumb a:hover {
color: var(--contrast-color-low);
}
.mech-breadcrumb-home {
margin-top: 1px;
}
.mech-breadcrumb-home svg {
width: 14px;
height: 14px;
}
/* Separator */
.mech-breadcrumb-sep {
margin: 0 0.25rem;
margin-top: -4px;
color: var(--contrast-color-low);
opacity: 1;
font-weight: 900;
user-select: none;
}
/* Current page */
.mech-breadcrumb-current {
color: var(--contrast-color-high);
}
/* Typography alignment */
.mech-breadcrumb,
.mech-breadcrumb a,
.mech-breadcrumb-current {
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
Inter, sans-serif;
}
.mech-mika-section {
background: hsl(240, 17.24%, 5.69%);
border: 1px dashed hsl(288, 30%, 70%);
border-radius: 10px;
padding-left: 15px;
padding-right: 15px;
}
.mech-mika {
font-family: 'FiraCodeRegular', monospace;
color: #f3bd4e;
float: left;
display: block;
padding-top: 18px;
padding-right: 10px;
}
.mech-function-match-arms {
margin-bottom: 10px;
}
.mech-function-signature .mech-left-paren {
color: var(--function-bracket-color);
}
.mech-function-signature .mech-right-paren {
color: var(--function-bracket-color);
}
.mech-function-arrow {
color: var(--function-arrow-color);
}
.mech-function-match-arms .mech-function-arrow {
margin-right: 10px;
}
/* Indent the arms block */
.mech-function-match-arms {
display: block;
padding-left: 2ch;
}
/* Each arm on its own line */
.mech-function-match-arm {
display: block;
line-height: 1.1;
}
/* Hide the standalone period span — it's a sibling of block divs
so it will always fall to a new line */
.mech-function-period {
display: none;
}
.mech-function-branch {
color: var(--function-arrow-color);
}
/* Inject the period inline at the end of the last arm's content instead */
.mech-function-match-arm:last-of-type::after {
content: ".";
color: var(--function-arrow-color);
}
.mech-function-input {
color: var(--function-signature-color);
}
.mech-pattern {
color: var(--pattern-color);
}
.mech-pattern .mech-left-paren {
color: var(--pattern-paren-color);
}
.mech-pattern .mech-right-paren {
color: var(--pattern-paren-color);
}
.mech-pattern .mech-number {
color: var(--pattern-color);
}
.mech-pattern .mech-var-name {
color: var(--pattern-color);
}