*{box-sizing:border-box}
body{
  margin:0;
  font-family:"Segoe UI","Microsoft JhengHei",sans-serif;
  background:radial-gradient(circle at top,#182436,#0d1118 55%);
  color:#eef5ff;
}
.shell{
  max-width:1100px;
  margin:0 auto;
  padding:28px 20px 40px;
  display:grid;
  gap:18px;
}
.card{
  background:linear-gradient(180deg,#1a2331,#101722);
  border:1px solid #28384d;
  border-radius:18px;
  padding:20px;
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}
.hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.badge-group{
  display:grid;
  gap:8px;
}
.eyebrow{
  margin:0 0 8px;
  color:#7ae0ff;
  font-size:12px;
  letter-spacing:.16em;
}
h1,h2{
  margin:0 0 8px;
  color:#90e1ff;
}
.muted,.status{
  margin:0;
  color:#9bb4d1;
}
.version-line{
  margin:0 0 6px;
  color:#b8cae3;
  font-size:13px;
}
.version-line strong{
  color:#7ae0ff;
  font-weight:700;
}
.console-hint{
  margin-top:14px;
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:14px;
  border:1px solid #36c7f5;
  background:linear-gradient(135deg,rgba(34,175,244,.16),rgba(116,225,255,.06));
  color:#dff7ff;
}
.console-hint strong{
  color:#7ae0ff;
  font-size:16px;
}
.console-hint span{
  color:#c3d9ef;
  line-height:1.55;
}
.console-hint button{
  justify-self:start;
}
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.options-row{
  align-items:center;
}
.inline-head{
  margin-top:16px;
}
.check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #30445d;
  background:#0b1017;
  color:#c3d9ef;
}
.check input{
  width:auto;
  margin:0;
}
.font-size-box{
  display:grid;
  gap:8px;
  min-width:180px;
}
.font-size-box span{
  color:#9bb4d1;
  font-size:13px;
}
.field-hint{
  color:#8ea6c1;
  font-size:12px;
  line-height:1.4;
}
input,select{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #30445d;
  background:#0b1017;
  color:#edf5ff;
  outline:none;
}
button{
  padding:11px 16px;
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg,#22aff4,#74e1ff);
  color:#081019;
  font-weight:700;
  cursor:pointer;
}
button.ghost{
  background:#111826;
  color:#b6d8f3;
  border:1px solid #2f4157;
}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.badge-chip{
  padding:8px 14px;
  border-radius:999px;
  font-weight:700;
  background:#1a2432;
  border:1px solid #314760;
  color:#b7d9f6;
}
.badge-chip.online{
  background:rgba(46,143,102,.15);
  color:#8af0b0;
  border-color:#2e8f66;
}
.badge-chip.offline{
  background:rgba(255,184,77,.12);
  color:#ffce7b;
  border-color:#8a6730;
}
.info-list{
  display:grid;
  gap:10px;
}
.info-list div{
  padding:12px 14px;
  border-radius:12px;
  background:#0d131c;
  border:1px solid #223245;
}
.info-list span{
  display:block;
  margin-bottom:6px;
  color:#8ea6c1;
  font-size:12px;
}
.info-list strong{
  color:#eef5ff;
  word-break:break-word;
}
.log-list{
  display:grid;
  gap:10px;
}
.log-card{
  border:1px solid #263548;
  background:#0d131c;
  border-radius:14px;
  padding:14px;
  display:grid;
  gap:8px;
}
.log-card.error{border-color:#b94a48}
.log-card.info{border-color:#2d7aa5}
.log-card.warn{border-color:#8a6730}
.log-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#9db5ce;
  font-size:12px;
}
.log-message{
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.45;
}
.empty{
  padding:24px;
  text-align:center;
  color:#8ca3bd;
  border:1px dashed #2a3c50;
  border-radius:14px;
}
@media (max-width: 860px){
  .grid,.two-col{grid-template-columns:1fr}
  .hero{flex-direction:column}
}
