:root { --mono: "0xProto", monospace; --amber: #edb200; --amber-txt: #ffc828; --scrollin-time: 0.1s; } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; } body { --lineCount: 1; --theme-color: var(--amber); background-color: #111; font-family: var(--mono); color: var(--amber); font-size: 1.25em; } body::before { content: ' '; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.3) 51%); background-size: 100% 4px; pointer-events: none; } #head { margin: 8vh auto 0.5vh auto; width: 70vw; font-size: 3rem; text-shadow: 0 0 1.75rem var(--theme-color); } #head div { font-size: 0.75rem; } #terminal { height: 60vh; width: 70vw; margin: 0 auto; background-color: rgba(255, 255, 255, 0.025); border: 1px dotted var(--theme-color); border-radius: 5px; overflow: hidden; padding: 0.5em 1ch; display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: flex-end; } #terminal div { padding: 0 1ch; transition: margin 0.2s; min-height: 1em; white-space: pre-wrap; /* transform: translateY(calc(var(--lineCount) * -1em)); */ animation-name: scrollIn; animation-duration: var(--scrollin-time); } @keyframes scrollIn { from { margin-bottom: -100%; } to { margin-bottom: 0; } } #input-container { height: 1.5em; width: 70vw; margin: 0 auto; background-color: rgba(255, 255, 255, 0.025); } #input-container span { font-weight: bold; margin: 0 0.5ch; } #user-input { background: transparent; border: 0; font-family: var(--mono); font-size: 1.5rem; color: var(--amber); } #user-input:focus-visible { outline: 0; }