/* ── Terminal Frame ────────────────────────────────── */

.terminal-frame {
  background: #000;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.terminal-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: #111;
  border-bottom: 1px solid #1a1a1a;
}

.terminal-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.dot-red { background: #ff5f56; }
.dot-yellow { background: #ffbd2e; }
.dot-green { background: #27c93f; }

.terminal-title {
  font-size: 0.65rem;
  color: #444;
  margin-left: 8px;
  letter-spacing: 0.5px;
}

.terminal-body {
  padding: 14px 18px;
  min-height: 60px;
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.6;
}

.statusline-preview {
  white-space: pre-wrap;
  word-break: break-all;
}

.statusline-preview .sl-line {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  min-height: 1.6em;
}

.statusline-preview .sl-line + .sl-line {
  margin-top: 2px;
}

/* ── ANSI 256-Color Classes ───────────────────────── */

.c-bold { font-weight: 700; }
.c-dim { opacity: 0.4; }
.c-reset { color: inherit; font-weight: inherit; }

/* Basic 16 colors */
.c-0 { color: #000000; }
.c-1 { color: #aa0000; }
.c-2 { color: #00aa00; }
.c-3 { color: #aa5500; }
.c-4 { color: #0000aa; }
.c-5 { color: #aa00aa; }
.c-6 { color: #00aaaa; }
.c-7 { color: #aaaaaa; }
.c-8 { color: #555555; }
.c-9 { color: #ff5555; }
.c-10 { color: #55ff55; }
.c-11 { color: #ffff55; }
.c-12 { color: #5555ff; }
.c-13 { color: #ff55ff; }
.c-14 { color: #55ffff; }
.c-15 { color: #ffffff; }

/* 256-color cube — generated programmatically.
   Colors 16-231: 6x6x6 color cube
   Colors 232-255: grayscale ramp */
.c-16 { color: #000000; }
.c-17 { color: #00005f; }
.c-18 { color: #000087; }
.c-19 { color: #0000af; }
.c-20 { color: #0000d7; }
.c-21 { color: #0000ff; }
.c-22 { color: #005f00; }
.c-23 { color: #005f5f; }
.c-24 { color: #005f87; }
.c-25 { color: #005faf; }
.c-26 { color: #005fd7; }
.c-27 { color: #005fff; }
.c-28 { color: #008700; }
.c-29 { color: #00875f; }
.c-30 { color: #008787; }
.c-31 { color: #0087af; }
.c-32 { color: #0087d7; }
.c-33 { color: #0087ff; }
.c-34 { color: #00af00; }
.c-35 { color: #00af5f; }
.c-36 { color: #00af87; }
.c-37 { color: #00afaf; }
.c-38 { color: #00afd7; }
.c-39 { color: #00afff; }
.c-40 { color: #00d700; }
.c-41 { color: #00d75f; }
.c-42 { color: #00d787; }
.c-43 { color: #00d7af; }
.c-44 { color: #00d7d7; }
.c-45 { color: #00d7ff; }
.c-46 { color: #00ff00; }
.c-47 { color: #00ff5f; }
.c-48 { color: #00ff87; }
.c-49 { color: #00ffaf; }
.c-50 { color: #00ffd7; }
.c-51 { color: #00ffff; }
.c-52 { color: #5f0000; }
.c-53 { color: #5f005f; }
.c-54 { color: #5f0087; }
.c-55 { color: #5f00af; }
.c-56 { color: #5f00d7; }
.c-57 { color: #5f00ff; }
.c-58 { color: #5f5f00; }
.c-59 { color: #5f5f5f; }
.c-60 { color: #5f5f87; }
.c-61 { color: #5f5faf; }
.c-62 { color: #5f5fd7; }
.c-63 { color: #5f5fff; }
.c-64 { color: #5f8700; }
.c-65 { color: #5f875f; }
.c-66 { color: #5f8787; }
.c-67 { color: #5f87af; }
.c-68 { color: #5f87d7; }
.c-69 { color: #5f87ff; }
.c-70 { color: #5faf00; }
.c-71 { color: #5faf5f; }
.c-72 { color: #5faf87; }
.c-73 { color: #5fafaf; }
.c-74 { color: #5fafd7; }
.c-75 { color: #5fafff; }
.c-76 { color: #5fd700; }
.c-77 { color: #5fd75f; }
.c-78 { color: #5fd787; }
.c-79 { color: #5fd7af; }
.c-80 { color: #5fd7d7; }
.c-81 { color: #5fd7ff; }
.c-82 { color: #5fff00; }
.c-83 { color: #5fff5f; }
.c-84 { color: #5fff87; }
.c-85 { color: #5fffaf; }
.c-86 { color: #5fffd7; }
.c-87 { color: #5fffff; }
.c-88 { color: #870000; }
.c-89 { color: #87005f; }
.c-90 { color: #870087; }
.c-91 { color: #8700af; }
.c-92 { color: #8700d7; }
.c-93 { color: #8700ff; }
.c-94 { color: #875f00; }
.c-95 { color: #875f5f; }
.c-96 { color: #875f87; }
.c-97 { color: #875faf; }
.c-98 { color: #875fd7; }
.c-99 { color: #875fff; }
.c-100 { color: #878700; }
.c-101 { color: #87875f; }
.c-102 { color: #878787; }
.c-103 { color: #8787af; }
.c-104 { color: #8787d7; }
.c-105 { color: #8787ff; }
.c-106 { color: #87af00; }
.c-107 { color: #87af5f; }
.c-108 { color: #87af87; }
.c-109 { color: #87afaf; }
.c-110 { color: #87afd7; }
.c-111 { color: #87afff; }
.c-112 { color: #87d700; }
.c-113 { color: #87d75f; }
.c-114 { color: #87d787; }
.c-115 { color: #87d7af; }
.c-116 { color: #87d7d7; }
.c-117 { color: #87d7ff; }
.c-118 { color: #87ff00; }
.c-119 { color: #87ff5f; }
.c-120 { color: #87ff87; }
.c-121 { color: #87ffaf; }
.c-122 { color: #87ffd7; }
.c-123 { color: #87ffff; }
.c-124 { color: #af0000; }
.c-125 { color: #af005f; }
.c-126 { color: #af0087; }
.c-127 { color: #af00af; }
.c-128 { color: #af00d7; }
.c-129 { color: #af00ff; }
.c-130 { color: #af5f00; }
.c-131 { color: #af5f5f; }
.c-132 { color: #af5f87; }
.c-133 { color: #af5faf; }
.c-134 { color: #af5fd7; }
.c-135 { color: #af5fff; }
.c-136 { color: #af8700; }
.c-137 { color: #af875f; }
.c-138 { color: #af8787; }
.c-139 { color: #af87af; }
.c-140 { color: #af87d7; }
.c-141 { color: #af87ff; }
.c-142 { color: #afaf00; }
.c-143 { color: #afaf5f; }
.c-144 { color: #afaf87; }
.c-145 { color: #afafaf; }
.c-146 { color: #afafd7; }
.c-147 { color: #afafff; }
.c-148 { color: #afd700; }
.c-149 { color: #afd75f; }
.c-150 { color: #afd787; }
.c-151 { color: #afd7af; }
.c-152 { color: #afd7d7; }
.c-153 { color: #afd7ff; }
.c-154 { color: #afff00; }
.c-155 { color: #afff5f; }
.c-156 { color: #afff87; }
.c-157 { color: #afffaf; }
.c-158 { color: #afffd7; }
.c-159 { color: #afffff; }
.c-160 { color: #d70000; }
.c-161 { color: #d7005f; }
.c-162 { color: #d70087; }
.c-163 { color: #d700af; }
.c-164 { color: #d700d7; }
.c-165 { color: #d700ff; }
.c-166 { color: #d75f00; }
.c-167 { color: #d75f5f; }
.c-168 { color: #d75f87; }
.c-169 { color: #d75faf; }
.c-170 { color: #d75fd7; }
.c-171 { color: #d75fff; }
.c-172 { color: #d78700; }
.c-173 { color: #d7875f; }
.c-174 { color: #d78787; }
.c-175 { color: #d787af; }
.c-176 { color: #d787d7; }
.c-177 { color: #d787ff; }
.c-178 { color: #d7af00; }
.c-179 { color: #d7af5f; }
.c-180 { color: #d7af87; }
.c-181 { color: #d7afaf; }
.c-182 { color: #d7afd7; }
.c-183 { color: #d7afff; }
.c-184 { color: #d7d700; }
.c-185 { color: #d7d75f; }
.c-186 { color: #d7d787; }
.c-187 { color: #d7d7af; }
.c-188 { color: #d7d7d7; }
.c-189 { color: #d7d7ff; }
.c-190 { color: #d7ff00; }
.c-191 { color: #d7ff5f; }
.c-192 { color: #d7ff87; }
.c-193 { color: #d7ffaf; }
.c-194 { color: #d7ffd7; }
.c-195 { color: #d7ffff; }
.c-196 { color: #ff0000; }
.c-197 { color: #ff005f; }
.c-198 { color: #ff0087; }
.c-199 { color: #ff00af; }
.c-200 { color: #ff00d7; }
.c-201 { color: #ff00ff; }
.c-202 { color: #ff5f00; }
.c-203 { color: #ff5f5f; }
.c-204 { color: #ff5f87; }
.c-205 { color: #ff5faf; }
.c-206 { color: #ff5fd7; }
.c-207 { color: #ff5fff; }
.c-208 { color: #ff8700; }
.c-209 { color: #ff875f; }
.c-210 { color: #ff8787; }
.c-211 { color: #ff87af; }
.c-212 { color: #ff87d7; }
.c-213 { color: #ff87ff; }
.c-214 { color: #ffaf00; }
.c-215 { color: #ffaf5f; }
.c-216 { color: #ffaf87; }
.c-217 { color: #ffafaf; }
.c-218 { color: #ffafd7; }
.c-219 { color: #ffafff; }
.c-220 { color: #ffd700; }
.c-221 { color: #ffd75f; }
.c-222 { color: #ffd787; }
.c-223 { color: #ffd7af; }
.c-224 { color: #ffd7d7; }
.c-225 { color: #ffd7ff; }
.c-226 { color: #ffff00; }
.c-227 { color: #ffff5f; }
.c-228 { color: #ffff87; }
.c-229 { color: #ffffaf; }
.c-230 { color: #ffffd7; }
.c-231 { color: #ffffff; }

/* Grayscale ramp 232-255 */
.c-232 { color: #080808; }
.c-233 { color: #121212; }
.c-234 { color: #1c1c1c; }
.c-235 { color: #262626; }
.c-236 { color: #303030; }
.c-237 { color: #3a3a3a; }
.c-238 { color: #444444; }
.c-239 { color: #4e4e4e; }
.c-240 { color: #585858; }
.c-241 { color: #626262; }
.c-242 { color: #6c6c6c; }
.c-243 { color: #767676; }
.c-244 { color: #808080; }
.c-245 { color: #8a8a8a; }
.c-246 { color: #949494; }
.c-247 { color: #9e9e9e; }
.c-248 { color: #a8a8a8; }
.c-249 { color: #b2b2b2; }
.c-250 { color: #bcbcbc; }
.c-251 { color: #c6c6c6; }
.c-252 { color: #d0d0d0; }
.c-253 { color: #dadada; }
.c-254 { color: #e4e4e4; }
.c-255 { color: #eeeeee; }
