/* --- Generic Terminal Component Styles (New Look) --- */

/* Prevent text selection */
body, .terminal-component { /* Apply to body or specific elements */
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE/Edge */
  user-select: none;         /* Standard */
  /* Prevent tap highlight overlay on mobile */
  -webkit-tap-highlight-color: transparent;
}

/* Ensure inputs are still selectable/editable */
/* You might need to be more specific if other inputs exist */
input, textarea, [contenteditable="true"] {
   -webkit-user-select: text !important;
   -moz-user-select: text !important;
   -ms-user-select: text !important;
   user-select: text !important;
}

/* Specifically allow selection on terminal history if needed */
/*
.terminal-history {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}
*/

.terminal-body .user{color: #06c1e2aa;}
.terminal-component {
  flex-grow: 1;
  width: 100%; 
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.terminal-window {
  width: 100%;
  height: 100%; 
  display: flex;
  flex-direction: column;
  overflow: hidden; 
  border-radius: 5px;
  min-height: 0; 
}
.terminal-header {
  width: 100%;
  height: 25px;
  background-color: #bbb; 
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  display: flex;
  align-items: center;
  padding: 0 8px; 
  box-sizing: border-box;
  flex-shrink: 0;
  position: relative;
}

.terminal-buttons {
  position: absolute;
  top: 50%;
  left: 8px; 
  transform: translateY(-50%);
  display: flex;
}

.terminal-button {
  height: 10px;
  width: 10px;
  border-radius: 50%;
  border: 1px solid #000;
  display: block;
  margin-right: 5px;
}

.terminal-button.red-btn {
  background-color: #ff3b47;
  border-color: #9d252b;
}

.terminal-button.yellow-btn {
  background-color: #ffc100;
  border-color: #9d802c;
}

.terminal-button.green-btn {
  background-color: #00d742;
  border-color: #049931;
  margin-right: 0;
}

.terminal-title {
  flex-grow: 1;
  text-align: center;
  font-family: sans-serif;
  font-size: 0.9rem;
  color: #333; 
  line-height: 25px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 50px; 
}

.terminal-body {
  background-color: rgba(30, 39, 46,0.93);
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: 10px; 
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  flex-grow: 1; 
  overflow-y: auto;
  color: #00d742;
  font-family: monospace;
  font-size: 1.1rem;
  line-height: 1.5;
  /* white-space: pre-wrap;  */
  position: relative; 
  /* cursor: text;  */
}
.p1s1 .terminal-body {
  cursor: text;
}

.terminal-line {
  min-height: 1.5em; 
  color: inherit;
  font-family: inherit;
  font-size: 0.7em; 
  line-height: inherit;
  /* white-space: pre-wrap; */
}

.terminal-history {
  margin-bottom: 5px;
}

.current-input-line {
  display: flex;
  align-items: center;
}

.prompt { flex-shrink: 0; }
.terminal-input {
  background: transparent;
  border: none;
  outline: none;
  flex-grow: 1;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  padding: 0; 
  caret-color: #226c38; 
  /* caret-shape: block; */
}

.terminal-body > * {
  padding: 0;
  margin: 0 0 3px 0;
}
