/* PRISM.CSS                                */
/* Bartolome Sintes Marco                   */
/* https://www.mclibre.org                  */
/*                                          */
/* Hoja de estilo para prism.js             */
/*                                          */
/* 27 de septiembre de 2022                 */
/*                                          */

/* Colores para cuadros de código fuente y de terminal */

div.terminal { background-color: #1e1e1e; color: white; padding-top: 5px; padding-bottom: 5px; }

div.codigo { background-color: #1e1e1e; color: #ffffff; padding-top: 5px; padding-bottom: 5px; }

div.codigo.idle { background-color: white; color: black; }

div.codigo-nocolor { background-color: white; color:black; }

div.codigo-nocolor code.language-html *[class] { color: black; }

code { line-height: 120%; /* font-weight: bold; */ }

.line-numbers-rows > span:before { color: black; }

.command-line-prompt { border-right: 1px solid #999; }

.command-line-prompt > span:before { color: white; }


/* Estilo para HTML imitando a Visual Studio Code con tema Dark+ */

div.codigo code.language-html      { background-color: #1e1e1e; color: #ffffff;
                                     padding-top: 5px; padding-bottom: 5px; }
code.language-html .attr-name      { color: #9cdcfe; }          /* attribute name            */
code.language-html .attr-value     { color: #ce9178; }          /* attribute value           */
code.language-html .comment        { color: #6a9955; }          /* comment                   */
code.language-html .doctype-tag    { color: #569cd6; }          /* doctype tag               */
code.language-html .entity         { color: #569cd6; }          /* entity                    */
code.language-html .name           { color: #9cdcfe; }          /* name                      */
code.language-html .punctuation    { color: #808080; }          /* punctuation               */
code.language-html .attr-equals    { color: #d4d4d4; }          /* = en atributos            */
code.language-html .tag            { color: #569cd6; }          /* Tags, attributes, configs */
/* code.language-html .cdata          { }                            /* cdata                     */
/* code.language-html .namespace      { }                            /* namespace                 */
/* code.language-html .prolog         { }                            /* prolog                    */

/* Estilo para código fuente HTML imitando a Firefox */

div.resultado-codigo code.language-html .attr-name      { color: #000000; font-weight: bold; }  /* attribute name            */
div.resultado-codigo code.language-html .attr-value     { color: #0000ff; }                     /* attribute value           */
div.resultado-codigo code.language-html .comment        { color: #008000; }                     /* comment                   */
div.resultado-codigo code.language-html .doctype        { color: #4682b4; }                     /* doctype                   */
div.resultado-codigo code.language-html .entity         { color: #ff4500; }                     /* entity                    */
div.resultado-codigo code.language-html .operator       { color: #000000; }                     /* operators                 */
div.resultado-codigo code.language-html .punctuation    { color: #000000; }                     /* punctuation               */
div.resultado-codigo code.language-html .tag            { color: #800080; font-weight: bold; }  /* Tags, attributes, configs */

/* Estilo para CSS imitando a Visual Studio Code con tema Dark+ */

code.language-css                 { color: #ce9178; }          /* color por defecto                  */
code.language-css .atrule         { color: #c586c0; }          /* at-rule lo que no es @rule         */
code.language-css .attribute      { color: #9cdcfe; }          /* atributo                           */
code.language-css .attr-value     { color: #ce9178; }          /* valor de atributo                  */
code.language-css .color          { color: #ce9178; }          /* color                              */
code.language-css .comment        { color: #6a9955; }          /* comment                            */
code.language-css .function       { color: #dcdcaa; }          /* CSS function within a value        */
code.language-css .important      { color: #569cd6; }          /* "!important" symbol                */
code.language-css .number         { color: #b5cea8; }          /* number                             */
code.language-css .operator       { color: #d4d4d4; }          /* operator                           */
code.language-css .property       { color: #9cdcfe; }          /* property name inside a rule        */
code.language-css .pseudo-element { color: #d7ba7d; }          /* pseudo-element, pseudo-class       */
code.language-css .punctuation    { color: #d4d4d4; }          /* punctuation                        */
code.language-css .rule           { color: #ce9178; }          /* @-rule till first "{" or ";"       */
code.language-css .selector       { color: #d7ba7d; }          /* tag in selectors                   */
code.language-css .string         { color: #ce9178; }          /* NO SE DETECTA                      */
code.language-css .string.url     { text-decoration: underline; text-decoration-skip-ink: none; } /* url */
code.language-css .unit           { color: #b5cea8; }          /* unit                               */
code.language-css .variable       { color: #9cdcfe; }          /* variable                           */
/* code.language-css .constant       { color: #ce9178; }          /* constant (añadida por mí)          */


/* Estilo para Python imitando a IDLE */

div.codigo.idle                            { background-color: white; color: black;
                                             padding-top: 5px; padding-bottom: 5px; }
code.language-python .boolean              { color: black;   } /* boolean                             */
code.language-python .builtin              { color: #800080; } /* built-in functions                  */
code.language-python .class-name           { color: black;   } /* class header class SomeName(...):   */
code.language-python .comment              { color: #FF0000; } /* comment                             */
code.language-python .decorator            { color: black;   } /* decorator                           */
code.language-python .function             { color: #0000FF; } /* function header def some_name(...): */
code.language-python .keyword              { color: #FF7700; } /* keyword                             */
code.language-python .number               { color: black;   } /* number                              */
code.language-python .operator             { color: black;   } /* operators                           */
code.language-python .punctuation          { color: black;   } /* punctuation                         */
code.language-python .string               { color: #00AA00; } /* string (of any type)                */
code.language-python .string-interpolation { color: black;   } /* string-interpolation                */
code.language-python .triple-quoted-string { color: #00AA00; } /* string (of any type)                */

/* Estilo para Python imitando a Visual Studio Code con tema Dark+ */

div.codigo code.language-python            { background-color: #1e1e1e; color: #9cdcfe;
                                             padding-top: 5px; padding-bottom: 5px; }
code.language-python .boolean              { color: #569CD6; } /* boolean                             */
code.language-python .builtin              { color: #4ec9b0; } /* built-in functions                  */
code.language-python .class-name           { color: white    } /* class header class SomeName(...):   */
code.language-python .comment              { color: #6a9955; } /* comment                             */
code.language-python .decorator            { color: white;   } /* decorator                           */
code.language-python .function             { color: #dcdcaa; } /* function header def some_name(...): */
code.language-python .keyword              { color: #c586c0; } /* keyword                             */
code.language-python .number               { color: #b5cea8; } /* number                              */
code.language-python .operator             { color: #d4d4d4; } /* operators                           */
code.language-python .punctuation          { color: #d4d4d4; } /* punctuation                         */
code.language-python .string               { color: #ce9178; } /* string (of any type)                */
code.language-python .string-interpolation { color: #9cdcfe; } /* string-interpolation                */
code.language-python .triple-quoted-string { color: #ce9178; } /* string (of any type)                */

code.language-python .builtin-module       { color: #4ec9b0; } /* built-in module names               */
code.language-python .module               { color: #4ec9b0; } /* module names                        */
code.language-python .builtin2             { color: #dcdcaa; } /* input main print                    */
code.language-python .keyword2             { color: #569cd6; } /* keyword                             */
code.language-python .storage              { color: #569cd6; } /* def                                 */
code.language-python .intrinsic            { color: #9cdcfe; } /* __name__                            */


/* Estilo para PHP imitando a Visual Studio Code con tema Dark+ */

code.language-php .function2            { color: #dcdcaa; } /* añadido por mi a prism.js para que se vea como las funciones */

code.language-php .comment              { color: #6a9955; } /* comment                             */
code.language-php .delimiter            { color: #569cd6; } /* fragmento php                       */
code.language-php .function             { color: #dcdcaa; } /* function header def some_name(...): */
code.language-php .keyword              { color: #c586c0; } /* keyword                             */
code.language-php .number               { color: #b5cea8; } /* number                              */
code.language-php .operator             { color: #ffffff; } /* operators                           */
code.language-php .punctuation          { color: #ffffff; } /* punctuation                         */
code.language-php .variable             { color: #9cdcfe; } /* fragmento php                       */
code.language-php .string               { color: #ce9178; } /* string (of any type)                */
code.language-php .double-quoted-string { color: #ce9178; } /* string (of any type)                */

code.language-php .boolean              { color: #569cd6;   } /* boolean                             */
code.language-php .builtin              { color: #dcdcac; } /* built-in functions                  */
code.language-php .class-name           { color: white    } /* class header class SomeName(...):   */
code.language-php .decorator            { color: white;   } /* decorator                           */
code.language-php .string-interpolation { color: white;   } /* string-interpolation                */
code.language-php .triple-quoted-string { color: #ce9178; } /* string (of any type)                */

/* Estilo para HTML en fichero .PHP imitando a Visual Studio Code con tema Dark+ */

code.language-php .attr-name      { color: #9cdcfe; }          /* attribute name            */
code.language-php .attr-value     { color: #ce9178; }          /* attribute value           */
code.language-php .comment        { color: #6a9955; }          /* comment                   */
code.language-php .doctype        { color: #569cd6; }          /* doctype                   */
code.language-php .punctuation    { color: #ffffff; }          /* punctuation               */
code.language-php .tag            { color: #569cd6; }          /* Tags, attributes, configs */
/* code.language-php .cdata          { }                            /* cdata                     */
/* code.language-php .entity         { }                            /* entity                    */
/* code.language-php .namespace      { }                            /* namespace                 */
/* code.language-php .prolog         { }                            /* prolog                    */


/* Estilo para JSON imitando a Visual Studio Code con tema Dark+ */

code.language-json .boolean       { color: #569cd6; }          /* valor (booleano)          */
code.language-json .comment       { color: #6a9955; }          /* comentario                */
code.language-json .number        { color: #b5cea8; }          /* valor (número)            */
code.language-json .property      { color: #9cdcfe; }          /* clave                     */
code.language-json .punctuation   { color: #d4d4d4; }          /* puntuación, llaves, etc   */
code.language-json .string        { color: #ce9178; }          /* valor (cadena)            */


/* Estilo para Shell  imitando a Visual Studio Code con tema Dark+ */

code.language-shell .comment        { color: #6a9955; }                     /* comment                   */


/* Estilo para HTML imitando a Brackets */
/* Tengo pendiente comprobar los nombres de las clases en prism */

div.brackets, div.brackets pre, div.brackets pre code.language-html { background-color: #ffffff; color: black; }

div.brackets code.language-html .tag         { color: #446FBD; } /* any tag from "<" till ">"              */
div.brackets code.language-html .punctuation { color: #446FBD; } /*                                        */
div.brackets code.language-html .attr-name   { color: #6D8600; } /* tag's attribute with or without value  */
div.brackets code.language-html .attr-value  { color: #E88501; } /* attribute's value                      */
div.brackets code.language-html .comment     { color: #535353; } /* comment                                */
div.brackets code.language-html .pi          { color: #535353; } /* processing instruction (<? ... ?>)     */
div.brackets code.language-html .doctype     { color: #535353; } /* <!DOCTYPE ... > declaration            */
div.brackets code.language-html .cdata       { color: #E88501; } /* CDATA section                          */

/* Estilo para CSS imitando a Brackets */
/* Pasado a medias a Prism */

div.brackets, div.brackets pre, div.brackets pre code.language-css { background-color: #ffffff; color: black; }

div.brackets code.language-css .atrule        { color: #8757AD; }          /* @-rule till first "{" or ";"       */
div.brackets code.language-css .comment       { color: #535353; }          /* comment                            */
div.brackets code.language-css .string        { color: #E88501; }          /* string within a value              */
div.brackets code.language-css .function      { color: #E88501; }          /* CSS function within a value        */
div.brackets code.language-css .important     { color: #3f7f7f; }          /* "!important" symbol                */
div.brackets code.language-css .property      { color: #8757AD; }          /* property name inside a rule        */
div.brackets code.language-css .punctuation   { color: #8757AD; }          /* punctuation                        */
div.brackets code.language-css .selector      { color: #446FBD; }          /* tag in selectors                   */

div.brackets code.language-css .hljs-id            { color: #446FBD; }          /* #some_name in selectors            */
div.brackets code.language-css .hljs-class         { color: #446FBD; }          /* .some_name in selectors            */
div.brackets code.language-css .hljs-attr_selector { color: #3f7f7f; }          /* attribute selector ([])            */
div.brackets code.language-css .hljs-pseudo        { color: #535353; }          /* pseudo classes/elements            */
div.brackets code.language-css .hljs-rules         { color: #000000; }          /* everything from "{" till "}"       */
div.brackets code.language-css .hljs-value         { color: #E88501; }          /* property value inside a rule       */
div.brackets code.language-css .hljs-number        { color: #6D8600; }          /* number within a value              */
div.brackets code.language-css .hljs-hexcolor      { color: #E88501; }          /* hex color (#FFFFFF) within a value */


/* CSS para plugin Line Numbers de Prism */

pre.line-numbers {
    position: relative;
    padding-left: 2.8em;
    counter-reset: linenumber;
}

pre.line-numbers > code {
    position: relative;
}

.line-numbers .line-numbers-rows {
    position: absolute;
    pointer-events: none;
    top: 3px;            /* para ajustar la posición de los números */
    font-size: 100%;
    left: -2.8em;
    width: 2em; /* works for line-numbers below 1000 lines */
    letter-spacing: -1px;
    border-right: 1px solid #999;
    user-select: none;
}

.line-numbers-rows > span {
    pointer-events: none;
    display: block;
    counter-increment: linenumber;
}

.line-numbers-rows > span::before {
    content: counter(linenumber);
    color: white;
    display: block;
    padding-right: 0.8em;
    text-align: right;
}


/* CSS para plugin Command Line de Prism */

.command-line-prompt {
    border-right: 1px solid #999;
    display: block;
    float: left;
    font-size: 100%;
    letter-spacing: -1px;
    margin-right: 1em;
    pointer-events: none;
    user-select: none;
}

.command-line-prompt > span::before {
    color: white;
    content: ' ';
    display: block;
    padding-right: 0.8em;
}

.command-line-prompt > span[data-user]::before {
    content: "[" attr(data-user) "@" attr(data-host) "] $";
}

.command-line-prompt > span[data-user="root"]::before {
    content: "[" attr(data-user) "@" attr(data-host) "] #";
}

.command-line-prompt > span[data-prompt]::before {
    content: attr(data-prompt);
}


/* CSS para plugin Toolbar (utilizado por plugin Copy to Clipboard)  */

div.code-toolbar {
    position: relative;
}

div.code-toolbar > .toolbar {
    position: absolute;
    top: .3em;
    right: .2em;
    transition: opacity 0.3s ease-in-out;
    opacity: 1;
}

div.code-toolbar:hover > .toolbar {
    opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don't support :focus-within. */
div.code-toolbar:focus-within > .toolbar {
    opacity: 1;
}

div.code-toolbar > .toolbar .toolbar-item {
    display: inline-block;
}

div.code-toolbar > .toolbar a {
    cursor: pointer;
}

div.code-toolbar > .toolbar button {
    background: none;
    border: 0;
    font: inherit;
    line-height: normal;
    overflow: visible;
    padding: 0;
    user-select: none; /* for button */
}

div.code-toolbar > .toolbar a,
/* div.code-toolbar > .toolbar button, */
div.code-toolbar > .toolbar span {
    color: black;
    font-size: 1.2em;
    padding: .2em .5em;
    background: white;
    box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
    border-radius: .5em;
}

div.code-toolbar > .toolbar a:hover,
div.code-toolbar > .toolbar a:focus,
div.code-toolbar > .toolbar button:hover,
div.code-toolbar > .toolbar button:focus,
div.code-toolbar > .toolbar span:hover,
div.code-toolbar > .toolbar span:focus {
    text-decoration: none;
}

button.copy-to-clipboard-button {
    display: none;
}

div.codigo.copy button.copy-to-clipboard-button {
    display: inline
}
