@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400&family=DM+Mono&display=swap'); :root { /* --bg: 16, 16, 16; --fg: 240, 240, 240; --key: 32, 32, 32; --txt: 255, 255, 255; --field: 255, 255, 255; */ } * { /* all: unset; */ outline: none; /* box-sizing: border-box; */ font-family: 'Atkinson Hyperlegible', sans-serif; text-rendering: optimizeLegibility; } /* *::selection { background-color: rgba(255, 255, 255, 0.333); } */ /* *::marker { color: rgb(var(--txt)); } */ html { /* font-family: sans-serif; */ font-family: 'Atkinson Hyperlegible', sans-serif; font-size: 16px; background-color: rgb(var(--field)); margin: 0; box-sizing: border-box; height: 100%; height: 100dvh; } body { display: flex; flex-direction: column; /* start from bottom */ justify-content: flex-end; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgb(var(--field)); max-width: 800px; margin: 0 auto; overflow: hidden; touch-action: none; height: 100dvh; } /* hide scrollbar */ *::-webkit-scrollbar { display: none; } a { text-decoration: underline; } input, textarea, button, select, div, a { -webkit-tap-highlight-color: rgba(0,0,0,0); } #nav { background-color: rgb(var(--field)); color: rgb(var(--txt)); overflow-y: auto; max-height: -webkit-fill-available; /* margin-top: 120px; */ position: fixed; top: 0; left: 0; right: 0; bottom: 0; /* opacity: 0.999; weird fix... */ padding-bottom: 500px; } .option { padding: 12px; cursor: pointer; user-select: none; background-color: rgb(var(--bg)); border-top: 0.5px solid #80808042; } .option:nth-child(2n) { background-color: rgb(var(--field)); } .option.pick { font-weight: bold; } .option.selected { text-decoration: underline; } .option.disabled { color: rgba(var(--txt), 0.333); cursor: default; } .back { display: flex; justify-content: space-between; align-items: baseline; } textarea { font-size: 16px; line-height: 1.5; padding: 1.5rem 1rem; width: 100%; border: 0; border-radius: 0; margin: 0; box-sizing: border-box; outline: none; resize: none; overflow: auto; -webkit-overflow-scrolling: touch; background-color: rgb(var(--field)); color: rgb(var(--txt)); } #keyboard { display: block; margin-bottom: 0px; background-color: rgb(var(--bg)); z-index: 100; user-select: none; border-top: 0.5px solid rgba(128, 128, 128, 0.333); box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.1); /* position: fixed; bottom: 0; left: 0; right: 0; */ } /* transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); */ .row { display: flex; justify-content: center; flex-direction: row; gap: var(--gap); margin: 9px 3px; } .key { font-family: sans-serif; font-size: var(--txt-size); line-height: var(--key-height); display: inline-block; flex: 1; max-width: 64px; height: var(--key-height); text-align: center; border-top: 0.5px solid rgba(255, 255, 255, 0); margin-bottom: -0.5px; border-radius: var(--key-radius); background-color: rgba(var(--key)); color: rgb(var(--txt)); box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.333); /* box-shadow: 0 0 0.5rem 0rem rgba(255, 255, 255, 0.0) inset; */ transition: 0.1s; transition-timing-function: cubic-bezier(.51,.12,0,-0.27); } .key:active { transition: 0.0s; /* transition-timing-function: cubic-bezier(0.1, 1, 0.77, 0.62); */ border-color: rgba(255, 255, 255, 0.333); box-shadow: 0 7px 4px 0 rgba(0, 0, 0, 0.333); transform: translateY(-6px); /* box-shadow: 0 0px 6px 0 rgba(0, 0, 0, 0.333) inset; transform: translateY(2.0px); */ /* flex: 1.2; */ } .active { background-color: red; } .icon-btn { display: block; width: 24px; height: 24px; margin: 12px; cursor: pointer; } /* #copybtn:active { transition: 0.1s; box-shadow: 0 0 0.5rem 0rem rgba(0, 0, 0, 0.333) inset; } */