@font-face { font-family: "Lexend"; font-display: swap; font-weight: 400; src: url("https://gleam.run/fonts/Lexend.woff2") format("woff2"); } @font-face { font-family: "Lexend"; font-display: swap; font-weight: 700; src: url("https://gleam.run/fonts/Lexend-700.woff2") format("woff2"); } @font-face { font-family: "Outfit"; font-display: swap; src: url("https://gleam.run/fonts/Outfit.woff") format("woff"); } :root { --font-family-normal: "Outfit", sans-serif; --font-family-title: "Lexend", sans-serif; --navbar-height: calc(calc(2 * var(--gap)) + 20px); --gap: 12px; --color-navbar-background: var(--faff-pink); --color-navbar-text: var(--light-theme-text); --color-navbar-link: var(--light-theme-text); } html.theme-light { --color-background: var(--light-theme-background); --color-background-dim: var(--light-theme-background-dim); --color-text: var(--light-theme-text); --color-link: var(--light-theme-text); --color-link-decoration: var(--faff-pink); --color-code: var(--light-theme-code); --color-divider: var(--faff-pink); color-scheme: light; } html.theme-dark { --color-background: var(--dark-theme-background); --color-background-dim: var(--dark-theme-background-dim); --color-text: var(--dark-theme-text); --color-link: var(--dark-theme-text); --color-link-decoration: var(--faff-pink); --color-code: var(--dark-theme-code); --color-divider: var(--unexpected-aubergine); color-scheme: dark; } * { box-sizing: border-box; } body { margin: 0; padding: 0; height: 100vh; display: flex; flex-direction: column; background-color: var(--color-background); font-family: var(--font-family-normal); letter-spacing: 0.01em; line-height: 1.3; color: var(--color-text); } .codeflask__textarea, pre, code { font-weight: normal; letter-spacing: initial; } p code { padding: 1px 2px; color: var(--color-code); background-color: var(--color-background-dim); } h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-title); font-weight: normal; } .navbar { display: flex; justify-content: space-between; align-items: center; height: var(--navbar-height); padding: var(--gap); background-color: var(--color-navbar-background); color: var(--color-navbar-text); box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.1) } a { color: var(--color-link); text-decoration-color: var(--color-link-decoration); } a code { color: inherit; } .navbar .logo { display: flex; align-items: center; } .navbar .logo img { display: inline-block; height: 2em; transform: rotate(-10deg); margin-right: 0.5em; } .navbar a:visited, .navbar a { text-decoration: none; color: var(--color-navbar-link); } html.theme-dark .theme-button.-dark { display: none; } html.theme-light .theme-button.-light { display: none; } .theme-button { appearance: none; margin: 0; border: 0; padding: 0; background: none; color: inherit; display: flex; gap: 0.25em; font-size: inherit; color: inherit; } .theme-button svg { display: inline-block; fill: currentColor; height: 1em; width: 1em; } #left, #output, #editor { min-height: 200px; overflow-y: auto; border-bottom: 2px solid var(--color-divider); margin: 0; overflow-wrap: break-word; } #left > :first-child { margin-top: 0; } #editor { position: relative; } @media (min-width: 600px) { #playground { position: fixed; top: 44px; bottom: 0; left: 0; right: 0; } #left, #right { width: 50vw; position: absolute; top: 0; bottom: 0; } #left { border-right: 2px solid var(--color-divider); } #right { right: 0; } #right > :first-child { height: 62%; } #right > :last-child { height: 38%; } } #left, #output > *, #editor .codeflask__flatten { padding: var(--gap); } #output > * { margin: 0; white-space: pre-wrap; } .error, .warning { border-width: var(--gap); border-style: solid; border-top: 0; border-bottom: 0; } .error { border-color: var(--brand-error); } .warning { border-color: var(--brand-warning); } .prev-next { display: flex; justify-content: center; align-items: center; padding: 0 var(--gap); gap: 0.5em; } .prev-next span { opacity: 0.5; } .mb-0 { margin-bottom: 0; } /* * CodeFlask editor themes based on the Atom One highlight.js theme used in Gleam package docs sites. */ .codeflask .codeflask__textarea { color: var(--color-background); /* Prevents rendering artifacts in dark mode */ caret-color: var(--color-text); /* Makes the text input cursor visible in dark mode */ } /* CodeFlask light theme */ html.theme-light .codeflask { background: var(--color-background); color: var(--color-text); } html.theme-light .codeflask .token.punctuation { color: #383a42; } html.theme-light .codeflask .token.keyword { color: #a626a4; } html.theme-light .codeflask .token.operator { color: #383a42; } html.theme-light .codeflask .token.string { color: #50a14f; } html.theme-light .codeflask .token.comment { color: #a0a1a7; } html.theme-light .codeflask .token.function { color: #986801; } html.theme-light .codeflask .token.boolean { color: #986801; } html.theme-light .codeflask .token.number { color: #986801; } html.theme-light .codeflask .token.selector { color: #986801; } html.theme-light .codeflask .token.property { color: #986801; } html.theme-light .codeflask .token.tag { color: #383a42; } html.theme-light .codeflask .token.attr-value { color: #383a42; } /* CodeFlask dark theme */ html.theme-dark .codeflask { background: var(--color-background); color: #d19a66; } html.theme-dark .codeflask .token.punctuation { color: #abb2bf } html.theme-dark .codeflask .token.keyword { color: #c678dd; } html.theme-dark .codeflask .token.operator { color: #abb2bf; } html.theme-dark .codeflask .token.string { color: #98c379; } html.theme-dark .codeflask .token.comment { color: #5c6370; } html.theme-dark .codeflask .token.function { color: #61aeee; } html.theme-dark .codeflask .token.boolean { color: #61aeee; } html.theme-dark .codeflask .token.number { color: #d19a66; } html.theme-dark .codeflask .token.selector { color: #d19a66; } html.theme-dark .codeflask .token.property { color: #d19a66; } html.theme-dark .codeflask .token.tag { color: #abb2bf; } html.theme-dark .codeflask .token.attr-value { color: #abb2bf; }