/* ============ HAKO CTF — pelengkap Tailwind + tema plugin ============ */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--accent2)}

select option{background:var(--ink);color:var(--txt)}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.shake{animation:shake .4s;border-color:var(--danger)!important}

/* ---------------- SweetAlert2 ---------------- */
.swal-neon{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 22px;border-radius:4px;
  font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:1px;cursor:pointer;transition:.2s}
.swal-neon:hover{background:var(--accent);color:var(--ink)}
.swal-ghost{background:transparent;border:1px solid var(--line);color:var(--txt);padding:10px 22px;border-radius:4px;
  margin-right:10px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:1px;cursor:pointer;transition:.2s}
.swal-ghost:hover{border-color:var(--danger);color:var(--danger)}
.swal2-title,.swal2-html-container{font-family:'JetBrains Mono',monospace!important}

/* ---------------- DataTables ---------------- */
.dataTables_wrapper{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--txt)}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  background:var(--ink);border:1px solid var(--line);color:var(--txt);border-radius:4px;
  padding:6px 10px;font-family:inherit;font-size:12px}
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus{outline:none;border-color:var(--accent)}
.dataTables_wrapper .dataTables_filter{margin-bottom:12px}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length label{color:var(--accent2);font-size:11px}
.dataTables_wrapper .dataTables_paginate .paginate_button{
  background:transparent!important;border:1px solid var(--line)!important;color:var(--txt)!important;
  border-radius:4px;margin:0 2px;padding:4px 10px!important;font-size:12px}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
  background:var(--line)!important;color:var(--accent)!important;border-color:var(--accent)!important}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background:var(--accent)!important;color:var(--ink)!important;border-color:var(--accent)!important}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{opacity:.3}
table.dataTable thead th{border-bottom:1px solid var(--line)!important;color:var(--accent2);
  font-size:10px;letter-spacing:1px;text-transform:uppercase}
table.dataTable tbody td{border-bottom:1px solid rgba(28,58,28,.5)!important}
table.dataTable tbody tr{background:transparent!important}
table.dataTable tbody tr:hover{background:rgba(57,255,90,.03)!important}
table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after{color:var(--accent2)!important}

/* ---------------- Select2 ---------------- */
.select2-container--default .select2-selection--single{
  background:var(--ink);border:1px solid var(--line);height:42px;border-radius:4px}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--txt);line-height:42px;font-family:'JetBrains Mono',monospace;font-size:13px;padding-left:12px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--accent2) transparent transparent}
.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--accent)}
.select2-dropdown{background:var(--panel);border:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:13px}
.select2-container--default .select2-search--dropdown .select2-search__field{
  background:var(--ink);border:1px solid var(--line);color:var(--txt);padding:6px 10px;font-family:inherit}
.select2-container--default .select2-results__option{color:var(--txt);padding:8px 12px}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--line);color:var(--accent)}
.select2-container--default .select2-results__option[aria-selected=true]{background:rgba(57,255,90,.1);color:var(--accent)}

/* ---------------- CodeMirror ---------------- */
.CodeMirror{background:var(--ink)!important;color:var(--txt)!important;border:1px solid var(--line);border-radius:4px;
  font-family:'JetBrains Mono',monospace!important;font-size:12px;height:auto;min-height:110px}
.CodeMirror-gutters{background:var(--panel)!important;border-right:1px solid var(--line)!important}
.CodeMirror-linenumber{color:var(--accent2)!important}
.CodeMirror-cursor{border-left:1px solid var(--accent)!important}
.CodeMirror-focused{border-color:var(--accent)}
.CodeMirror-selected{background:rgba(57,255,90,.12)!important}

/* ---------------- overlayScrollbars ---------------- */
.os-theme-hako{--os-handle-bg:var(--line);--os-handle-bg-hover:var(--accent2);--os-handle-bg-active:var(--accent)}

/* ---------------- console response ---------------- */
.resp-json .k{color:var(--info)}.resp-json .s{color:var(--accent)}
.resp-json .n{color:var(--amber)}.resp-json .b{color:var(--danger)}
