:root {color-scheme: dark; font-family: system-ui, sans-serif; background: #000000; color: #d7dce2;}
* {box-sizing: border-box;}
[hidden] {display: none !important;}
body {margin: 0; height: 100dvh; display: flex; flex-direction: column; overflow: hidden;}
header {display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 8px 12px; font-size: 13px; flex: 0 0 auto;}
header strong {color: #a6dcc7;}
#status {flex: 1;}
button {background: #252c35; color: inherit; border: 1px solid #46515f; border-radius: 5px; padding: 5px 10px; cursor: pointer;}
#appearance {display: flex; flex-wrap: wrap; gap: 6px; align-items: center;}
#appearance label {margin: 0;}
#font-family {max-width: 180px; background: #252c35; color: inherit; border: 1px solid #46515f; border-radius: 5px; padding: 5px;}
#zoom-reset {min-width: 62px; font-variant-numeric: tabular-nums;}
#zoom-in, #zoom-out {min-width: 32px; font-size: 16px; line-height: 18px;}
#font-status {flex-basis: 100%; color: #d5c99a; font-size: 12px;}
button:disabled {opacity: .5; cursor: default;}
@media (max-width: 600px) {header {gap: 8px;} #status {min-width: 180px;} #appearance {order: 2; flex-basis: 100%;} #font-status {order: 3;}}
#terminal {flex: 1; min-height: 0; overflow: hidden; padding: 4px; background: #000000;}
.xterm {height: 100%;}
.xterm-viewport {overflow: hidden !important;}
/* Paint all cell backgrounds below the row's glyphs. Otherwise the next
   span's opaque background cuts off wide Nerd Font artwork (e.g. U+E0C8).
   Keep xterm's cell positions, colors, selection and cursor backgrounds. */
.xterm-rows > div {isolation: isolate;}
.xterm-rows > div > span {position: relative; background-clip: text;}
.xterm-rows > div > span::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: inherit; background-clip: border-box; pointer-events: none;
}
#access {flex: 1; display: grid; place-items: center; padding: 20px; overflow: auto;}
#pairing {width: min(100%, 380px); padding: 28px; border: 1px solid #46515f; border-radius: 12px; background: #181e26;}
h1 {margin: 0 0 24px; font-size: 23px;}
label {display: block; margin-bottom: 10px;}
#code {width: 100%; font: 32px monospace; letter-spacing: .22em; padding: 12px; background: #000000; color: #fff; border: 1px solid #647386; border-radius: 6px;}
#code:focus {outline: 2px solid #a6dcc7; outline-offset: 2px;}
#pairing-hint {color: #aab5c2; font-size: 14px; line-height: 1.5;}
#connect {width: 100%; padding: 12px; background: #a6dcc7; color: #101318; font-weight: 600;}
#connect:disabled {opacity: .6; cursor: wait;}
#pairing-error {color: #ffb4b4; font-size: 14px; margin-bottom: 0;}
