body.term { #content { padding-left: 0; padding-right: 0; h1 { font-size: fsize(5); @include media($phone) { font-size: fsize(3); } } // longer duration to load everything in background nicely transition: opacity 0.25s ease-in; } } #screen { white-space: nowrap; background: #111213; display: inline-block; border: 2px solid #3983CD; position: relative; line-height: 0; cursor: default; canvas { background-repeat: no-repeat; background-position: center center; background-size: contain; } canvas.selectable { cursor: text; } .screen-margin { position: absolute; // #111213 as rgb background: rgba(17, 18, 19, 0.2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); pointer-events: none; &.top { top: 0; left: 0; right: 0; height: 6px; } &.left, &.right { top: 6px; left: 0; bottom: 0; width: 6px; } &.right { left: auto; right: 0; } &.bottom { left: 6px; right: 6px; bottom: 0; height: 6px; } } @include noselect(); // Dummy input field used to open soft keyboard #softkb-input { position: absolute; // compensate for padding top: 6px; left: 6px; width: 1em; height: 1em; background: none; border: none; resize: none; overflow: hidden; opacity: 0; outline: 0 none !important; caret-color: transparent; color: transparent; @include click-through; // iOS Safari still shows a caret regardless of the above, so set the font // size as small as it can be (will show up as a blinking blue pixel) font-size: 1px; } #touch-select-menu { display: none; position: absolute; // compensate for padding top: 6px; left: 6px; &.open { display: block; } } .debug-canvas { position: absolute; top: 6px; left: 6px; pointer-events: none; } .debug-toolbar { line-height: 1.5; text-align: left; padding: 6px; font-family: $screen-stack; font-size: 12px; white-space: normal; .heartbeat { float: right; font-family: $font-stack; color: crimson; font-size: 120%; padding-right: 5px; &.beat { animation-name: heartbeat-beat; animation-duration: 3s; animation-fill-mode: forwards; @keyframes heartbeat-beat { 0% { transform: scale(1); animation-timing-function: ease-out; } 5% { transform: scale(1.2); animation-timing-function: linear; } 100% { transform: scale(0); opacity: 0; } } } } } } #action-buttons { margin-top: 10px; white-space: nowrap; button { margin: 0 3px; padding: 8px 5px; min-width: 62px; cursor: pointer; font-weight: bold; &:focus { outline: 0 none !important; } &.inactive { opacity: 0.2; } } } #load-failed { color: red; font-size: 18px; font-weight: bold; margin: 20px 15px; } #screen.failed { canvas, .screen-margin { display: none; } } #term-nav { padding-top: 1.5em; text-align: center; a { text-decoration: none; padding: 5px 5px; border-radius: 2px; position: relative; &, &:visited, &:link { color: #336085; } &:hover { color: #5abfff; background: #1b273c; } &:active { top: 1px; } i::before { display: inline; } span { margin-left: .2em; } @include media($phone) { span { display: none; } font-size: 130%; padding: 6px; } } .icn-keyboard { text-decoration: none; font-size: 130%; // make it bigger - icon is too small to be recognizable vertical-align: middle; } } #term-wrap { text-align: center; } #fu_modal { align-items: flex-start; } #fu_form { padding: dist(0); margin-top: 100px; // offset z-index: 1000; label { width: 12em; display: inline-block; } input[type="number"], select { width: 10em; } textarea { width: 100%; min-height: 8em; margin-top: dist(-1); resize: vertical; } .fu-buttons { text-align: center; padding: dist(-2); margin-top: dist(-2); border-radius: 3px; } .fu-prog-box { display: none; } &.busy { background: rgba($c-modal-bg, .3); border-left-color: rgba($c-form-highlight, .3); border-right-color: rgba($c-form-highlight, .3); .fu-content { @include click-through; opacity: .3; } .fu-buttons { text-align: left; background: $c-modal-bg; border: 1px solid $c-form-highlight; } .fu-prog-box { display: inline-block; } } } // shortcut bar on iOS #keyboard-shortcut-bar { border-radius: 4px; width: calc(100vw - 20px); background: #d1d5db; padding: 5px 10px; overflow-x: auto; margin: 6px; &:not(.open) { display: none; } .shortcut-button { background: #fff; color: #000; padding: 10px 20px; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3); text-shadow: none; border-radius: 4px; margin: 0 10px 0 0; font-family: -apple-system, sans-serif; min-width: 2em; &.modifier:not(.enabled) { background: #9ea6b1; color: #000; } } } body.pseudo-fullscreen { #screen .screen-margin, #keyboard-shortcut-bar { display: none; } #outer { position: static; } #screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; border: none; } #screen canvas { position: fixed; top: 0; left: 0; z-index: 99; } #term-nav { position: fixed; width: 100%; bottom: 0; z-index: 98; height: 24px; padding: 0; } } // Attributes .bold { font-weight: bold !important; } .faint span { // content of faint is wrapped in span opacity: 0.6; } .italic { font-style: italic; } .under { text-decoration: underline; } .strike { text-decoration: line-through; } .underline.strike { text-decoration: underline line-through; } .blink-hide .blink { color: transparent; } // .color-example { font-family: monospace; font-size: 14pt; padding: 4px 6px; } .preset { cursor: pointer; font-family: monospace; font-size: 14pt; } .Row.color-preview { label { align-self: center; } @include media($phone) { font-size: 12pt; align-items: flex-start; label { align-self: flex-start; } } .colorprev { font-family: monospace; font-size: 14pt; display:block; margin: 0; cursor: pointer; } } #color-example { display: inline-block; padding: 5px; } .theme-nav-btn { width: 2em; height: 2em; display: flex; align-items: center; justify-content: space-around; background: #4c4c4c; color: #eaeaea; margin: 5px; border-radius: 5px; @include noselect(); cursor: pointer; position: relative; &:active { top: 1px; } }