:root{
  --bg:#0F1014;
  --panel: rgba(255,255,255,.06);
  --panel2: rgba(255,255,255,.045);
  --stroke: rgba(255,255,255,.10);
  --text: rgba(255,255,255,.95);
  --sub: rgba(255,255,255,.62);
  --good:#35D674;
  --bad:#FF5C7A;
  --r: 18px;
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --shadow2: 0 10px 28px rgba(0,0,0,.35);
  --mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(900px 600px at 10% 10%, rgba(89,168,255,.22), transparent 60%),
    radial-gradient(900px 700px at 85% 15%, rgba(53,214,116,.14), transparent 60%),
    linear-gradient(180deg, #0b0c10, var(--bg));
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  overflow-x:hidden;
}
.wrap{max-width:1180px;margin:0 auto;padding:14px 12px 26px;}
.nav{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 6px 12px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.left{display:flex;align-items:center;gap:10px;min-width:0;}
.appicon{
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(89,168,255,.42), rgba(53,214,116,.16));
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.title{font-weight:900;font-size:17px;line-height:1.1}
.sub{color:var(--sub);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.20);
  color:var(--sub);
  font-size:12px;
}
.dot{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.25);box-shadow:0 0 0 4px rgba(255,255,255,.06);}
.dot.good{background:var(--good);box-shadow:0 0 0 4px rgba(53,214,116,.12);}
.dot.bad{background:var(--bad);box-shadow:0 0 0 4px rgba(255,92,122,.12);}
.grid{display:grid;grid-template-columns:360px 1fr;gap:14px;}
@media (max-width:980px){.grid{grid-template-columns:1fr}}
.card{
  background: linear-gradient(180deg, var(--panel), var(--panel2));
  border:1px solid var(--stroke);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding:12px;
}
.section-h{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 4px 10px;}
.section-h .t{font-weight:900}
.section-h .s{color:var(--sub);font-size:12px}
.group{
  border-radius: var(--r);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
}
.row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 12px;border-top:1px solid rgba(255,255,255,.08);
  cursor:pointer;
}
.row:first-child{border-top:none}
.row:hover{background:rgba(255,255,255,.03)}
.row.active{background:rgba(53,214,116,.06)}
.row .main{min-width:0}
.row .name{font-weight:900}
.row .meta{
  margin-top:4px;font-family:var(--mono);color:var(--sub);font-size:12px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width: 240px;
}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(89,168,255,.16);
  color:var(--text);font-weight:900;cursor:pointer;user-select:none;
  box-shadow: 0 12px 28px rgba(0,0,0,.20);
}
.btn:hover{background:rgba(89,168,255,.22);border-color:rgba(89,168,255,.36)}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn.ghost{background:rgba(255,255,255,.06);box-shadow:none}
.btn.danger{background:rgba(255,92,122,.14);border-color:rgba(255,92,122,.18)}
.btn.danger:hover{background:rgba(255,92,122,.20);border-color:rgba(255,92,122,.34)}
.btn.glow{background:linear-gradient(135deg, rgba(53,214,116,.22), rgba(89,168,255,.18))}
.input{
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding:11px 12px;color:var(--text);outline:none;
  width:100%;
}
.input::placeholder{color:rgba(255,255,255,.38)}
.input:focus{border-color: rgba(89,168,255,.55);box-shadow: 0 0 0 4px rgba(89,168,255,.12);}
.panel{
  border-radius: var(--r);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  padding:12px;
}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.panel-h .t{font-weight:900;color:var(--sub);font-size:12px}
.pre{
  margin:0;background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding:10px;font-family: var(--mono);font-size:12px;line-height:1.55;
  white-space: pre-wrap;word-break: break-word;max-height: 420px;overflow:auto;
}
.hint{
  padding:9px 10px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color:var(--sub);
  font-size:12px;
}