:root {
  --bg:#0d1117; --panel:#141b24; --panel2:#1a2330; --line:#233042;
  --txt:#d7dee8; --dim:#7d8ea3; --amber:#e8b34b; --green:#3fb97c; --red:#e05c5c;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
* { box-sizing:border-box; margin:0 }
body { min-height:100vh; background:var(--bg); color:var(--txt); font:14px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif; padding:14px 18px }
h1 { font:600 15px var(--mono); letter-spacing:.12em; color:var(--amber) }
button,input { font:inherit }
[hidden] { display:none!important }

.auth-shell { min-height:calc(100vh - 28px); display:grid; place-items:center; padding:20px }
.auth-card { width:min(420px,100%); background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:28px; box-shadow:0 24px 80px #0008 }
.auth-card h1 { margin-top:8px; font-size:21px; letter-spacing:.06em }
.auth-mark { color:var(--amber); font:600 10px var(--mono); letter-spacing:.16em }
.auth-note,.settings-note { margin-top:10px; color:var(--dim) }
.auth-form { display:grid; gap:13px; margin-top:22px }
.auth-form label,.passkey-register-form label { display:grid; gap:5px; color:var(--dim); font:10.5px var(--mono); letter-spacing:.06em }
.auth-form input,.passkey-register-form input { width:100%; background:var(--bg); color:var(--txt); border:1px solid var(--line); border-radius:5px; padding:10px; outline:none }
input:focus { border-color:var(--amber) }
.auth-primary { width:100%; margin-top:3px; padding:10px!important; background:#334863!important }
.auth-divider { display:flex; align-items:center; gap:10px; margin:17px 0; color:var(--dim); font:10px var(--mono) }
.auth-divider::before,.auth-divider::after { content:''; height:1px; background:var(--line); flex:1 }
.passkey-button { width:100%; padding:10px!important; background:transparent!important }
.auth-feedback,.settings-feedback { min-height:20px; margin-top:12px; color:var(--dim); font:11px var(--mono) }
.auth-feedback.bad,.settings-feedback.bad { color:var(--red) }
.auth-feedback.ok,.settings-feedback.ok { color:var(--green) }

.bar { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:10px; margin-bottom:14px }
.bar-actions { display:flex; align-items:center; gap:12px }
.status { font:12px var(--mono); color:var(--dim) }
.status b { color:var(--txt) }
.dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); margin-right:5px; vertical-align:baseline }
.dot.bad { background:var(--red) }
.icon-button,.dialog-close { appearance:none; background:transparent; color:var(--dim); border:1px solid var(--line); border-radius:4px; cursor:pointer }
.icon-button { padding:6px 9px; font:11px var(--mono) }
.icon-button:hover,.dialog-close:hover { color:var(--txt); border-color:var(--amber) }
.tabs { display:flex; gap:8px; margin:0 0 14px; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:thin }
.tab { appearance:none; border:1px solid var(--line); border-bottom:0; background:var(--panel); color:var(--dim); font:600 12px var(--mono); padding:9px 14px; border-radius:6px 6px 0 0; cursor:pointer; transition:.15s ease }
.tab:hover { color:var(--txt); background:var(--panel2) }
.tab.active { color:var(--amber); background:var(--panel2); border-color:#3b4c63; box-shadow:inset 0 2px var(--amber) }
.tab .count { font-weight:400; color:var(--dim); margin-left:7px }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:10px; margin-bottom:14px }
.card { position:relative; background:var(--panel); border:1px solid var(--line); border-left:3px solid #888; border-radius:6px; padding:10px 36px 10px 12px; cursor:pointer }
.card.off { opacity:.38 }
.card .n { font:11px var(--mono); color:var(--dim); letter-spacing:.05em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.card .eq { font:600 22px var(--mono); margin-top:3px }
.card .currency { font-size:12px }
.card .sub { font:12px var(--mono); color:var(--dim); margin-top:2px; display:flex; gap:10px; flex-wrap:wrap }
.pos-v { color:var(--green) }
.neg-v { color:var(--red) }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:12px; margin-bottom:14px }
.panel h2 { font:600 12px var(--mono); color:var(--dim); letter-spacing:.14em; text-transform:uppercase; margin-bottom:8px }
.codex-info { border-color:#315b59; background:linear-gradient(180deg,#142126,#141b24) }
.farm-info { border-color:#63512f; background:linear-gradient(180deg,#241f16,#141b24) }
.live-info { border-color:#2d6b50; background:linear-gradient(180deg,#12241d,#141b24) }
.live-info .strategy-cards-head { align-items:flex-start }
.live-pool-summary { margin:10px 0 8px; color:#9fb0c2; font:11px var(--mono) }
.live-pool-table { max-height:260px; border:1px solid #274434; border-radius:4px }
.live-pool-table code { color:#8acfac; font:10.5px var(--mono) }
.live-slot-wait { color:var(--amber) }
.live-slot-copy { min-height:27px; padding:4px 8px; font-size:9px }
.live-slot-state { color:var(--amber); font:10px var(--mono) }
.live-slot-state.ok { color:var(--green) }
.live-slot-copy { padding:3px 6px }
#aftMetaTable td:first-child { min-width:210px }
#aftMetaTable td:last-child { max-width:420px; overflow-wrap:anywhere }
.codex-note { margin-bottom:10px; line-height:1.55 }
.codex-results { max-height:310px; border:1px solid #233c43; border-radius:4px }
.codex-results td:first-child { color:var(--amber); font-weight:700 }
.codex-results td:nth-child(2) { color:#a9b9c9; white-space:normal; min-width:235px }
.codex-caveat { margin-top:9px; line-height:1.5 }
.strategy-cards-panel .cards,.favorite-cards { margin-bottom:0 }
.strategy-cards-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px }
.strategy-cards-head h2 { margin-bottom:0 }
.strategy-cards-actions { display:flex; align-items:center; gap:7px }
.favorites-panel { border-color:#4b4331 }
.favorites-panel .strategy-cards-head { margin-bottom:0 }
.favorite-cards { grid-template-columns:repeat(auto-fill,minmax(215px,280px)); justify-content:start; margin-top:10px }
.favorite-empty { color:var(--dim); padding:12px 2px 2px; font:11.5px var(--mono) }
.favorite-toggle {
  position:absolute; top:7px; right:8px; width:25px; height:25px; padding:0;
  border:0; border-radius:4px; background:transparent; color:#647389;
  font:20px/25px system-ui,sans-serif; cursor:pointer; z-index:1;
}
.favorite-toggle:hover { color:var(--amber); background:#e8b34b18 }
.favorite-toggle.selected { color:var(--amber) }
.strategy-detail-link {
  display:inline-flex; align-items:center; margin-top:8px; padding:3px 6px;
  border:1px solid #34516f; border-radius:3px; color:#76afe5;
  background:#102033; font:600 9px var(--mono); text-decoration:none;
}
.strategy-detail-link:hover { color:var(--text); border-color:var(--amber) }
.strategy-live-button {
  display:inline-flex; align-items:center; margin:8px 0 0 5px; padding:3px 6px;
  border:1px solid #67542e; border-radius:3px; color:var(--amber);
  background:#292114; font:600 9px var(--mono); cursor:pointer;
}
.strategy-live-button:hover { border-color:#f0c66f; color:#f4d28d }
.chart-wrap { position:relative; height:340px }
#eqchart { height:340px }
table { width:100%; border-collapse:collapse; font:12.5px var(--mono) }
th { font:600 11px var(--mono); color:var(--dim); text-align:left; letter-spacing:.06em; padding:5px 8px; border-bottom:1px solid var(--line) }
td { padding:4.5px 8px; border-bottom:1px solid #1b2634; white-space:nowrap }
tr:hover td { background:var(--panel2) }
.disabled-row { opacity:.5 }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px }
.tag { font:10.5px var(--mono); border:1px solid var(--line); border-radius:3px; padding:1px 5px; color:var(--dim) }
.rowscroll { max-height:420px; overflow:auto }
.max-copy { max-height:390px }
.max-universe { max-height:330px }
.addr { color:var(--dim) }
.hint { font:11.5px system-ui,sans-serif; color:var(--dim); margin-top:6px }
.empty { color:var(--dim) }
.copy-form { display:grid; grid-template-columns:minmax(300px,2fr) minmax(150px,1fr) auto; gap:8px; align-items:end; margin-bottom:10px }
.copy-field { display:flex; flex-direction:column; gap:4px; color:var(--dim); font:10.5px var(--mono); letter-spacing:.04em }
.copy-field input { width:100%; background:var(--bg); color:var(--txt); border:1px solid var(--line); border-radius:4px; padding:8px 9px; font:12px var(--mono); outline:none }
.btn { appearance:none; border:1px solid #46617f; background:#23364c; color:var(--txt); border-radius:4px; padding:8px 12px; font:600 11px var(--mono); cursor:pointer }
.btn:hover { border-color:var(--amber) }
.btn:disabled { opacity:.55; cursor:wait }
.btn.danger { background:transparent; border-color:#6b3b42; color:#e78a8a; padding:4px 7px }
.btn.start { background:transparent; border-color:#38684f; color:#78cf9e; padding:4px 7px }
.hyperdash-link { padding:4px 7px; background:transparent; border-color:#345e82; color:#78baf2; white-space:nowrap }
.danger-outline { background:transparent; border-color:#6b3b42; color:#e78a8a }
.copy-feedback { min-height:18px; margin-bottom:7px; font:11px var(--mono); color:var(--dim) }
.copy-feedback.ok { color:var(--green) }
.copy-feedback.bad { color:var(--red) }
.copy-status { display:inline-flex; align-items:center; gap:5px; font:10px var(--mono); text-transform:uppercase }
.copy-status::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--green) }
.copy-status.wait::before { background:var(--amber) }
.copy-status.bad::before { background:var(--red) }

dialog { width:min(880px,calc(100% - 30px)); max-height:calc(100vh - 30px); overflow:auto; color:var(--txt); background:var(--panel); border:1px solid #35465c; border-radius:8px; padding:20px; box-shadow:0 28px 100px #000c; margin:auto }
dialog::backdrop { background:#05080dc9; backdrop-filter:blur(3px) }
.settings-head { display:flex; justify-content:space-between; align-items:flex-start }
.settings-head h2 { margin-top:5px; font:600 18px var(--mono) }
.dialog-close { width:32px; height:32px; font-size:22px }
.passkey-register-form { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; margin-top:20px }
.settings-feedback { margin:8px 0 }
dialog h3 { margin:14px 0 8px; color:var(--dim); font:600 11px var(--mono); letter-spacing:.1em; text-transform:uppercase }
.server-monitor { margin-top:18px; padding:14px; border:1px solid var(--line); border-radius:7px; background:#0b111a }
.server-monitor-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:11px }
.server-monitor-head h3 { margin:0 }
.server-health { display:inline-flex; align-items:center; gap:6px; color:var(--green); font:10.5px var(--mono); white-space:nowrap }
.server-health.warn { color:var(--amber) }
.server-health.warn .dot { background:var(--amber) }
.server-health.bad { color:var(--red) }
.server-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
.server-metric { min-width:0; padding:10px; border:1px solid #263445; border-radius:5px; background:var(--panel) }
.server-metric>span { display:block; color:var(--dim); font:600 9.5px var(--mono); letter-spacing:.08em; text-transform:uppercase }
.server-metric>b { display:block; overflow:hidden; margin:5px 0 7px; color:var(--txt); font:600 17px var(--mono); text-overflow:ellipsis; white-space:nowrap }
.server-metric>small { display:block; overflow:hidden; margin-top:6px; color:var(--dim); font:9.5px var(--mono); text-overflow:ellipsis; white-space:nowrap }
.metric-track { position:relative; display:block; height:6px; overflow:hidden; border-radius:4px; background:#182331 }
.metric-track i { position:absolute; inset:0 auto 0 0; width:0; border-radius:4px; background:var(--green); transition:width .35s ease }
.metric-track i.warn { background:var(--amber) }
.metric-track i.bad { background:var(--red) }
.metric-track.dual i:first-child { top:0; bottom:auto; height:3px; background:#4f9dd8 }
.metric-track.dual i:last-child { top:3px; bottom:auto; height:3px; background:#9b7bd6 }
.server-details { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; margin-top:10px; overflow:hidden; border:1px solid #263445; border-radius:5px; background:#263445 }
.server-details>div { min-width:0; padding:8px; background:var(--panel) }
.server-details span,.server-details b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.server-details span { color:var(--dim); font:9px var(--mono) }
.server-details b { margin-top:3px; color:var(--txt); font:10px var(--mono) }
.server-updated { margin-top:8px; color:#68788c; font:9.5px var(--mono); text-align:right }
.security-title { margin-top:19px }
.credential-list { display:grid; gap:7px; min-height:48px }
.credential-row { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; border:1px solid var(--line); border-radius:5px; padding:10px }
.credential-name { font:600 12px var(--mono) }
.credential-meta { color:var(--dim); font:10.5px var(--mono); margin-top:3px }
.settings-footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:18px; padding-top:14px; color:var(--dim); font:11px var(--mono) }
.live-dialog { width:min(980px,calc(100% - 30px)) }
.live-strategy-name { margin-top:4px; color:var(--amber); font:600 12px var(--mono) }
.live-security { margin-top:16px; padding:12px; border:1px solid #4e442c; border-radius:6px; background:#211d14 }
.live-security strong,.live-security code { display:block; font:600 10.5px var(--mono) }
.live-security code { margin-top:4px; color:#e5c272 }
.live-security p { margin-top:6px; color:var(--dim); font-size:12px }
.live-agent,.live-form { margin-top:16px; padding-top:2px; border-top:1px solid var(--line) }
.live-agent-row,.live-agent-actions,.live-address-row { display:flex; align-items:center; gap:8px }
.live-agent-row { justify-content:space-between; padding:10px; border:1px solid var(--line); border-radius:5px; color:var(--dim) }
.live-address-row { margin-top:9px }
.live-address-row code { flex:1; overflow:auto; padding:9px; border:1px solid var(--line); border-radius:4px; color:#9fc5e9; background:var(--bg); font:11px var(--mono) }
.live-agent-actions { flex-wrap:wrap; margin-top:8px }
.link-button { display:inline-flex; text-decoration:none }
.live-approval { color:var(--amber); font:10px var(--mono) }
.live-approval.ok { color:var(--green) }
.live-form-grid { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:9px }
.live-form-grid label { display:grid; gap:5px; color:var(--dim); font:10px var(--mono) }
.live-form-grid input,.live-form-grid select { min-height:36px; border:1px solid var(--line); border-radius:4px; padding:7px 9px; color:var(--txt); background:var(--bg); outline:none }
.live-preview-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:15px }
.live-preview-metrics div { padding:9px; border:1px solid var(--line); border-radius:4px; background:#101720 }
.live-preview-metrics span,.live-preview-metrics b { display:block; font-family:var(--mono) }
.live-preview-metrics span { color:var(--dim); font-size:9px; text-transform:uppercase }
.live-preview-metrics b { margin-top:4px; font-size:13px }
.live-orders { max-height:270px; margin-top:9px; border:1px solid var(--line); border-radius:4px }
.live-warnings { display:grid; gap:4px; margin-top:9px; color:var(--amber); font:10.5px var(--mono) }
.live-confirm-check { display:flex; align-items:flex-start; gap:8px; margin-top:13px; color:var(--dim); font-size:12px }
.live-confirm-check input { margin-top:2px }
.live-launch { width:100%; margin-top:10px; padding:11px; border-color:#8a6a2d; background:#4b381b }

.card.color-c0 { border-left-color:#e05c5c }.color-text-c0 { color:#e05c5c }
.card.color-c1 { border-left-color:#e8963b }.color-text-c1 { color:#e8963b }
.card.color-c2 { border-left-color:#9b7bd6 }.color-text-c2 { color:#9b7bd6 }
.card.color-c3 { border-left-color:#3fb97c }.color-text-c3 { color:#3fb97c }
.card.color-c4 { border-left-color:#4f9dd8 }.color-text-c4 { color:#4f9dd8 }
.card.color-c5 { border-left-color:#b07a52 }.color-text-c5 { color:#b07a52 }
.card.color-c6 { border-left-color:#d86fae }.color-text-c6 { color:#d86fae }
.card.color-c7 { border-left-color:#c96a6a }.color-text-c7 { color:#c96a6a }
.card.color-c8 { border-left-color:#5cc98f }.color-text-c8 { color:#5cc98f }
.card.color-c9 { border-left-color:#5b8fd6 }.color-text-c9 { color:#5b8fd6 }
.card.color-c10 { border-left-color:#c99a4a }.color-text-c10 { color:#c99a4a }
.card.color-c11 { border-left-color:#4ec9b0 }.color-text-c11 { color:#4ec9b0 }
.card.color-c12 { border-left-color:#d47fd5 }.color-text-c12 { color:#d47fd5 }
.card.color-c13 { border-left-color:#6ea8fe }.color-text-c13 { color:#6ea8fe }
.card.color-c14 { border-left-color:#7fc8a9 }.color-text-c14 { color:#7fc8a9 }
.card.color-c15 { border-left-color:#f08a7e }.color-text-c15 { color:#f08a7e }
.card.color-c16 { border-left-color:#8ac7e8 }.color-text-c16 { color:#8ac7e8 }
.card.color-c17 { border-left-color:#d6a56f }.color-text-c17 { color:#d6a56f }
.card.color-c18 { border-left-color:#a8d46f }.color-text-c18 { color:#a8d46f }
.card.color-c19 { border-left-color:#e87979 }.color-text-c19 { color:#e87979 }
.card.color-c20 { border-left-color:#7d9ee8 }.color-text-c20 { color:#7d9ee8 }
.card.color-c21 { border-left-color:#c98edb }.color-text-c21 { color:#c98edb }
.card.color-c22 { border-left-color:#66c2b5 }.color-text-c22 { color:#66c2b5 }
.card.color-c23 { border-left-color:#d8c35f }.color-text-c23 { color:#d8c35f }
.card.color-c24 { border-left-color:#ff8f70 }.color-text-c24 { color:#ff8f70 }
.card.color-c25 { border-left-color:#58d0c1 }.color-text-c25 { color:#58d0c1 }
.card.color-c26 { border-left-color:#a990f5 }.color-text-c26 { color:#a990f5 }
.card.color-c27 { border-left-color:#f1c75b }.color-text-c27 { color:#f1c75b }
.card.color-c28 { border-left-color:#56a8e8 }.color-text-c28 { color:#56a8e8 }
.card.color-c29 { border-left-color:#d97fb1 }.color-text-c29 { color:#d97fb1 }
.card.color-c30 { border-left-color:#83c86f }.color-text-c30 { color:#83c86f }
.card.color-c31 { border-left-color:#ee8a9a }.color-text-c31 { color:#ee8a9a }
.card.color-c32 { border-left-color:#78b8a3 }.color-text-c32 { color:#78b8a3 }
.card.color-c33 { border-left-color:#c6a1e8 }.color-text-c33 { color:#c6a1e8 }

@media(max-width:1100px) { .grid2 { grid-template-columns:1fr } }
@media(max-width:950px) { .copy-form { grid-template-columns:1fr 1fr }.copy-field.address { grid-column:1/-1 } }
@media(max-width:820px) { .server-details { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media(max-width:700px) {
  body { padding:10px }
  .bar { display:block }
  .bar-actions { margin-top:8px; justify-content:space-between; align-items:flex-start }
  .tabs { overflow:auto }
  .tab { white-space:nowrap }
  .strategy-cards-head { align-items:flex-start; flex-direction:column }
  .strategy-cards-actions { width:100%; flex-wrap:wrap }
  .favorite-cards { grid-template-columns:1fr }
  .copy-form,.passkey-register-form { grid-template-columns:1fr }
  .copy-field.address { grid-column:auto }
  .auth-shell { padding:8px }
  .auth-card { padding:22px }
  .settings-footer { align-items:flex-start; gap:12px; flex-direction:column }
  .server-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .live-form-grid,.live-preview-metrics { grid-template-columns:1fr }
}
@media(max-width:460px) { .server-metric-grid,.server-details { grid-template-columns:1fr } }
