:root{--bg0:#0b0f18;--bg1:#0e1423;--card:rgba(255,255,255,.06);--stroke:rgba(255,255,255,.10);--text:#e9edf7;--muted:rgba(233,237,247,.65);--accent1:#ff6aa2;--accent2:#8b5cf6;--radius:18px;--shadow:0 18px 60px rgba(0,0,0,.45)}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(900px 500px at 10% 85%, rgba(255,106,162,.18), transparent 60%),radial-gradient(900px 520px at 95% 15%, rgba(139,92,246,.18), transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));min-height:100vh}
.wrap{max-width:1100px;margin:0 auto;padding:22px 16px 60px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:22px;background:rgba(255,255,255,.03);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.brand img{width:34px;height:34px;border-radius:10px;object-fit:contain;background:rgba(255,255,255,.06);padding:6px;border:1px solid var(--stroke)}
.actions{display:flex;gap:10px;align-items:center}
.pill{display:flex;gap:8px;align-items:center;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--stroke);color:var(--muted);font-size:13px}
.dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--accent1),var(--accent2));box-shadow:0 0 0 6px rgba(139,92,246,.12)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(12,1fr);margin-top:18px}
.card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.card.pad{padding:16px}
.mini{grid-column:span 3;min-height:92px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.mini .k{font-size:12px;color:var(--muted)}
.mini .v{font-size:16px;font-weight:750;word-break:break-word}
.tag{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;border:1px solid var(--stroke);background:rgba(255,255,255,.04);font-size:12px;color:var(--muted);width:max-content}
.section{margin-top:26px;display:grid;gap:14px}
.search-layout{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}
.search-layout input{width:100%;margin-top:8px;padding:12px;border-radius:12px;border:1px solid var(--stroke);background:rgba(0,0,0,.2);color:var(--text)}
.h0{margin:0 0 6px}.p0{margin:0;color:var(--muted)}
.btn,.btn:visited{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg, rgba(139,92,246,.95), rgba(255,106,162,.90));color:white;font-weight:800;cursor:pointer;text-decoration:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button.btn{appearance:none;-webkit-appearance:none}
.btn.secondary{background:rgba(255,255,255,.06);color:var(--text);font-weight:750}
.big-card{grid-column:span 12}
.big-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.big-title{font-size:18px;font-weight:900}
.big-sub{color:var(--muted);margin-top:4px;font-size:13px}
.status-pill{padding:8px 10px;border-radius:999px;border:1px solid var(--stroke);background:rgba(255,255,255,.04);font-size:12px;font-weight:800;color:var(--muted)}
.status-pill.on{color:rgba(34,197,94,.95);border-color:rgba(34,197,94,.25)}
.status-pill.off{color:rgba(245,158,11,.95);border-color:rgba(245,158,11,.25)}
.sub-box{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.12);flex-wrap:wrap}
.sub-url{font-weight:800;word-break:break-all}
.sub-actions{display:flex;gap:10px;flex-wrap:wrap}
.sub-actions .btn{padding:10px 12px;border-radius:12px}
.import-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.import-card{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03)}
.import-title{font-weight:900}
.import-sub{color:var(--muted);font-size:13px;margin-top:4px}
.import-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.import-actions .btn{padding:10px 12px;border-radius:12px}
.dl-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.dl-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.16);color:var(--text);text-decoration:none;font-weight:800;font-size:13px}
.dl-btn:hover{background:rgba(255,255,255,.06)}
.footer{margin-top:18px;color:var(--muted)}.footer a{color:#fff}
#copy-alert,#error-alert{position:fixed;right:16px;bottom:16px;padding:10px 14px;border-radius:10px;background:rgba(20,20,20,.92);border:1px solid var(--stroke);display:none;z-index:1000}
#error-alert{bottom:60px}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;z-index:2000}
.modal{position:fixed;inset:0;display:none;z-index:2001;align-items:center;justify-content:center;padding:16px}
.modal .box{width:min(520px,100%);background:rgba(15,18,30,.92);border:1px solid var(--stroke);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.6);backdrop-filter:blur(12px);padding:16px}
.modal .head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.modal .head h3{margin:0;font-size:16px}
.modal .close{width:auto;padding:10px 12px;border-radius:12px}
.modal .content{margin-top:12px}
.hint{margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:var(--muted);font-size:13px;line-height:1.45}
.hint-top{margin-top:10px}
.qr-wrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.qr-frame{width:260px;height:260px;display:flex;align-items:center;justify-content:center;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:url("/cxbot/settings/QRCode.jpg") center/cover no-repeat, #0b1e53;overflow:hidden}
.qr-wrap img{width:210px;height:210px;object-fit:contain;border-radius:10px;background:#fff;padding:8px;box-sizing:border-box}
.qr-side{flex:1;min-width:220px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;word-break:break-all;font-size:12px;color:rgba(233,237,247,.85);background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:12px;max-height:220px;overflow:auto}
.mono-top{margin-top:10px}
.row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
@media (max-width:1020px){.mini{grid-column:span 6}}
@media (max-width:720px){.mini{grid-column:span 12}.search-layout{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:10px}.import-row{grid-template-columns:1fr}}

/* v9 additions */
.s-dot{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:8px;vertical-align:middle;
  box-shadow: 0 0 0 6px rgba(255,255,255,.04);}
.s-dot.on{background:#22c55e; box-shadow:0 0 10px rgba(34,197,94,.65), 0 0 0 6px rgba(34,197,94,.12);}
.s-dot.off{background:#ef4444; box-shadow:0 0 10px rgba(239,68,68,.55), 0 0 0 6px rgba(239,68,68,.12);}
.mini-sub .sub-mini-url{font-size:13px;font-weight:800;line-height:1.25;max-height:3.2em;overflow:hidden;text-overflow:ellipsis;}
.mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.btn.sm{padding:8px 10px;border-radius:12px;font-size:12px}

/* v11 support card */
.mini-support .v{font-size:16px;font-weight:850}
.support-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.support-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.16);
  color: rgba(233,237,247,.85);
  font-weight:800;
  font-size:12px;
}

/* v12 visual polish */
.topbar,.card{backdrop-filter:blur(14px)}
.btn{transition:transform .15s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(139,92,246,.28)}
.state-note{margin:10px 0 14px;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:600;border:1px solid transparent}
.state-note.ok{color:#86efac;background:rgba(34,197,94,.09);border-color:rgba(34,197,94,.26)}
.state-note.warn{color:#fcd34d;background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.30)}


/* theme switch + 4 visual variants */
.actions{flex-wrap:wrap;justify-content:flex-end}
.theme-switch{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;border:1px solid var(--stroke);background:rgba(255,255,255,.04)}
.theme-label{font-size:12px;color:var(--muted);margin-right:2px}
.theme-btn{appearance:none;border:1px solid var(--stroke);background:rgba(0,0,0,.2);color:var(--text);width:28px;height:28px;border-radius:999px;cursor:pointer;font-weight:800}
.theme-btn.is-active{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;border-color:transparent}

body.theme-midnight{--bg0:#020617;--bg1:#0b1120;--card:rgba(15,23,42,.62);--stroke:rgba(148,163,184,.25);--text:#e2e8f0;--muted:rgba(226,232,240,.68);--accent1:#22d3ee;--accent2:#3b82f6}
body.theme-midnight .card,body.theme-midnight .topbar{border-radius:14px;box-shadow:0 10px 30px rgba(2,6,23,.45)}
body.theme-midnight .btn{border-radius:10px}

body.theme-sunrise{--bg0:#fff7ed;--bg1:#ffedd5;--card:rgba(255,255,255,.78);--stroke:rgba(251,146,60,.35);--text:#7c2d12;--muted:rgba(124,45,18,.7);--accent1:#f97316;--accent2:#fb7185;--shadow:0 18px 40px rgba(194,65,12,.16)}
body.theme-sunrise{background:radial-gradient(900px 500px at 10% 85%, rgba(251,146,60,.20), transparent 60%),radial-gradient(900px 520px at 95% 15%, rgba(244,114,182,.20), transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1))}
body.theme-sunrise .btn.secondary,body.theme-sunrise .dl-btn{background:rgba(255,255,255,.7)}
body.theme-sunrise .sub-box,body.theme-sunrise .import-card{background:rgba(255,255,255,.6)}

body.theme-mono{--bg0:#0a0a0a;--bg1:#121212;--card:rgba(255,255,255,.04);--stroke:rgba(255,255,255,.18);--text:#f5f5f5;--muted:rgba(245,245,245,.58);--accent1:#a3a3a3;--accent2:#fafafa}
body.theme-mono{background:linear-gradient(180deg,var(--bg0),var(--bg1))}
body.theme-mono .topbar,body.theme-mono .card{backdrop-filter:none}
body.theme-mono .btn{background:linear-gradient(135deg,#404040,#9ca3af)}
body.theme-mono .btn.secondary,body.theme-mono .dl-btn{background:rgba(255,255,255,.03)}

@media (max-width:720px){.theme-switch{width:100%;justify-content:center}}


/* v13 mini cards alignment */
.grid{
  align-items:stretch;
}

.card.mini{
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:0;
  padding:18px 18px 16px;
  border-radius:22px;
}

.mini-top{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.card.mini .k{
  min-height:20px;
  font-size:14px;
  line-height:1.2;
  color:var(--muted);
}

.card.mini .v{
  min-height:44px;
  display:flex;
  align-items:center;
  font-size:32px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.02em;
  word-break:break-word;
}

.card.mini .mini-meta{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.card.mini .mini-meta-col{
  flex-direction:column;
  align-items:flex-start;
}

.card.mini .tag{
  margin:0 !important;
}

.traffic-value{
  gap:8px;
}

.mini-support .v{
  font-size:28px;
  line-height:1.12;
}

.support-meta{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.support-badge,
.card.mini .tag{
  white-space:nowrap;
}

.btn.sm{
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
}

@media (max-width:1020px){
  .card.mini .v{
    font-size:28px;
  }

  .mini-support .v{
    font-size:24px;
  }
}

@media (max-width:720px){
  .card.mini{
    min-height:auto;
  }

  .card.mini .v{
    min-height:auto;
    font-size:26px;
  }

  .mini-support .v{
    font-size:22px;
  }

  .support-meta{
    align-items:flex-start;
  }
}


/* v14 mini cards typography tune */
.card.mini{
  min-height:148px;
  padding:18px 18px 16px;
}

.mini-top{
  gap:10px;
}

.card.mini .k{
  min-height:auto;
  font-size:13px;
  line-height:1.2;
}

.card.mini .v{
  min-height:36px;
  font-size:clamp(20px, 1.7vw, 26px);
  line-height:1.12;
  font-weight:780;
  letter-spacing:-0.015em;
}

.mini-support .v{
  font-size:clamp(18px, 1.55vw, 22px);
  line-height:1.14;
}

.card.mini .mini-meta{
  margin-top:14px;
  gap:7px;
}

.card.mini .mini-meta-col{
  gap:7px;
}

.card.mini .tag,
.support-badge{
  font-size:11.5px;
  padding:4px 10px;
}

.btn.sm{
  min-height:32px;
  padding:0 12px;
  font-size:12px;
}

.support-meta{
  gap:8px;
}

@media (max-width:1020px){
  .card.mini .v{
    font-size:24px;
  }

  .mini-support .v{
    font-size:20px;
  }
}

@media (max-width:720px){
  .card.mini .v{
    font-size:22px;
  }

  .mini-support .v{
    font-size:20px;
  }
}