/* =================================================================
   Syntax Highlighting — Monokai (adapted for FlowDeck dark theme)
   Generated from Rouge monokai, customized colors/weights
   ================================================================= */

/* Container */
.highlighter-rouge {
    margin: 1.25rem 0;
}

.highlight {
    color: #f8f8f2;
    background-color: #111113;
}

.highlight pre {
    background: #111113;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
}

.highlight pre code {
    background: none;
    border: none;
    padding: 0;
    font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', 'Cascadia Code', Consolas, monospace;
    font-size: 0.8125rem;
    line-height: 1.65;
    color: #f8f8f2;
}

/* Comments */
.highlight .c,
.highlight .ch,
.highlight .cd,
.highlight .cpf,
.highlight .cm,
.highlight .c1 {
    color: #6a6a6a;
    font-style: italic;
}

.highlight .cp {
    color: #6a6a6a;
}

.highlight .cs {
    color: #6a6a6a;
    font-style: italic;
}

/* Errors */
.highlight .err {
    color: #f87171;
    background-color: transparent;
}

/* Diff */
.highlight .gi {
    color: #a6e22e;
    background-color: rgba(166, 226, 46, 0.08);
}

.highlight .gd {
    color: #f87171;
    background-color: rgba(248, 113, 113, 0.08);
}

/* Generic */
.highlight .ge { font-style: italic; }
.highlight .gs { font-weight: 600; }
.highlight .gh { color: #a1a1aa; }
.highlight .go { color: #71717a; }
.highlight .gp { color: #71717a; }
.highlight .gu { color: #a1a1aa; }

/* Keywords — cyan, no bold */
.highlight .k,
.highlight .kv,
.highlight .kc,
.highlight .kd,
.highlight .kp,
.highlight .kr,
.highlight .kt {
    color: #66d9ef;
}

.highlight .kn {
    color: #f92672;
}

/* Operators */
.highlight .ow,
.highlight .o {
    color: #f92672;
}

/* Numbers */
.highlight .mf,
.highlight .mh,
.highlight .il,
.highlight .mi,
.highlight .mo,
.highlight .m,
.highlight .mb,
.highlight .mx {
    color: #ae81ff;
}

/* Strings — warm yellow */
.highlight .sa {
    color: #66d9ef;
}

.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s2,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .s1,
.highlight .ss,
.highlight .s,
.highlight .dl {
    color: #e6db74;
}

/* Escape sequences */
.highlight .se {
    color: #ae81ff;
}

/* Names — green for functions/classes */
.highlight .na {
    color: #a6e22e;
}

.highlight .nc,
.highlight .nd,
.highlight .ne,
.highlight .nf,
.highlight .fm {
    color: #a6e22e;
}

/* Constants */
.highlight .no {
    color: #66d9ef;
}

/* Built-ins and variables */
.highlight .bp,
.highlight .nb,
.highlight .ni,
.highlight .nn,
.highlight .vc,
.highlight .vg,
.highlight .vi,
.highlight .nv,
.highlight .vm {
    color: #f8f8f2;
}

.highlight .w {
    color: #f8f8f2;
}

/* Labels */
.highlight .nl {
    color: #f8f8f2;
}

/* Tags (HTML/XML) */
.highlight .nt {
    color: #f92672;
}

/* Shell flags */
.highlight .nt {
    color: #a1a1aa;
}

/* Line numbers (if enabled) */
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }

.highlight .lineno {
    color: #3f3f46;
    padding-right: 0.75rem;
    user-select: none;
    -webkit-user-select: none;
}

/* ================================================================= */
/* Responsive                                                        */
/* ================================================================= */

@media (max-width: 768px) {
    .highlight pre {
        padding: 0.875rem 1rem;
        border-radius: 0.375rem;
        margin-left: -0.5rem;
        margin-right: -0.5rem;
    }

    .highlight pre code {
        font-size: 0.75rem;
    }
}

@media (max-width: 480px) {
    .highlight pre code {
        font-size: 0.6875rem;
    }
}
