.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border:1px solid var(--glass-border);
  border-radius:24px;
  box-shadow:var(--glass-shadow);
  position:relative;
  overflow:hidden;
}
.glass::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.4) 0%,rgba(255,255,255,0) 50%);
  pointer-events:none;border-radius:inherit;
}

.glass--strong{
  background:var(--glass-bg-strong);
  --glass-blur:28px;
}

.glass--dark{
  background:rgba(10,10,10,0.75);
  border-color:rgba(255,255,255,0.1);
  color:#fff;
}
.glass--dark::before{
  background:linear-gradient(135deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0) 50%);
}

.glass--subtle{
  background:rgba(255,255,255,0.5);
  --glass-blur:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.06);
}

.glass--pill{
  border-radius:100px;
  padding:8px 20px;
  font-size:0.875rem;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.glass-edge{
  position:relative;
}
.glass-edge::after{
  content:'';position:absolute;inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,0.6),rgba(255,255,255,0.1),rgba(255,255,255,0.3));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.glass-breathe{
  animation:glassBreathe 8s var(--ease-smooth) infinite;
}

.glass-tilt{
  transition:transform 0.4s var(--ease-out);
  transform-style:preserve-3d;
  perspective:800px;
}

.glass-hover{
  transition:transform 0.3s var(--ease-out),box-shadow 0.3s var(--ease-out);
}
.glass-hover:hover{
  transform:translateY(-4px);
  box-shadow:0 2px 4px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.1),0 24px 64px rgba(0,0,0,.14);
}

.bg-substrate{
  position:fixed;inset:0;z-index:-1;overflow:hidden;
  background:#FFFFFF;
}
.bg-substrate__blob{display:none}
