:root{
  --bg:#0a0e14;
  --bggray: #bbbbbb;
  --bg-soft:#0f141d;
  --panel:#121822;
  --line:#1e2734;
  --ink:#e8edf4;
  --inkb: #444444;
  --muted:#36d6c3; /* 8a97a8; */
  --dim:#36d6c3; /* #5a6678; */
  --cyan:#36d6c3;
  --violet:#FFFFFF;       /* music accent #E63946 */
  --rose:#ff5d73;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family: 'Source Sans 3', sans-serif;  /* font-family:'Space Grotesk',system-ui,sans-serif; */
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
.mono{font-family:'JetBrains Mono',monospace}

.im-wrap{max-width:1028px;margin:0 auto;padding:44px 24px}

/* ---------- Header ---------- */
.im-head{margin-bottom:34px}
.im-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--violet);
  border:1px solid var(--line);background:var(--panel);
  padding:6px 13px;border-radius:100px;margin-bottom:22px;
}
.im-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet)}
.im-title{
  font-family:'Newsreader',Georgia,serif;font-weight:400;
  font-size:clamp(2rem,6vw,2.8rem);line-height:1.05;letter-spacing:-.02em;
  margin:0 0 14px;color:var(--violet);
}
.im-title em{font-style:italic;color:var(--violet)}
.im-lede{color:var(--muted);font-size:1.02rem;max-width:600px;margin:0}

/* instrument glyphs row */
.im-instruments{display:flex;align-items:center;gap:18px;margin:0 0 24px}
.im-instruments img{
  width:48px;height:48px;object-fit:contain;
  /* recolor the dark PNGs to sit on a dark bg */
  filter:invert(82%) sepia(18%) saturate(900%) hue-rotate(205deg) brightness(102%) opacity(.92);
}

/* ---------- Table shell ---------- */
.im-panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px 24px 12px;
}

/* DataTables: search box + info + paginate */
.dataTables_wrapper{color:var(--muted)}
.dataTables_filter{
  margin-bottom:20px;
  font-family:'JetBrains Mono',monospace;font-size:12px;
  color:var(--dim);text-align:right;
}
.dataTables_filter label{color:var(--dim);letter-spacing:.04em}
.dataTables_filter input{
  margin-left:10px;height:38px;width:240px;max-width:60vw;
  background: var(--bggray);border:1px solid var(--line);border-radius:9px;
  color:var(--inkb);font-family:'JetBrains Mono',monospace;font-size:13px;
  padding:0 13px;outline:none;transition:border-color .2s,box-shadow .2s;
}
.dataTables_filter input::placeholder{color:var(--dim)}
.dataTables_filter input:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(230,57,70,.16)}

.dataTables_info{
  margin-top:16px;padding:0 4px;
  font-family:'JetBrains Mono',monospace; font-size:12px;color: white; /* var(--dim); */
}
.dataTables_paginate{margin-top:16px;padding:0 4px}

/* ---------- The table itself ---------- */
table.display{
  width:100%!important;border-collapse:separate!important;border-spacing:0;
  font-variation-settings:"wght" 300;font-size:14px;
}
table.display thead th{
  background: #4CB817 !important;
  color: black !important;
  font-family:'JetBrains Mono',monospace;font-size:12px!important;font-weight:500!important;
  letter-spacing:.1em;text-transform:uppercase;
  text-align:left!important;
  padding:10px 14px 14px!important;
  border:none!important;border-bottom:1px solid var(--line)!important;
}
/* sort arrows -> muted */
table.display thead th.sorting:after,
table.display thead th.sorting_asc:after,
table.display thead th.sorting_desc:after{color:var(--dim);opacity:.6}

table.display tbody td,
.display td,
.display tr.even td,
.display tr.odd td{
  background:transparent!important;
  color:var(--ink)!important;
  border:none!important;
  border-bottom:1px solid var(--line)!important;
  padding:12px 14px!important;
  font-weight:600;
}
.display tbody tr:last-child td{border-bottom:none!important}

/* hover + selected row -> violet wash */
.display tr:hover td,
.display tr:hover{
  background: #d5ffd5; /* rgba(230,57,70,.10)!important; */
  color: #555 !important;
  border-color:var(--line)!important;
  cursor:pointer;
}
.display tr.even.row_selected td,
.display tr.odd.row_selected td,
.display tr.row_selected td{
  background: #cbffcb !important;
  color:#0a0e14!important;
  border-color:#F3F2F1! important;
  font-weight:500;
}
.display tr.row_selected td a{color:#0a0e14!important}

.display tr.row_selected:hover td{
    background: #cbffcb !important; 
    color:#0a0e14!important
}

/* link cell -> cyan */
.display td a{color:var(--cyan);text-decoration:none}
.display td a:hover{text-decoration:underline}

/* ---------- Paginate buttons ---------- */
.dataTables_wrapper .dataTables_paginate .paginate_button{
  font-family:'JetBrains Mono',monospace!important;font-size:12px!important;
  color:var(--muted)!important;border:1px solid var(--line)!important;
  background:transparent!important;border-radius:7px!important;
  padding:6px 12px!important;margin:0 3px!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
  color:var(--violet)!important;border-color:var(--violet)!important;
  background:transparent!important;box-shadow:none!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  color:#0b0814!important;background:var(--violet)!important;
  border:1px solid var(--violet)!important;font-weight:700;box-shadow:none!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{opacity:.35}

/* loader */
#preloader{display:none}

/* ---------- Responsive (iPad + phone) ---------- */
@media (max-width:1024px){
  .im-wrap{max-width:100%;padding:52px 28px}
}
@media (max-width:600px){
  .im-wrap{padding:36px 16px;margin:0}
  .im-panel{padding:16px 14px 8px;border-radius:14px}
  .im-instruments img{width:40px;height:40px}
  .dataTables_filter{text-align:left}
  .dataTables_filter input{width:100%;max-width:none;margin-left:0;margin-top:8px;font-size:16px}
  .dataTables_filter label{display:block}
  table.display,table.display tbody,table.display tr,table.display td{display:block;width:100%!important}
  table.display thead{display:none}
  .display tbody tr{
    border:1px solid var(--line);border-radius:10px;margin-bottom:12px;
    padding:6px 4px;background:var(--bg-soft);
  }
  .display tbody td{
    border-bottom:1px solid var(--line)!important;
    padding:8px 12px!important;display:flex;justify-content:space-between;gap:14px;
  }
  .display tbody tr td:last-child{border-bottom:none!important}
  /* label each cell using the column name */
  .display tbody td::before{
    content:attr(data-label);
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--dim);flex-shrink:0;
  }
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
