@keyframes slideIn {
  from { transform: translateX(400px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
@keyframes slideOut {
  from { transform: translateX(0); opacity: 1; }
  to { transform: translateX(400px); opacity: 0; }
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
:root{--bg:#0b0b0d;--card:#111114;--muted:#1b1b20;--text:#e5e7eb;--sub:#a1a1aa;--accent:#a6ff00;--line:#2a2a31;}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,Helvetica,sans-serif;}
.container{max-width:1200px;margin:0 auto;padding:16px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 2px 16px rgba(0,0,0,.25);}
h1{font-weight:800;letter-spacing:.3px;margin:0 0 8px 0;}
h2{margin:16px 0 12px 0;}
label{font-size:14px;color:var(--sub);display:block;margin-bottom:6px;}
input,select,textarea{background:var(--muted);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 12px;outline:none;width:100%;}
input[type=number]{appearance:textfield;-moz-appearance:textfield;}
button{background:var(--accent);color:#000;font-weight:700;border:none;border-radius:12px;padding:10px 14px;cursor:pointer;}
button.ghost{background:transparent;color:var(--text);border:1px solid var(--line);}
.row{display:flex;gap:12px;flex-wrap:wrap;}
.col{flex:1;min-width:220px;}
.tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.tab{padding:10px 14px;border-radius:999px;background:var(--muted);cursor:pointer;border:1px solid var(--line);}
.tab.active{background:var(--accent);color:#000;border-color:transparent;}
table{width:100%;border-collapse:collapse;font-size:14px;overflow:auto;display:block;}
th,td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap;}
hr{border:none;height:1px;background:var(--line);margin:16px 0;}
.kicker{color:var(--sub);font-size:13px;}
.badge{background:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;}
.small{font-size:12px;color:var(--sub);}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999;}
.modal > .card{max-width:800px;width:92%;}
.hide{display:none !important;}
.sortlist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);}
.sortitem{
  display:flex;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  gap:12px;
  cursor:default;
  transition:all 0.2s ease;
  background:var(--muted);
}
.sortitem:hover{background:#1a1a22;transform:translateX(2px);}
.sortitem:active{cursor:grabbing;}
.sortitem:first-child{border-radius:12px 12px 0 0;}
.sortitem:last-child{border-bottom:none;border-radius:0 0 12px 12px;}
.sortitem.disabled{opacity:0.4;}
.sortitem.disabled:hover{background:var(--muted);transform:none;}
.sortitem[draggable]:hover .drag-handle{animation:wiggle 0.5s ease-in-out infinite;}
@keyframes wiggle {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-2px); }
  75% { transform: translateX(2px); }
}
.drag-handle{
  cursor:grab;
  color:#84cc16;
  font-size:18px;
  user-select:none;
  padding:4px 8px;
  border-radius:6px;
  transition:all 0.2s;
  font-weight:bold;
  letter-spacing:2px;
  background:rgba(132,204,22,0.1);
}
.drag-handle:hover{background:rgba(132,204,22,0.2);transform:scale(1.1);}
.sortitem:active .drag-handle{cursor:grabbing;}
.field-toggle-container{display:flex;align-items:center;position:relative;}
.field-checkbox{
  width:44px;
  height:24px;
  appearance:none;
  background:#2a2a35;
  border:2px solid var(--line);
  border-radius:999px;
  cursor:pointer;
  position:relative;
  transition:all 0.3s ease;
  margin:0;
}
.field-checkbox:checked{background:#84cc16;border-color:#84cc16;}
.field-checkbox::before{
  content:'';
  position:absolute;
  width:16px;
  height:16px;
  border-radius:50%;
  background:white;
  top:2px;
  left:2px;
  transition:all 0.3s ease;
  box-shadow:0 2px 4px rgba(0,0,0,0.2);
}
.field-checkbox:checked::before{transform:translateX(20px);}
.field-checkbox:hover{border-color:#84cc16;}
.field-label{
  flex:1;
  cursor:pointer;
  font-size:14px;
  font-weight:500;
  color:#e5e7eb;
  user-select:none;
}
.sortitem.disabled .field-label{color:#6b7280;}
.field-status{
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
  background:#1f1f27;
  border:1px solid var(--line);
  color:var(--sub);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.sortitem:not(.disabled) .field-status{background:rgba(132,204,22,0.15);color:#84cc16;border-color:#84cc16;}
.settings-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.settings-instructions{
  display:flex;
  gap:24px;
  margin-bottom:20px;
  padding:12px 16px;
  background:rgba(132,204,22,0.05);
  border:1px solid rgba(132,204,22,0.2);
  border-radius:8px;
  flex-wrap:wrap;
}
.instruction-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--sub);
}
.instruction-icon{font-size:16px;}
.handle{cursor:grab;background:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:8px;}
.toggle{display:flex;align-items:center;gap:8px;}
.chatlog{height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--muted);padding:12px;}
.msg{margin:8px 0;padding:10px 12px;border-radius:12px;max-width:85%;}
.me{background:#202027;border:1px solid var(--line);margin-left:auto;}
.ai{background:#15151a;border:1px solid var(--line);}
.sys{background:#101014;border:1px dashed var(--line);text-align:center;color:var(--sub);}
.flex{display:flex;gap:8px;align-items:center;}
.loader-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn 0.2s ease;}
.loader-content{text-align:center;padding:40px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,0.5);max-width:90%;min-width:300px;}
.loader-spinner{width:80px;height:80px;margin:0 auto 24px;border:4px solid var(--line);border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;}
.loader-text{font-size:18px;font-weight:600;color:var(--text);margin-bottom:8px;}
.loader-subtext{font-size:14px;color:var(--sub);animation:pulse 2s ease-in-out infinite;}