html { --ff-mono: 'IBM Plex Mono', monospace; --ff-sans: 'IBM Plex Sans', sans-serif; --ff-tabloid: 'Alfa Slab One', sans-serif; font-size: 18px; } /* blocks.css bug shim */ .fixed.inline.block { pointer-events: none; line-height: 1.5em; } /* resets */ html, body { --block-accent-color: #e02345; margin: 0; background: #f8f5f5; } main { width: calc(100% - 1.5em); max-width: 840px; margin: 1em auto; font-family: var(--ff-sans); } h1, h2, h3 { font-family: var(--ff-tabloid); font-weight: normal; color: var(--block-accent-color); margin: .5rem 0; } p { margin-top: .5em; margin-bottom: 1em; } button { font-size: 1em; } code, input, textarea { font-family: var(--ff-mono); } /* layout */ header, footer { text-align: center; display: flex; flex-direction: column; align-items: center; margin-bottom: 3em; } nav { margin: .8em 0; width: 96%; max-width: 400px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; } nav a { color: var(--block-accent-color); } header .subtitle { font-size: 1.2em; line-height: 1.5em; } header .lang.block { --block-background-color: #000; font-size: 1.4em; font-family: var(--ff-tabloid); font-weight: normal; color: #fff; display: inline-block; /* for transforms */ transform: rotate(-10deg) translateY(6px); pointer-events: none; } .editor { display: flex; flex-direction: column; position: relative; margin-bottom: 3em; } .editor .code, .editor .output, .editor .errors { width: 100%; padding: .8em 1em; border-bottom: 3px solid var(--block-text-color); box-sizing: border-box; } .editor > :last-child { border-bottom: 0; } .editor.block { padding: 0; padding-top: 24px; } .editor .controls { position: absolute; top: -24px; right: 0; width: 100%; box-sizing: border-box; padding: 0 1em; display: flex; flex-direction: row; align-items: center; justify-content: flex-end; } .editor .code { padding: 0; position: relative; } .editor .output { min-height: 5em; display: flex; flex-direction: column; align-items: flex-start; line-height: 1.5em; } .editor .output .output-line { width: 100%; } .editor .errors { color: var(--block-accent-color); } .filler, textarea.editor-input { font-family: var(--ff-mono); font-size: 1em; line-height: 1.3em; margin: 0; padding: .5em 1em; border: 0; width: 100%; box-sizing: border-box; overflow-y: auto; resize: none; white-space: pre-wrap; } textarea.editor-input { position: absolute; background: var(--block-background-color); top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; } textarea.editor-input:focus { outline: none; } .filler p { margin: 0; padding: 0; word-wrap: break-word; } .output .no-output { color: #777; } main > h2 { margin-top: 1.5em; } main > p, main > ul li, footer { line-height: 1.5em; } main > ul { padding-left: 0; } main > ul li { list-style: none; margin-bottom: .5em; } main > p a { color: var(--block-accent-color); } footer { margin-top: 2em; } footer a { color: var(--block-accent-color); } @media only screen and (max-width: 600px) { header .subtitle { line-height: 1.7em; } header .lang.block { transform: rotate(-5deg) translateY(4px); } .filler, textarea.editor-input { font-size: .8em; } .desktop { display: none; } }