:root{
  --terminal-bg: rgba(5, 6, 10, 0.92);
  --terminal-border: rgba(211, 43, 43, 0.35);
  --terminal-shadow: 0 18px 46px rgba(0, 0, 0, 0.45);
  --terminal-header: linear-gradient(135deg, rgba(14, 16, 24, 0.95), rgba(32, 12, 18, 0.9));
  --terminal-prompt: #7dfede;
  --terminal-command: #dffdf4;
  --terminal-output: #7dfede;
  --terminal-cursor: #7dfede;
}

html[data-theme="light"]{
  --terminal-bg: rgba(14, 14, 22, 0.95);
  --terminal-border: rgba(214, 75, 98, 0.35);
  --terminal-shadow: 0 16px 38px rgba(120, 26, 36, 0.25);
  --terminal-header: linear-gradient(135deg, rgba(34, 16, 24, 0.92), rgba(18, 19, 32, 0.9));
  --terminal-command: #f3fffb;
  --terminal-output: #8df9e2;
}

/* Terminal Kali animé */
.terminal{
  margin-top:24px;
  background:var(--terminal-bg);
  border:1px solid var(--terminal-border);
  border-radius:16px;
  padding:18px 20px 20px;
  font-family:"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:.92rem;
  line-height:1.5;
  color:var(--terminal-output);
  min-height:160px;
  max-height:260px;
  box-shadow:var(--terminal-shadow);
  overflow:auto;
  position:relative;
}

.terminal::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:34px;
  background:var(--terminal-header);
  border-bottom:1px solid rgba(0,0,0,.55);
  box-shadow:0 6px 16px rgba(0,0,0,.32);
}

.terminal::after{
  content:"";
  position:absolute;
  top:11px;
  left:18px;
  width:46px;
  height:12px;
  border-radius:999px;
  background:radial-gradient(circle at 10% 50%, #ff5f56 0 30%, transparent 32%),
             radial-gradient(circle at 40% 50%, #ffbd2e 0 30%, transparent 32%),
             radial-gradient(circle at 70% 50%, #27c93f 0 30%, transparent 32%);
  opacity:.75;
}

.terminal-line,
.terminal-output{
  position:relative;
  z-index:1;
  white-space:pre-wrap;
  word-break:break-word;
  margin-top:6px;
}

.terminal-line:first-of-type,
.terminal-output:first-of-type{
  margin-top:40px;
}

.terminal-prompt{
  color:var(--terminal-prompt);
  font-weight:600;
}

.terminal-command{
  color:var(--terminal-command);
}

.terminal-output{
  color:var(--terminal-output);
  opacity:.82;
  padding-left:18px;
}

.terminal-cursor{
  display:inline-block;
  width:.6ch;
  height:1.1em;
  margin-left:4px;
  background:var(--terminal-cursor);
  animation:terminal-blink 1.05s steps(2, start) infinite;
}

@keyframes terminal-blink{
  0%,49%{opacity:1;}
  50%,100%{opacity:0;}
}

@media (max-width:720px){
  .terminal{font-size:.86rem; padding:16px 16px 18px;}
  .terminal::after{left:14px;}
}

@media print{
  .terminal{display:none;}
}
