/* On-screen keyboard (keyboard.js): docked along the bottom of the screen, above dialogs. */
.osk { position:fixed; inset:auto 0 0 0; margin:0; width:100%; max-width:none; box-sizing:border-box; z-index:2000;
  padding:10px 14px 12px; border:0; border-top:1px solid var(--line); background:var(--surface); color:var(--text);
  display:flex; flex-direction:column; gap:7px; box-shadow:0 -12px 32px rgba(0,0,0,.45); }
.osk[hidden], .osk[popover]:not(:popover-open) { display:none; }
.osk-row { display:flex; gap:7px; justify-content:center; }
.osk button { flex:0 1 112px; min-width:0; min-height:56px; padding:0; border:1px solid var(--line); border-radius:10px;
  background:var(--raised); color:var(--text); font:600 24px/1 inherit; touch-action:manipulation; user-select:none; }
.osk button:active { background:var(--accent); color:#06120d; }
.osk button[data-wide="shift"] { flex-basis:150px; font-size:20px; }
.osk button[data-wide="mode"] { flex-basis:150px; font-size:20px; }
.osk button[data-wide="space"] { flex-basis:560px; font-size:18px; color:var(--muted); }
.osk button[data-wide="done"] { flex-basis:150px; font-size:20px; background:var(--accent); color:#06120d; border-color:transparent; }

/* Controls > Wi-Fi > Internet: the network list and the password big enough to hit with a mouse. */
#panel-wifi .setting-card label { display:flex; flex-direction:column; gap:3px; }
#panel-wifi .setting-card select, #panel-wifi .setting-card input { width:100%; box-sizing:border-box; min-height:34px; font-size:18px; padding:2px 10px; }
