@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,400;0,700;1,400&display=swap'); body { color: #eee; background-color: #111; font-family: 'Lato', sans-serif; user-select: none; margin: 0; padding: 0; } div#main { background-color: #1a1a1a; height: 100vh; width: min(80vh, 100vw); margin: 0 auto; display: grid; grid-template-columns: 1fr; grid-template-rows: min-content min-content 2fr 3fr; grid-template-areas: "settings-bar" "info" "visits" "controls"; } div#controls { grid-area: controls; font-size: clamp(1.5vh, 2vw, 2vh); margin: 2px 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: minmax(5em, auto); grid-auto-rows: 1fr; gap: 2px; } div#controls .keypad { display: contents; } div#controls #keypad-select_mode .key { grid-column: 1 / -1; padding-left: 0.4rem; justify-content: left; } div#oi { visibility: hidden; background-color: #640016; font-size: 3em; height: 1.2em; width: 3ch; outline: #1a1a1a solid 2px; position: absolute; left: 50%; right: 50%; top: 50%; bottom: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; } div#info { position: relative; grid-column: 1 / span 3; font-size: clamp(1.5vh, 2vw, 2vh); margin-bottom: 2px; display: grid; grid-template-columns: repeat(2, 1fr); } div#p1-info, div#p2-info { background-color: #222; font-size: 1.5em; padding: 0.4rem; flex-direction: column; display: flex; align-items: center; } div#p1-info { margin-right: 1px; } div#p2-info { margin-left: 1px; } div#p1-info.active, div#p2-info.active { background-color: #304010; } div#p1-rem, div#p2-rem { font-size: 3em; font-weight: bold; } div#p1-name, div#p2-name { color: #ccc; } div#p1-sugg, div#p2-sugg { color: #aaa; font-size: 0.8em; } div#p1-name:after, div#p2-name:after, div#p1-rem:after, div#p2-rem:after, div#p1-sugg:after, div#p2-sugg:after { content: '\200b'; } div#p1-avg, div#p2-avg { font-size: 0.8em; align-self: left; width: 100%; } div#p1-avg:before, div#p2-avg:before { content: 'avg: '; } div#prompt { grid-column: 1 / span 3; background-color: #222; display: flex; align-items: center; justify-content: center; } div#prompt.active { background-color: #311d52; } div#prompt-msg-l, div#prompt-input, div#prompt-msg-r { font-size: 1.5em; white-space: pre-line; display: grid; align-items: center; } div#prompt-msg-l, div#prompt-msg-r { flex: 1; color: #ccc; padding: 0 0.4rem; } div#prompt-msg-r { text-align: right; } div#prompt-input { text-align: center; font-size: 3em; width: 4ch; } div.key { color: #ccc; background-color: #282828; font-size: 1.5em; display: flex; align-items: center; justify-content: center; } @media (hover: hover) and (pointer: fine) { div.key:hover { background-color: #304010; } } div.key:active { color: #fff; background-color: #384810; } div.key.active { color: #eee; background-color: #3d2466; } @media (hover: hover) and (pointer: fine) { div.key.active:hover { background-color: #5c3699; } } div.key.active:active { color: #fff; background-color: #6e41b8; } div.key span.keyboard-val { display: contents; color: #aaa; } div.key.num { font-size: 2.5em; font-weight: 700; } div.key.ok { grid-row-end: span 2; font-size: 2.5em; } div#settings-bar { grid-area: settings-bar; font-size: clamp(1.5vh, 2vw, 2vh); padding: 0.4rem; display: flex; align-items: center; justify-content: left; gap: 0.4rem; } div#settings-bar div { font-size: 1.5em; } div#settings-bar div.input.first { margin-left: auto; } div#settings-bar div.input { background-color: #222; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; } div#settings-bar span { padding: 0 0.4rem; } div#settings-bar input { color: #eee; background-color: #3d2466; font-family: inherit; font-size: 1em; text-align: right; width: 4ch; padding: 0 0.4rem; border: 0; } div#settings-bar div.help-button { background-color: #3d2466; font-weight: 700; padding: 0 0.4em; } @media (hover: hover) and (pointer: fine) { div#settings-bar input:hover { background-color: #5c3699; } div#settings-bar div.help-button:hover { background-color: #5c3699; } } div#settings-bar input:focus { color: #fff; background-color: #6e41b8; outline: #7eab1e solid 2px; } div#settings-bar div.help-button:active { color: #fff; background-color: #6e41b8; } div#visits { grid-area: visits; font-size: clamp(1.5vh, 2vw, 2vh); overflow: auto; scrollbar-gutter: stable both-edges; padding: 0.4rem; display: grid; grid-template-columns: 1.5ch repeat(5, 2fr) 1.5ch; grid-auto-rows: min-content; grid-row-gap: 0.3em; } div#visits div { font-size: 2em; min-width: 0; display: flex; align-items: center; justify-content: center; } div#visits .visit-col1 { grid-column: 2; } div#visits .visit-col3 { color: #666; grid-column: 4; } div#visits .p0 { color: #e00018; } div#visits .p20 { color: #e06000; } div#visits .p40 { color: #e09800; } div#visits .p60 { color: #e0e018; } div#visits .p100 { color: #78c018; } div#visits .p140 { color: #20e018; } div#visits .p180 { color: #20e018; font-weight: bold; } div#visits .visit-col6 { color: #666; justify-content: left; font-family: monospace; white-space: pre; } .modal { background-color: #000a; width: 100%; height: 100%; display: none; position: fixed; top: 0; left: 0; z-index: 1; } .modal-content { background-color: #222; font-size: 1.4em; font-family: 'Source Serif Pro', serif; user-select: text; width: calc(min(40em, 90vw) - 4em); max-height: calc(calc(100vh - 10vw) - 4em); margin: 5vw auto; padding: 2em; outline: #7eab1e solid 2px; overflow: auto; } @media (max-width: 400px) { .modal-content { font-size: 1em; } } .modal-content p { margin: 0; } .modal-content p + p { margin-top: 1em; } a { color: #7eab1e; } a:hover { color: #a8e428; } @media (max-aspect-ratio: 9/20) { div#settings-bar div.input { display: flex; flex-direction: column; } div#settings-bar span { padding: 0 0.4rem; } div#settings-bar .help-button { font-size: 3em; } }