/*******************************************************************************
 * shPython-light.css
 *
 * SyntaxHighlighter theme for Python — LIGHT background.
 * Palette: VS Code "Default Light+" / "Light Modern" Python token colours.
 *
 * VS Code Light+ reference mapping
 * ──────────────────────────────────────────────────────────────────────────
 *   Background          #ffffff    editor.background
 *   Foreground          #000000    editor.foreground
 *   Comments            #008000    comment                      (green)
 *   Keywords            #af00db    keyword.control              (purple)
 *   Soft keywords       #af00db    keyword.control.flow
 *   Built-in functions  #795e26    support.function.builtin     (brown-gold)
 *   Built-in constants  #0000ff    constant.language            (blue)
 *   Built-in exceptions #267f99    support.type.exception       (teal)
 *   Types               #267f99    support.type                 (teal)
 *   Decorators          #795e26    entity.name.function.decorator
 *   Magic methods       #795e26    entity.name.function
 *   Strings             #a31515    string                       (brick red)
 *   f-strings           #a31515    string.interpolated
 *   Numbers             #098658    constant.numeric             (dark green)
 *   self / cls          #0000ff    variable.language            (blue)
 *   Operators (word)    #af00db    keyword.operator.logical
 *   Operators (symbol)  #000000    keyword.operator
 *   Functions           #795e26    entity.name.function
 *   stdlib              #267f99    support.function
 ******************************************************************************/

/* ── Base code block ─────────────────────────────────────────────────────── */
.syntaxhighlighter {
    background-color : #ffffff !important;
    border           : 1px solid #e4e4e4;
    border-radius    : 4px;
    font-size        : 0.88em;
    line-height      : 1.55;
    color            : #000000 !important;
}

/* ── Comments  # ─────────────────────────────────────────────────────────── */
.syntaxhighlighter .py_comment {
    color      : #008000 !important;
    font-style : italic;
}

/* ── Core keywords  if  for  def  class  import  return … ───────────────── */
.syntaxhighlighter .py_keyword {
    color       : #af00db !important;  /* purple — keyword.control */
    font-weight : normal;
}

/* ── Soft keywords  match  case  type ───────────────────────────────────── */
.syntaxhighlighter .py_keyword_soft {
    color : #af00db !important;
}

/* ── Built-in functions  print  len  range  zip … ───────────────────────── */
.syntaxhighlighter .py_builtin_func {
    color : #795e26 !important;        /* brown-gold — support.function.builtin */
}

/* ── Built-in constants  True  False  None … ────────────────────────────── */
.syntaxhighlighter .py_builtin_const {
    color       : #0000ff !important;  /* blue — constant.language */
    font-weight : normal;
}

/* ── Built-in exceptions  ValueError  TypeError … ───────────────────────── */
.syntaxhighlighter .py_builtin_exc {
    color : #267f99 !important;        /* teal — support.type.exception */
}

/* ── Built-in types  int  str  list  dict … ─────────────────────────────── */
.syntaxhighlighter .py_type {
    color : #267f99 !important;        /* teal — support.type */
}

/* ── Decorators  @property  @staticmethod  @my_decorator ────────────────── */
.syntaxhighlighter .py_decorator {
    color : #795e26 !important;        /* brown-gold */
}

/* ── Magic / dunder methods  __init__  __str__  __len__ … ───────────────── */
.syntaxhighlighter .py_magic {
    color      : #795e26 !important;   /* brown-gold */
    font-style : italic;
}

/* ── Strings  "…"  '…'  """…"""  b"…"  r"…" ────────────────────────────── */
.syntaxhighlighter .py_string {
    color : #a31515 !important;        /* brick red — string */
}

/* ── f-strings  f"…"  f'…' ──────────────────────────────────────────────── */
.syntaxhighlighter .py_fstring {
    color : #a31515 !important;
}

/* ── Numbers  42  3.14  0xFF  0b1010  3j ────────────────────────────────── */
.syntaxhighlighter .py_number {
    color : #098658 !important;        /* dark green — constant.numeric */
}

/* ── self  cls ───────────────────────────────────────────────────────────── */
.syntaxhighlighter .py_self {
    color      : #0000ff !important;   /* blue — variable.language */
    font-style : italic;
}

/* ── Operators  and  or  not  in  is  **  //  :=  -> … ──────────────────── */
.syntaxhighlighter .py_operator {
    color : #000000 !important;        /* plain foreground */
}

/* ── Function / method calls  my_func(  obj.method( ─────────────────────── */
.syntaxhighlighter .py_function {
    color : #795e26 !important;        /* brown-gold — entity.name.function */
}

/* ── Standard-library names  os  sys  pathlib  typing … ─────────────────── */
.syntaxhighlighter .py_stdlib {
    color : #267f99 !important;        /* teal — support.function */
}

/* ── Gutter ───────────────────────────────────────────────────────────────── */
.syntaxhighlighter .gutter {
    background-color : #f3f3f3 !important;
    color            : #237893 !important;
    border-right     : 1px solid #e4e4e4;
}

.syntaxhighlighter .gutter .line {
    border-right : none !important;
}

.syntaxhighlighter .gutter .line.highlighted {
    color : #0b216f !important;
}

/* ── Active / highlighted line ───────────────────────────────────────────── */
.syntaxhighlighter .line.highlighted {
    background-color : #f5f5f5 !important;
}

.syntaxhighlighter .line:hover {
    background-color : #f5f5f5 !important;
}

/* ── Selection ───────────────────────────────────────────────────────────── */
.syntaxhighlighter .line .selection {
    background-color : #add6ff !important;
}

/* ── Toolbar ─────────────────────────────────────────────────────────────── */
.syntaxhighlighter .toolbar {
    background-color : #f3f3f3 !important;
    border-bottom    : 1px solid #e4e4e4;
}

.syntaxhighlighter .toolbar a       { color : #616161 !important; }
.syntaxhighlighter .toolbar a:hover { color : #000000 !important; }