body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; background: #0b0c10; color: #eaeaea; }
a { color: #9ad; text-decoration: none; }
a:hover { text-decoration: underline; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:#10121a; border-bottom:1px solid #222; position:sticky; top:0; }
.brand { font-weight:700; letter-spacing:0.4px; }
.nav a { margin-left: 14px; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 18px; }
.sub { opacity: 0.85; }
.grid2 { display:grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.card { background:#111524; border:1px solid #222a44; border-radius: 16px; padding: 14px; }
.meta { opacity: 0.85; font-size: 14px; margin-bottom: 8px; }
.mol svg { width: 100%; height: auto; background: #0f1320; border-radius: 12px; }
.btn { width: 100%; margin-top: 10px; padding: 12px; font-weight: 700; border-radius: 12px; border: 0; cursor: pointer; background: #3a78ff; color: white; }
.btn:hover { filter: brightness(1.1); }
.warn { background:#2a1b1b; border:1px solid #5a2a2a; padding:10px; border-radius:12px; }
.plot { background:#0f1320; border:1px solid #222a44; border-radius: 16px; padding: 10px; }
.table table { width:100%; border-collapse: collapse; background:#0f1320; }
.table th, .table td { border:1px solid #222a44; padding:8px; }
.foot { margin-top: 14px; opacity: 0.9; }
@media (max-width: 900px) { .grid2 { grid-template-columns: 1fr; } }
.molbtn {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 12px;
}

.molbtn svg {
  width: 100%;
  height: auto;
  display: block;
  background: #0f1320;
  border-radius: 12px;
  border: 1px solid #222a44;
}

.molbtn:focus-visible svg {
  outline: 3px solid #3a78ff;
  outline-offset: 3px;
}

.molbtn:hover svg {
  filter: brightness(1.06);
}
.app-footer {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 12px;
  font-size: 12px;
  color: #777;
  background: rgba(255, 255, 255, 0.85);
  text-align: center;
  z-index: 1000;
  border-radius: 6px 6px 0 0;
}

.stats{
  color:#1f4ed8;   /* bleu élégant */
  font-weight:600;
}
