.mh-term-root {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #060907;
  padding: var(--island-clearance, 56px) 0 64px;
}

.mh-term-native {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  resize: none;
  border: 0;
  outline: 0;
  padding: 10px 14px calc(82px + env(safe-area-inset-bottom, 0px));
  padding-left: max(14px, env(safe-area-inset-left, 0px));
  padding-right: max(14px, env(safe-area-inset-right, 0px));
  background: #060907;
  color: #cdeedd;
  caret-color: #4de3a3;
  font: 13px/1.45 ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;
  white-space: pre;
  overflow: auto;
  tab-size: 8;
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
  touch-action: manipulation;
}

.mh-term-native::selection { background: rgb(77 227 163 / .24); }

.mh-term-boot {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: radial-gradient(120% 90% at 50% 20%, #0d1c16 0%, #060907 65%);
  transition: opacity .3s ease;
  pointer-events: auto;
}

.mh-term-boot[data-hide="true"] { opacity: 0; pointer-events: none; }
.mh-term-boot-glyph { width: 56px; height: 56px; color: #4de3a3; animation: mh-term-pulse 1.6s ease-in-out infinite; }
[data-reduced-motion="true"] .mh-term-boot-glyph { animation: none; }
@keyframes mh-term-pulse { 0%, 100% { opacity: .55; transform: scale(.96); } 50% { opacity: 1; transform: scale(1); } }
.mh-term-boot-label { font-family: ui-monospace, "SF Mono", monospace; font-size: 13px; color: #cdeedd; letter-spacing: .02em; min-height: 1.4em; text-align: center; }
.mh-term-boot-bar { width: min(220px, 60vw); height: 3px; border-radius: 999px; background: color-mix(in srgb, #cdeedd 14%, transparent); overflow: hidden; }
.mh-term-boot-fill { height: 100%; width: 0%; background: linear-gradient(90deg, #4de3a3, #ffcd7a); transition: width .25s ease; }
.mh-term-boot-note { font-size: 11px; color: #6c8a7b; max-width: 260px; text-align: center; }
